AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Herausfinden, ob Char ein Großbuchstabe ist.
Thema durchsuchen
Ansicht
Themen-Optionen

Herausfinden, ob Char ein Großbuchstabe ist.

Ein Thema von xZise · begonnen am 24. Jun 2006 · letzter Beitrag vom 27. Jun 2006
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
885 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Herausfinden, ob Char ein Großbuchstabe ist.

  Alt 24. Jun 2006, 14:27
Das mit dem AnsiUppercase geht nicht. Es gibt da nämlich einen Buchstaben, von dem es keine Uppercase-Variante gibt: das "ß"
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#12

Re: Herausfinden, ob Char ein Großbuchstabe ist.

  Alt 24. Jun 2006, 15:04
Hallo,

habt ihr euch eigentlich mal überlegt, was bei eurer UpperCase-Lösung im Hintergrund alles abläuft? Hier eine kleine Zusammenstellung:

Code:
- StackFrame einrichten
- unsichtbares TRY..FINALLY initialisieren
- Char in String umwandeln
- AnsiUpperCase aufrufen
  - LStrLen
  - LStrToPChar
  - LStrFromPCharLen
  - CharToUpperBuff
- LStrCmp
- String freigeben
- TRY..FINALLY aufräumen
- StackFrame auflösen
Die Lösung von ManuMF kommt im Vergleich dazu mit ein paar Subtraktionen aus.

Der ganze Aufwand ist aber nicht notwendig: Windows bietet eine Funktion mit Namen IsCharUpper an...

Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#13

Re: Herausfinden, ob Char ein Großbuchstabe ist.

  Alt 26. Jun 2006, 12:07
IsCharUpper funktioniert auch nicht richtig (jedenfalls wenn man mit Unicode arbeited) ... bei Ansi läuft es auch nur im unteren 7-Bit-Bereich korrekt.

PS: IsCharUpper macht es intern über 'ne CASE, es sei denn die haben inzwischen auch auf eine "optimiertere" IF-Abfrage reduziert,
aber so, oder so, es is allemal schneller als die AnsiUpperCase-Methode ^^
$2B or not $2B
  Mit Zitat antworten Zitat
Ydobon

Registriert seit: 3. Mär 2006
264 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Herausfinden, ob Char ein Großbuchstabe ist.

  Alt 26. Jun 2006, 17:32
Und die entsprechende Unicodeversion dazu? IsCharUpperW
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#15

Re: Herausfinden, ob Char ein Großbuchstabe ist.

  Alt 27. Jun 2006, 13:02
Zitat von Ydobon:
Und die entsprechende Unicodeversion dazu? IsCharUpperW
Nene, is schon klar, allerdings hat die einige Fehler in ihrer Implementation ... einige Zeichenbereiche werden garnicht, oder falsch umgewandelt.
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:30 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