Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Fängt String mit Großbuchstaben an?
Danniolo - So 11.12.05 14:42
Titel: Fängt String mit Großbuchstaben an?
Ich hab folgendes Problem:
Ich möchte herausfinden, ob der erste Buchstabe in einem String groß oder klein geschrieben ist, allerdings habe ich dazu noch nichts wirklich verwertbares dazu gefunden, vlt. kann einer von euch mir helfen :roll:
Delete - So 11.12.05 14:48
Wandel das erste Zeichen in den korrespondierenden ASCII Code um mit der Funktion Ord und guck, ob der Wert innerhalb der Großbuchstaben liegt.
Gausi - So 11.12.05 14:50
Auf Anhieb würde ich das probieren
Delphi-Quelltext
1: 2: 3:
| if meinstring[1] in ['A'..'Z','Ä','Ö','Ü'] then showmessage('GROSS') else showmessage('klein'); |
Danniolo - So 11.12.05 14:56
Vielen Dank, das funktioniert hervorragend! :D
Dankeschön für die schnelle Hilfe und entgegen den vielen negativen Stimmen dem DF und seinen Moderatoren in dieser Zeit gegenüber:
Delphi-Forum rulz! Ihr seid spitze!
Delete - So 11.12.05 14:59
Gausi hat folgendes geschrieben: |
Auf Anhieb würde ich das probieren |
Man sollte nicht nebenbei ein Gyros-Pizza essen. :roll:
Gausi - So 11.12.05 15:51
Luckie hat folgendes geschrieben: |
Gausi hat folgendes geschrieben: | Auf Anhieb würde ich das probieren |
Man sollte nicht nebenbei ein Gyros-Pizza essen. :roll: |
Das hab ich jetzt nicht verstanden. Was hat mein Posting mit einer Gyros-Pizza zu tun? :gruebel:
GTA-Place - So 11.12.05 16:20
Alternativ geht auch:
Delphi-Quelltext
1: 2: 3: 4:
| if LowerCase(MyString[1]) = MyString[1] then ShowMessage('Klein') else ShowMessage('Groß'); |
Jailbird - So 11.12.05 17:23
ich würd noch checken, ob der string überhaupt einen inhalt hat
Delphi-Quelltext
1: 2: 3: 4:
| if (Length(mystring) > 0) and (mystring[1] = UpperCase(mystring[1])) then else |
DaRkFiRe - So 11.12.05 17:33
Ich empfinde diese Lösung persönlich die die beste...
Delphi-Quelltext
1: 2: 3:
| if meinstring[1] in ['A'..'Z','Ä','Ö','Ü'] then showmessage('GROSS') else showmessage('klein'); |
und schlage vor, sie noch um Length zu erweitern, damit sie abgesichert wird.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| if (length(meinstring) > 0) then begin if (meinstring[1] in ['A'..'Z','Ä','Ö','Ü']) then showmessage('GROSS') else showmessage('klein'); end else showmessage('länge 0'); |
Ich würde Lowercase nicht noch mit einbauen. Prozeduraufrufe kosten Zeit.
Delete - Mo 12.12.05 00:22
[quote="
Gausi"]
Luckie hat folgendes geschrieben: |
Gausi hat folgendes geschrieben: | Auf Anhieb würde ich das probieren |
Man sollte nicht nebenbei ein Gyros-Pizza essen. :roll: |
Deins nicht aber meins, weil meins umständlich ist und das kann nur an der Pizza gelegen haben. ;)
Stefan.Buchholtz - Mo 12.12.05 12:45
GTA-Place hat folgendes geschrieben: |
Alternativ geht auch:
Delphi-Quelltext 1: 2: 3: 4:
| if LowerCase(MyString[1]) = MyString[1] then ShowMessage('Klein') else ShowMessage('Groß'); | |
Wenn schon so, dann würde ich
AnsiLowerCase verwenden, um auch Umlaute und sonstige landesspezifische Zeichen zu erschlagen. Die Lösung hat den Vorteil, dass sie sprachenunabhängig funktioniert.
Stefan
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!