Autor |
Beitrag |
Danniolo
      
Beiträge: 693
|
Verfasst: So 11.12.05 14:42
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 
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: 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'); |
_________________ We are, we were and will not be.
|
|
Danniolo 
      
Beiträge: 693
|
Verfasst: So 11.12.05 14:56
Vielen Dank, das funktioniert hervorragend!
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!
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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. 
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: So 11.12.05 15:51
_________________ We are, we were and will not be.
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: 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ß'); |
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
Jailbird
      
Beiträge: 127
Windows XP Pro SP2
Delphi 7 Professional
|
Verfasst: 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
      
Beiträge: 526
WinXP Home & Professional
C, C++, Delphi
|
Verfasst: 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.
_________________ Lang ist der Weg durch Lehren - kurz und wirksam durch Beispiele! Seneca
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 12.12.05 00:22
|
|
Stefan.Buchholtz
      
Beiträge: 612
WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
|
Verfasst: 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
_________________ Ein Computer ohne Windows ist wie eine Schokoladentorte ohne Senf.
|
|