Hallo Liebe Community
Ich bin Andreas und neu im Bereich Programmierung, Ich habe gestern angefangen mit "Delphi for Kids" zu lernen und hänge jetzt fest.
Wahrscheinlich gibt es für mein Vorhaben elegantere Lösungen, Ich möchte es aber jetzt so versuchen um zu lernen mit den bisher gelernten Syntax zu arbeiten.
Mein Programm besteht aus 2 Buttons und 5 Labels.
Was es tun soll:
Button1:
Generiert 2 Zufallszahlen per Randomize; im Zahlenbereich von 0 - 100 und speichert diese in der Integer Variable Zahl1 & Zahl2.
Label 1&2: Zeigt den Wert der Variable Zahl1 & Zahl2 an.
Label 3&4:
Gibt mit einer If Schleife aus ob der Zahlenbereich von Zahl1 und Zahl2 zwischen 0 und 50 ,oder 50 und 100 liegt.
Button2:
Soll eine Division von Zahl1 und Zahl2 ausführen, dazu soll zunächst im Try Block mit einer If Struktur geprüft werden ob Zahl1 oder Zahl2 = 0 ist, dann nur eine Meldung in Label 5 darüber ausgeben das die Division nicht stattfindet.
Wenn dies nicht gegeben ist, soll im except Block Zahl1 und Zahl2 dividiert, in einer real Variable gespeichert und auf Label 5 ausgegeben werden.
Und da komme Ich auch zu meinem Problem, Die Anweisungen im Try Block funktionieren problemlos, sobald aber die if Bedingung nicht erfüllt ist werden die Anweisungen im except Block nicht ausgeführt.
Ich weiß aber nicht warum.
Könnte mir das Jemand erklären?
Grüße aus NRW
Andreas
ps: Hier nochmal der Code:
Delphi-Quellcode:
var
Form1: TForm1;
Zahl1 , Zahl2 : Integer;
Ergebnis : real;
procedure TForm1.Button1Click(Sender: TObject);
begin
randomize;
Zahl1 := random(101);
Zahl2 := random(101);
Label1.Caption := 'Generierte Zahl 1: ' + IntToStr(Zahl1);
Label2.Caption := 'Generierte Zahl 2: ' + IntToStr(Zahl2);
if (Zahl1 >= 50) and (Zahl1 < 101) then
Label3.Caption := 'Zahlenraum ist zwischen 50 und 100';
if (Zahl1 >= 0) and (Zahl1 < 50) then
Label3.Caption := 'Zahlenraum ist zwischen 0 und 50';
if (Zahl2 >= 50) and (Zahl2 < 101) then
Label4.Caption := 'Zahlenraum ist zwischen 50 und 100';
if (Zahl2 >= 0) and (Zahl2 < 50) then
Label4.Caption := 'Zahlenraum ist zwischen 0 und 50';
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
try
if (Zahl1 = 0) or (Zahl2 = 0) then
Label5.Caption := 'Zahl 1 oder 2 ist 0, Division nicht möglich';
except
Ergebnis := Zahl1 / Zahl2;
Label5.Caption := 'Division möglich, Ergebnis: ' + FloatToStrF (Ergebnis, FFNumber, 8, 2);
end;
end;
end.