So, z. B., könnte so was aussehen.
Der Code würde auch funktionieren, wenn du ihn gegen deinen ersetzt.
Nur bin ich mir nicht sicher, welche Delphi-Version du verwendest - deswegen kann es sein, dass bei alten Versionen < 7 (oder schon < 6??) bei StrToIntDef Probleme bekommen könntest.
Schau dir einfach mal die Formatierung an und sag mir dann welche besser lesbar ist, deine oder meine.
Ach ja - es wird dir auffallen, dass Kommentare verwendet wurden - die sind nie verkehrt!
Delphi-Quellcode:
var
ergebnis, ergebnis2, addieren2, tmp, tmp2 : integer;
begin
//Variablen initialisieren
tmp := 0;
tmp2 := 0;
if not (Trim(edtAnzahl.Text) = '
')
then
tmp := StrToInt(edtAnzahl.Text);
if not (Trim(edtAnzahlBot.Text) = '
')
then
tmp2 := StrToInt(edtAnzahlBot.Text);
// Addieren; //<== unnötig, da es sich um eine function handelt
//Achtung: Bei Random im OnCreate der Form "Randomize" nicht vergessen!!
//Berechnungen
ergebnis := tmp + Addieren;
addieren2 := random(6) + 1;
ergebnis2 := tmp2 + addieren2;
//Ausgabe
edtAnzahl.Text := IntToStr(ergebnis);
edtAnzahlBot.Text := IntToStr(ergebnis2);
//Prüfungen
tmp := StrToIntDef(edtAnzahl.Text, 0);
tmp2 := StrToIntDef(edtAnzahlBot.Text, 0);
//StrToIntDef geben bei einer Exception den Defaultwert zurück,
//hier 0
//"edtAnzahl" prüfen
if tmp >= 21
then
begin
ShowMessage('
Du verlierst!');
NewGame;
end
else
//"edtAnzahlBot" prüfen
if tmp2 >= 21
then
begin
ShowMessage('
Du gewinnst!');
NewGame;
end
else
//"editAnzahl" und "edtAnzahlBot" prüfen
if (tmp >= 21)
and (tmp2 >= 21)
then
begin
ShowMessage('
Draw!');
NewGame;
end;