Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - string oder integer??!


Roadrunner116 - Sa 27.01.07 16:15
Titel: string oder integer??!
Hallo Leute,
wie kann man die Eingabe in eienem Edit daraufhin überprüfen, ob es eine zahl oder ein text ist?

Gruß Roadrunner116


Saubäär - Sa 27.01.07 16:23

Hi Roadrunner,

z.B. so:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
function IsInt(Check: String): Boolean;
begin
 try
  StrToInt(Check);
  Result := True;
 except
  Result := False;
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 if IsInt(Edit1.Text) = True then
  ShowMessage('Ja Integer')
 else
  ShowMessage('Nein kein Integer'); 
end;


Wenn du das Programm aus der IDE startest kommt eine Fehlermeldung von Delphi. Startest du das Programm aber 'extern', bekommst du die ShowMessage.

Gruß

Saubäär


GTA-Place - Sa 27.01.07 16:27

Besser ist aber:

Delphi-Quelltext
1:
2:
3:
4:
if TryStrToInt(Edit1.Text, Val) then
  ShowMessage('Zahl')
else
  Showmessage('Keine Zahl');

(Val ist eine Variable vom Typ Integer)


Roadrunner116 - Sa 27.01.07 16:36

Danke dir, funktioniert!


Roadrunner116 - Sa 27.01.07 16:37

@GTA-Place: Das werde ich gleich auch einmal testen...


Roadrunner116 - Sa 27.01.07 16:42

funktioniert auch, sogar über [F9] aus Delphi heraus!
un is weniger quelltext....

Danke
Gruß Roadrunner116


GTA-Place - Sa 27.01.07 17:05

Noch besser wäre aber gleich zu verhindern, dass der Benutzer was anderes als eine Zahl einträgt. Das kannst du im OnKeyDown/OnKeyPress prüfen.