Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Überprüfen auf Datentyp (https://www.delphipraxis.net/3860-ueberpruefen-auf-datentyp.html)

Seikilos 2. Apr 2003 17:59


Überprüfen auf Datentyp
 
Gibt es eine Methode, naja dh. ich glaub ich bin sicher, dass es sie gibt, welche z.b. in einem string überprüfen kann ob ein bereich nur zahlen hat.

Bsp. ich hab den string 'Die Telefon nummer ist 005560654'.
Kann man nun prüfen ob jetzt bei der null bis length(string) nur zahlen vorkommen, sowas wie (is Number) oder so? also ohne irgendwelche schleifen durchlaufen zu müssen

Touchdown 2. Apr 2003 18:38

Such mal nach 'Val' in der Hilfe, damit geht sowas recht einfach.

Hansa 2. Apr 2003 19:20

Zitat:

Zitat von Seikilos
...ob jetzt bei der null bis length(string) nur zahlen vorkommen...

Schon mal was von einem SET gehört :?: Und dem IN - Operator :?: Falls nicht würde ich mich mal darum kümmern. Ansonsten wird das nie was. Und dann um pos, copy, delete und die ganzen String-Funktionen. Alles an jeder Ecke zu finden (Handbuch und Online-Help wären auch gut zu gebrauchen). Ja und dann würde ich mir wirklich mal val ansehen. Vorher kommen sowieso wahrscheinlich nur Exceptions. Auch diese würde ich mir mal ansehen. Und dann kommt da noch ein schlichtes+ als String - Operator, usw. und so fort (wichtig für den String, den Du untersuchst). Mann o Mann, die Stringoperationen sind so ziemlich das einfachste was es zu programmieren gibt.

Naja, ich war ja immer schon für eine NewBie-Sparte. :chat:

Seikilos 2. Apr 2003 19:22

Ich mach seit 3 Jahren Delphi .
Ich hatte nur 1 jahr pause mit knapp 4 neuen programmiersprachen, hab einiges vergessen.
Damals hab ich Dlls geschrieben, apis modifiziert, aber dass ist lange her :(

und val hilft schon viel

ich war auch im alten df sehr aktiv

Hansa 2. Apr 2003 19:37

ich wollte Dich ja nicht kritisieren, aber lese Dir die Stichworte, die ich geliefert habe durch. Sonst wird das nichts :!: Und vergiss vorerst das val. Na gut, damit Du nicht beleidigt bist, hier ein Beispiel :

Code:
procedure TForm1.Button1Click(Sender: TObject);
var i : integer;
    NurZahlen : boolean;
begin
  NurZahlen := true;
  for i := 1 to length (Edit1.Text) do begin
    if not (Edit1.Text [i] IN ['0'..'9']) then
      NurZahlen := false; // eine "Nicht-Zahl" gefunden
  end;
  if NurZahlen then
    ShowMessage ('Nur Zahlen')
  else
    ShowMessage ('mind. 1 Buchstabe enthalten');
end;

Seikilos 2. Apr 2003 19:39

Warum kein Val, funzt perfekt:

Delphi-Quellcode:
Val(stringreplace(Copy(liste2.items[i],strtoint(bholder[0])+1,strtoint(bholder[1])-strtoint((bholder[0]))-1),' ','',[rfReplaceAll, rfIgnoreCase]),ihold, code);                              
if code <> 0
                                   then showmessage('KEINE ZAHL')
                                   ELSE showmessage('zahl');

Hansa 2. Apr 2003 19:44

Zitat:

Zitat von Seikilos
Warum kein Val, funzt perfekt:

Wie man sieht, fragt sich nur wie lange. :mrgreen: So ungefähr hab ich mirs gedacht. 8) 8)

Seikilos 2. Apr 2003 19:47

Ich würd mich nicht unterschätzen, was soll da ne exception auslösen? Alle variablen sind limitiert.
Leerzeichen reduziert und ich habs grade bei allen dateien auf meiner festplatte durchlaufen lassen, keine Fehlermeldung


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:34 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