Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wie kann ich Strings und Integer erkennen? (https://www.delphipraxis.net/5358-wie-kann-ich-strings-und-integer-erkennen.html)

Bene 3. Jun 2003 14:43


Wie kann ich Strings und Integer erkennen?
 
Ja hallo erstma wieder!!
Ich habe eine kleine Frage: Wie kann ich in Delphi mit dem Programm abfragen, ob eine ZAhl oder ein Wort eingegeben wurde???
Um eine entsprechende Meldung auszugeben.

Wäre shr nett, wenn ihr mir helfen könntet.
ciao mfg Bene
vielen Dank im voraus!

Sanchez 3. Jun 2003 14:51

S ist dein String, zahl und code sind integer-Variablen.

Delphi-Quellcode:

Val(S, zahl, code);
Steht in S eine gültige Integer-Zahl, bekommst du deine Zahl in der Variable zahl zurück und code ist gleich 0.
Ist Code ungleich 0 ist in S keine gültige Zahl.

mfg
Daniel

sakura 3. Jun 2003 15:01

Hi,

die Lösung von Sanchez0815 ist generell okay, allerdings wird der String xa24c auch als Zahl erkannt. Und das ist auch noch korrekt. Es ist eine (zweifelhafte) Darstellung einer hexa-dezimalen Zahl ;-)

...:cat:...

Sanchez 3. Jun 2003 15:12

Na dann kann man den String immer noch Zeichenweise durchklauben und prüfen, ob ein ungültiges Zeichen drinnen ist.

Delphi-Quellcode:
function IsZahl (s:string) : boolean;
var i,res,len:integer;
    zahl:integer;
    istZahl : boolean;
begin
  result := true;
  len := length (s);
  for i := 1 to len do begin
      if not (s[i] in ['-','0'..'9']) then beginn
        result := false;
        exit;
      end;
  end;
end;
Sollte so funktionieren, oder?

Natalia 3. Jun 2003 15:16

Hallo Bene, :)

Wenn du Char-Variable prüfen möchtest, kannst du folgende funktion verwenden:

Code:
function isInteger(c: Char) : Boolean;
begin
  Result = c in ['0'..'9'];
end;
Beispiel:
var x: Char;
.....
if isInteger(x) then ...

Wenn du Strings prüfst:

Code:
function IsInteger(value : String) Boolean;
begin
  Result:=true;
    try
      StrToInt(value)
    except
      Result:=false;
    end;
end;
Beispiel:
if not(IsInteger(Edit1.Text)) then ...


Natalia

Stanlay Hanks 3. Jun 2003 16:19

Re: Wie kann ich Strings und Integer erkennen?
 
Zitat:

Zitat von Bene
Ja hallo erstma wieder!!
Ich habe eine kleine Frage: Wie kann ich in Delphi mit dem Programm abfragen, ob eine ZAhl oder ein Wort eingegeben wurde???
Um eine entsprechende Meldung auszugeben.

Wäre shr nett, wenn ihr mir helfen könntet.
ciao mfg Bene
vielen Dank im voraus!

Hast du entweder ein Wort, oder eine Zahl, oder beides ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz