![]() |
Re: Herausfinden, ob Char ein Großbuchstabe ist.
Das mit dem AnsiUppercase geht nicht. Es gibt da nämlich einen Buchstaben, von dem es keine Uppercase-Variante gibt: das "ß" :wink:
|
Re: Herausfinden, ob Char ein Großbuchstabe ist.
Hallo,
habt ihr euch eigentlich mal überlegt, was bei eurer UpperCase-Lösung im Hintergrund alles abläuft? Hier eine kleine Zusammenstellung:
Code:
Die Lösung von ManuMF kommt im Vergleich dazu mit ein paar Subtraktionen aus.
- 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 Der ganze Aufwand ist aber nicht notwendig: Windows bietet eine Funktion mit Namen IsCharUpper an... Gruß Hawkeye |
Re: Herausfinden, ob Char ein Großbuchstabe ist.
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 ^^ |
Re: Herausfinden, ob Char ein Großbuchstabe ist.
Und die entsprechende Unicodeversion dazu? IsCharUpperW
|
Re: Herausfinden, ob Char ein Großbuchstabe ist.
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz