Hey Jungs, jetzt habe ich fast alles geschafft, nur noch ein paar Kleinigkeiten fehlen.
Die Idee ist folgende:
Immer wenn ein OnChange bei einem Edit eintritt, wird die Variable i auf 1,2 oder 3 gesetzt, je nachdem welches Edit Feld geändert wurde. Eigentlich genial einfach, nicht wahr?
Nun habe ich noch ein paar Probleme, irgendwie ist die variable nicht richtig deklariert, jedefalls meckert der Debugger immer rum und sagt mir "Value Assigned to i never used".
Dann bekomme ich irgendwie keine if then else anweisung hin. Die benötige ich aber, sonst würde ja die Schleife wieder mehrmals durchlaufen, weil sich die Felder ja verändern, sobald Erebnisse eingetragen werden.
Und zu guter Letzt habe ich Problem mit der Fahrenheit Rechnung wenn ich das so eintrage wie ich das jetzt gemacht habe, also mit den -32 dann mäckert der debugger und sagt "Incobatible Types : "String" and "Integer"" Ist ja auch logisch, nur wie kann ich das beheben.
Anbei noch der Code, ich hoffe ihr könnt mir auch noch bei den letzten Fragen helfen,
Vielen, vielen Dank!
Delphi-Quellcode:
procedure TForm1.celChange(Sender: TObject);
var i: integer;
begin
i:=1
end;
procedure TForm1.reaChange(Sender: TObject);
var i: integer;
begin
i:=2
end;
procedure TForm1.fahChange(Sender: TObject);
var i: integer;
begin
i:=3
end;
procedure TForm1.UmrechnenClick(Sender: TObject);
var i: integer ;
begin
if i=1 then
rea.Text := FloatToStr( round (StrToFloat(cel.Text) * 0.8)) ;
fah.Text := FloatToStr( round (StrToFloat(cel.Text) * 1.8 + 32));
if i=2 then
cel.Text := FloatToStr( round (StrToFloat(rea.Text) * 1.25)) ;
fah.Text := FloatToStr( round (StrToFloat(rea.Text) * 2.25 + 32)) ;
if i=3 then
cel.Text := FloatToStr( round (StrToFloat(fah.Text-32) * 5 div 9));
rea.Text := FloatToStr( round (StrToFloat(fah.Text-32) * 4 div 9))
end;
end.