Thema: Delphi Problem mit if

Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#9

Re: Problem mit if

  Alt 12. Mai 2007, 20:50
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;
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat