Hai Duffy Duck,
ersteinmal: "Herzlich Willkommen in der Delphi-PRAXIS.
Zitat von
Duffy Duck:
...Ist mein vorhaben überhaupt möglich?....
Vieles ist möglich
Und in diesem Fall auch recht einfach.
Hier mal ein Beispiel. Du brauchst dafür 4 Editfelder und einen Button:
Delphi-Quellcode:
{
In den Editfelder werden nur Zahlen, das Dezimaltrennzeichen
und die Backspace-Taste zugelassen
}
procedure TForm1.AllEditKeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9', #8, DecimalSeparator]) then
begin
Key := #0;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
// Allen drei Eingabefeldern wir die selbe OnKeyPress-Methode zugewiesen
Edit1.OnKeyPress := AllEditKeyPress;
Edit2.OnKeyPress := AllEditKeyPress;
Edit3.OnKeyPress := AllEditKeyPress;
// Alle Editfelder löschen
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
zahl1,
zahl2,
zahl3 : Real;
ergebniss : Real;
begin
// Prüfen ob in den Editfeldern etwas steht.
if (Edit1.Text = '') then
begin
ShowMessage ('Bitte im Edit1 etwas eingeben');
Edit1.SetFocus; // Caret in Edit1 setzen
Exit; // Abbruch der Procedure
end;
if (Edit2.Text = '') then
begin
ShowMessage ('Bitte im Edit2 etwas eingeben');
Edit2.SetFocus;
Exit;
end;
if (Edit3.Text = '') then
begin
ShowMessage ('Bitte im Edit3 etwas eingeben');
Edit3.SetFocus;
Exit;
end;
zahl1 := StrToFloat(Edit1.Text); // Zahl aus Edit1
zahl2 := StrToFloat(Edit2.Text); // Zahl aus Edit2
zahl3 := StrToFloat(Edit3.Text); // Zahl aus Edit3
ergebniss := (zahl1 + zahl2) / zahl3; // Die Berechnung
Edit4.Text := FloatToStr(ergebniss); // Ausgabe des Ergebnisses
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"