Einzelnen Beitrag anzeigen

Futzel

Registriert seit: 16. Jan 2004
Ort: Mannheim
14 Beiträge
 
#1

if-Anweisungs Problem eines Anfängers

  Alt 25. Jan 2004, 10:16
Hallo,

ich versuche gerade ein kleines Programm zu machen, welches prüft, ob eine eingegebene Zahl im Edit1 gerade oder ungerade ist. Wenn Buchstaben eingegeben werden, kommt eine Fehlermeldung. Jetzt kann man aber immer noch eine Zahl schreiben, sie dann löschen, und das Feld bleibt in der Farbe von der gerade geprüften Zahl, wegen der if-Anweisung. Jetzt möchte ich noch ein else dranhängen, das das feld wieder Weiß färbt wenn laenge nicht nicht gleich 0 (also gleich null). Irgendwie bekomme ich das aber nicht hin. Kann mir jemand helfen?

Hier ein Teil des Codes:

Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
var zahla: string;
    zahlz,laenge: integer;
begin
zahla := Edit1.Text;
laenge := length(zahla);
if laenge<>0 then
begin
try
zahlz := StrToInt(zahla[laenge]);
except on EConvertError do
begin
ShowMessage('Bitte nur Zahlen eingeben.');
Edit1.SetFocus;
Edit1.Text := '';
Exit;
end;
end;
if zahlz mod 2 = 1 then
begin
 Edit1.Color:=clRed;
end
else Edit1.Color:=clBlue;
end
else Edit1.Color:=clWhite;
end;
end;
Vielen Dank für eure Hilfe.

Gruß Futzel
  Mit Zitat antworten Zitat