Erstellen einer eigenen Bibliothek- Beispiel

Angabe

In diesem Visual C + + Programm lernen Sie das Erstellen und Verwenden eigener Funktionen innerhalb von Bibliotheken - sprich Header (.h) und Quellcode-Dateien (.cpp).

Screenshot

BMI(Bibliothek) Screenshot

Lösung

Unit.cpp

//---------------------------------------------------------------------------
 
#include <vcl.h>
 
#pragma hdrstop
 
#include "MyTools.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
	float bmi=0.0, gewicht=0.0, groesse=0.0;
	//BMI=Gewicht/(Größe^2)
 
	if(Edit1->Text.Length()>0 && Edit2->Text.Length()>0)
	{
		groesse=StrToFloat(Edit1->Text);
		gewicht=StrToFloat(Edit2->Text);
 
		if(RadioButton1->Checked) 		//weiblich
		{
			if(groesse!=0)
			{
				bmi=gewicht/(groesse*groesse);
				ShowMessage("Ihr BMI ist " + FloatToStr(bmi));
				if(bmi>=40)
					ShowMessage("Sie haben starke Adipositas!");
				else if(bmi>=31)
					ShowMessage("Sie haben Adipositas!");
				else if(bmi>=25)
					ShowMessage("Sie haben Übergewicht!");
				else if(bmi>=19)
					ShowMessage("Sie haben Normalgewicht!");
				else if(bmi<19)
					ShowMessage("Sie haben Untergewicht!");
 
			}
			else
			{
				ShowMessage("Geben Sie eine gültige Groesse ein!");
			}
		}
		else if (RadioButton2->Checked)           //männlich
		{
			 if(groesse!=0)
			{
				bmi=gewicht/(groesse*groesse);
				ShowMessage("Ihr BMI ist " + FloatToStr(bmi));
				if(bmi>=40)
					ShowMessage("Sie haben starke Adipositas!");
				else if(bmi>=31)
					ShowMessage("Sie haben Adipositas!");
				else if(bmi>=26)
					ShowMessage("Sie haben Übergewicht!");
				else if(bmi>=20)
					ShowMessage("Sie haben Normalgewicht!");
				else if(bmi<20)
					ShowMessage("Sie haben Untergewicht!");
 
			}
			else
			{
				ShowMessage("Geben Sie eine gültige Groesse ein!");
			}
		}
		else
		{
			ShowMessage("Es wurde kein Radiobutton gedrückt!");
		}
	}
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, System::WideChar &Key)
{
 
	checkFloatInput(Edit1, Key);
}
//---------------------------------------------------------------------------

MyTools.h

void checkFloatInput(System::WideChar &Key, TEdit *Eingabefeld);

MyTools.cpp

#include <vcl.h>
 
void checkFloatInput(System::WideChar &Key, TEdit *Eingabefeld)
{
	//int(Key)>=AsciiWertvon 0
	if((Key>='0' && Key<='9') || (int)Key==8 || Key==',')
	{
		//Eingabe ist ok
		if(Key==',')
		{
			if(Eingabefeld->Text.Pos(Key)>0)
			{
				Key=0;
			}
		}
	}
	else
	{
		Key=0;
	}
}

Download

04Bibliothek.zip