Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Erste Zeichen eines Strings (https://www.delphipraxis.net/2394-erste-zeichen-eines-strings.html)

~Freeze~ 21. Jan 2003 13:37


Erste Zeichen eines Strings
 
Hi zusammen ...

Meine Frage :?: :
wie kann ich am einfachsten überprüfen ob das erste Zeichen eines Strings ein Buchstabe ist??

Danke für eure Hilfe! :D

Chewie 21. Jan 2003 13:41

Die Buchstaben erstrecken sich in der ASCII-Tabelle von Position 65 bis Position 122. Das erste Zeichen eines Strings s ist über s[1] erreichbar.
Folglich sieht der Code so aus:
Delphi-Quellcode:
if Byte(s[1]) in [65..122] then /...

Helld_River 21. Jan 2003 13:42

Hi !
var str: string;

...

if (ANSIUPPERCASE(str[1])>='a') and (ANSIUPPERCASE(str[1])<='z') then ...

dass war's schon !!

Gruß, Helld

Daniel 21. Jan 2003 13:53

Hallo Helldriver,

wenn Du schon die Funktion 'AnsiUpperCase' benutzt, müsstest Du dann nicht gegen Grossbuchstaben vergleichen?
Und was ist mit Umlauten? Die werden zwar von AnsiUpperCase korrekt verarbeitet, werden aber vom Vergleich nicht erkannt...

Helld_River 21. Jan 2003 13:57

Oh, stimmt, mein Fehler !!!

Die Routine von Chewie ist sowieso besser ! Die gleicht alles ab.

Gruß, Helld

~Freeze~ 21. Jan 2003 13:58

Thx @ Chewie!

Es funktioniert!

oki 21. Jan 2003 16:35

kleiner Tip, wer die ASCII-Tabelle nicht mag schreibt einfach

Delphi-Quellcode:
If S[1] in ['a'..'Z'] then ...
Gruß Oki

Luckie 21. Jan 2003 16:51

Zitat:

Zitat von Chewie
Die Buchstaben erstrecken sich in der ASCII-Tabelle von Position 65 bis Position 122. Das erste Zeichen eines Strings s ist über s[1] erreichbar.
Folglich sieht der Code so aus:
Delphi-Quellcode:
if Byte(s[1]) in [65..122] then /...

Was ist mit den Zeichen 91 bis 96? das sind keine Buchstaben.

Chewie 21. Jan 2003 17:36

Zitat:

Zitat von Luckie
Was ist mit den Zeichen 91 bis 96? das sind keine Buchstaben.

Stimmt. Ich habe die Tabelle nur flüchtig angesehen und dachte, zwischendrin wäre nichts. :oops:

nailor 21. Jan 2003 17:40

Was ein Problem:

Delphi-Quellcode:
... in [65..90, 97..122]...
Jetzt nicht wieder meckern von wegen: Muss aber 91 sein, und so. ICh hab jetzt nicht nachgeschaut, ob das erste falsche oder das letzte richtige angegeben wurde. :twisted:


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