Hi leute,
ich stehe vor einen Problem bzw. einem Denkfehler. Ich habe 3 Edit Felder. Wenn man auf einen Button klickt, sollen die Werte von 2 Edit Felder berechnet werden - dabei wird das 3te Edit deaktiviert - man kann also immer nur in 2 Edits eine Eingabe machen, egal in welche die zahlen eingetippt werden.
Es sollen sich in mindestens 2 Edits Werte befinden, ansonsten kommt ein Hinweis.
Das Problem sieht folgendermaßen aus:
Ein Edit auf den Inhalt zu Prüfen ist ja nicht schwer. Doch wie mache ich das mit mehreren Feldern?
Mein Code sieht folgendermaßen aus: (Hab nur etwas rumprobiert, also bitte nicht wundern
)
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var Strom, Spannung, Widerstand: integer;
begin
if Edit1.Text = '' then
if Edit2.Text = '' then
MessageDlg('Bitte geben sie mindestens 2 Werte an!',mtInformation, [mbYes], 0)
else begin
if Edit1.GetTextLen >= 1 then
if Edit2.GetTextLen >= 1 then
Spannung := StrToInt(Edit1.Text);
Strom := StrToInt(Edit2.Text);
Ergebnis.Caption := FloatToStr(StrToFloat(Edit1.Text) / StrToFloat(Edit2.Text));
end
else
if Edit1.Text = '' then
if Edit3.Text = '' then
MessageDlg('Bitte geben sie mindestens 2 Werte an!',mtInformation, [mbYes], 0)
else begin
if Edit1.GetTextLen >= 1 then
if Edit3.GetTextLen >= 1 then
Spannung := StrToInt(Edit1.Text);
Widerstand := StrToInt(Edit3.Text);
Ergebnis.Caption := FloatToStr(StrToFloat(Edit1.Text) / StrToFloat(Edit3.Text));
end
else
if Edit2.Text = '' then
if Edit3.Text = '' then
MessageDlg('Bitte geben sie mindestens 2 Werte an!',mtInformation, [mbYes], 0)
else begin
if Edit2.GetTextLen >= 1 then
if Edit3.GetTextLen >= 1 then
Strom := StrToInt(Edit2.Text);
Widerstand := StrToInt(Edit3.Text);
Ergebnis.Caption := FloatToStr(StrToFloat(Edit2.Text) * StrToFloat(Edit3.Text));
end
end;
Ich wäre euch dankbar wenn ihr mir helfen könntet.
mfg