Ich denke es ist ein if Befehl auf dem der Fehler liegt .. Ich poste mal den ganzen Code:
Delphi-Quellcode:
procedure TForm1.btnWuerfelnClick(Sender: TObject);
var
ergebnis,ergebnis2, addieren2, tmp, tmp2 : integer;
begin
if Trim(edtAnzahl.Text) = '' then
tmp := 0
else
tmp := StrToInt(edtAnzahl.Text);
if Trim(edtAnzahlBot.Text) = '' then
tmp2 := 0
else
tmp2 := StrToInt(edtAnzahlBot.Text);
Addieren;
ergebnis := tmp + Addieren;
addieren2 := random(6)+1;
ergebnis2 := tmp2 + addieren2 ;
edtAnzahl.Text := IntToStr(ergebnis);
edtAnzahlBot.Text := IntToStr(ergebnis2);
if StrToInt(edtAnzahl.Text) >= 21 then
ShowMessage('Du verlierst!');
NewGame;
if StrToInt(edtAnzahlBot.Text) >= 21 then
ShowMessage('Du gewinnst!');
NewGame;
if (StrToInt(edtAnzahl.Text) >= 21) and (StrToInt(edtAnzahlBot.Text) >= 21) then
ShowMessage('Draw!');
NewGame;
end;
function TForm1.Addieren : integer;
begin
Label1.Visible := False;
Addieren := random(6)+1;
end;
procedure TForm1.btnExitClick(Sender: TObject);
begin
Close;
end;
procedure TForm1.NeuesSpiel1Click(Sender: TObject);
begin
NewGame;
end;
procedure TForm1.Beenden1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.Info1Click(Sender: TObject);
begin
Application.MessageBox('Coded by Drake', 'Information', MB_OK + MB_ICONINFORMATION + MB_TASKMODAL);
end;
procedure TForm1.NewGame;
begin
edtAnzahlBot.Text:= '';
edtAnzahl.Text := '';
Label1.Visible := True;
end;
end.
Ein altbekannter Fehler: '' ist kein gültiger Integerwert.
Wenn ich nen BP auf den if setze kommt kein Fehler, aufm ShowMessage schon. Es geht um den mittleren if befehl.
Delphi-Quellcode:
if StrToInt(edtAnzahlBot.Text) >= 21 then
ShowMessage('Du gewinnst!');
NewGame;