Die Differenzen liegen nicht am fehlendem else sondern an fehlenden begin..ends
Wenn du nicht jedem if then sagst wo sie anfängt und endet, nimmt der Compiler nur die erste Zeile danach.
Ein else kannst du trotzdem reinbringen ist sogra besser in dem Fall.
Delphi-Quellcode:
procedure TForm1.UmrechnenClick(Sender: TObject);
begin
if Auswahl=1 then
begin
rea.Text := FloatToStr( round (StrToFloat(cel.Text) * 0.8)) ;
fah.Text := FloatToStr( round (StrToFloat(cel.Text) * 1.8 + 32))
end
else
if Auswahl=2 then
begin
cel.Text := FloatToStr( round (StrToFloat(rea.Text) * 1.25)) ;
fah.Text := FloatToStr( round (StrToFloat(rea.Text) * 2.25 + 32)) ;
end
else
if Auswahl=3 then
begin
cel.Text := FloatToStr( round (StrToFloat(fah.Text-32) * 5 div 9));
rea.Text := FloatToStr( round (StrToFloat(fah.Text-32) * 4 div 9))
end;
end;
Aufgabe:
Guck dir case an und wende es hier an !
Dann lernst du noch etwas zusätzliches, da case noch besser wäre.
Edit:
- die Prüfvariable geändert
- @DreddyH gar nicht, ich habs von oben kopiert und die gefragten Stellen eingesetzt....guck weiter oben und dir wird es klar