====== 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 =====
{{media>/INF/Visual_C++/7BI/04Bibliothek/Screenshot.PNG|BMI(Bibliothek) Screenshot}}
===== Lösung =====
==== Unit.cpp ====
//---------------------------------------------------------------------------
#include
#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
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 =====
{{media>/INF/Visual_C++/7BI/04Bibliothek.zip|04Bibliothek.zip}}