![]() |
Ist String eine gültige Zahl?"
... prüft ob ein wort nur zahlen enthält? also sowas wie
if isInt(text) then // hab in der hilfe nichts passendes gefunden |
Re: gibt es in delphi eine funktion die...
Wie wäre es mit Val, die gibt Dir einen Fehlercode zurück, wenn es keine Zahl ist.
...:cat:... P.S.: Bitte wähle trotzdem einen besseren Titel ;-) |
Re: gibt es in delphi eine funktion die...
Hi,
Das kannst du leicht mit der Val() Funktion überprüfen. Diese veruscht einen String in einen Integer Wert umzuwandeln. Schlägt dieser Versuch fehl, dann ist Code <> 0.
Delphi-Quellcode:
var
I, Code: Integer; begin Val('123a', I, Code); if Code = 0 then ShowMessage('String enthält nur Zahlen') else ShowMessage('String enthält Buchstaben'); end; |
Re: gibt es in delphi eine funktion die...
danke leute ^^
ich werde thema mal umbenennen arg, diese doofe begrenzung...ich komme nur bis "gibt es eine funktion die prüft ob ein string in ein int ver"...wandelt werden kann was kürzeres fällt mir nich ein, hm |
Re: gibt es in delphi eine funktion die...
:roll: Lass doch mal alles was keine Information beinhaltet im Titel weg. :roll:
Mein Vorschlag: "Ist String eine gültige Zahl?" |
Re: Ist String eine gültige Zahl?"
danke lueckie :wink:
btw: ich denke ich schreib mir ne eigene function in dem iich jedes einzelne char prüfe. bei val brauch ich ja noch ne extra integer variable... |
Re: Ist String eine gültige Zahl?"
Nun ja. Wenn deine CPU sonst nichts zu tun hat, nur zu. Ich weiß nicht, wie es Borland macht, aber besser bekommst du es wohl kaum hin.
|
Re: Ist String eine gültige Zahl?"
soweit ich es verstanden habe, mach "Val" es so, das es den ersten parameter(der übergebene string) nach NUR zahlen prüft und wenn dem so ist wird code = 0 sein, ich verstehe nur nicht wieso 3 parameter gibt. Wozu muss ich noch nen integer an die function übergeben?
meine function hätte von den parametern eher so:
Delphi-Quellcode:
ausgesehen. ich will ja nachher nur ca so prüfen:
function IsInt(s: string): boolean;
var i: integer; begin if s <> '' then begin result := true; for i := 0 to length(s) do begin if not (StrToInt(s[i]) in [0..9]) then result := false; end; end; end;
Delphi-Quellcode:
if isint(string) then //
|
Re: Ist String eine gültige Zahl?"
Zitat:
Zitat:
Zitat:
Zitat:
|
Re: Ist String eine gültige Zahl?"
Zitat:
Zitat:
Zitat:
|
Re: Ist String eine gültige Zahl?"
Wenn Du Val nicht willst (Achtung: bei Vall ist XC auch eine Zahl :!: ) dann:
Delphi-Quellcode:
...:cat:...
function IsInt(s: string): boolean;
var I: Integer; begin for i := 0 to length(s) do if not (StrToInt(s[i]) in [0..9]) then begin result := False; Exit; end; Result := True; end; |
Re: Ist String eine gültige Zahl?"
thX sakrua ^^
|
Re: Ist String eine gültige Zahl?"
Zitat:
Zitat:
Code:
---------------------------
Project1 --------------------------- Fehler bei Bereichsprüfung. --------------------------- OK --------------------------- |
Re: Ist String eine gültige Zahl?"
wieso vielleicht?
Delphi-Quellcode:
wenn s[i] nicht in 0-9 ist dann result := false;. oder nicht :cyclops:
if not (StrToInt(s[i]) in [0..9]) then
result := false; sakura: liegt dieser fehler an der "isint"-funktion? ![]() meine procedure sieht so aus:
Delphi-Quellcode:
if word(2, s) = 'intervall' then
begin if isint(word(3, s)) then // die zeile wird beim fehler markiert begin Form1.Timer1.Interval := StrToInt(word(3, s) + '000'); Form1.IdIRC1.Say(chan, '14¤03¤09¤ Automatische Antwort wurde auf ' + word(3, s) + ' 09Sekunden gestellt'); end else Form1.IdIRC1.Say(chan, '14¤05¤04¤ ' + word(3, s) + ' 04ist keine gültige Zahl'); end; die function "word" gibt das wort des index's zurück, also bei 3 ist das wort 3 und in diesem fall war das dritte wort "5" also 5 sekunden |
Re: Ist String eine gültige Zahl?"
Problem bei StrToInt ist halt, dass er ne Exception schmeisst, was bei VAL nicht der Fall ist, weil dir der zweite Integerwert eben angibt ob ein Fehler aufgetreten ist.
Daher würde ich entweder die Exception abfangen, doch einfach VAL benutzen, oder aber den Code ohne StrToInt machen indem du einfach auf Strings prüfst :
Code:
Allerdings bin ich trotz allem ein Verfechter von VAL oder Exception abfangen :lol:
function IsInt(s: string): boolean;
var I: Integer; begin for i := 0 to length(s) do [color=red]if not (s[i] in ['0'..'9']) then[/color] begin result := False; Exit; end; Result := True; end; |
Re: Ist String eine gültige Zahl?"
hat sich erledigt ^^ die laufvariable musste bei 1 beginnen.
danke an alle |
Re: Ist String eine gültige Zahl?"
Zitat:
Delphi-Quellcode:
Oder siehst Du die Message noch?
if not (StrToInt(s[i]) in [0..9]) then ShowMessage( 'dkdkd' );
|
Re: Ist String eine gültige Zahl?"
ach, jetzt weiss ich was du meinst, wegen dem strtoint, jo stimmt. nicht dran gedacht :zwinker: danke
@smoke, habe die zeile übernommen, danke :zwinker: |
Re: Ist String eine gültige Zahl?"
Sorry für die Copy&Waste Error :oops:
...:cat:... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz