![]() |
Gegenteil von UpCase bei Char?
Hallo Leute
Auch wenn ich heute ein bisschen viel im Forum schreibe, aber eine letzte Sache hab ich noch auf dem Herzen... Fast jeder von euch kennt ja die UpperCase() und die LowerCase() funktionen... die klasse der Chars hat da auch so eine Funktion. UpCase heißt sie... Doch wie heißt die LowerCase()-Variante für chars? Ich habs beim besten Willen nicht gefunden :-( bin grad ziemlich ratlos... |
Re: Gegenteil von UpCase bei Char?
Gibt es, warum auch immer, nicht.
Du kannst sie Dir aber analog zu UpCase auch selber schreiben:
Delphi-Quellcode:
Function LowCase(ch: Char): Char;
Begin Result := ch; Case Result Of 'A'..'Z': Dec(Result, Ord('A') - Ord('a')); End; End; |
Re: Gegenteil von UpCase bei Char?
Man mag es nicht glauben, aber das gibt es nicht. :angel:
kann man sich aber selber basteln:
Delphi-Quellcode:
[edit]
function LoCase(ch: AnsiChar): AnsiChar; overload;
begin Result := Ch; if Result in ['A'..'Z'] then Inc(Result, $20); end; function LoCase(Ch: WideChar): WideChar; overload; begin case Ch of 'A'..'Z': Result := WideChar(Word(Ch) or $0020); else Result := Ch; end; end; war etwas langsam :stupid: [edit] warum hatte ich das UpCase nicht in LoCase umbenannt? |
Re: Gegenteil von UpCase bei Char?
vielen tausend dank leute :-)
ich dachte ich bin zu blöd das zu finden ^^ aber wenns die funktion tatsächlich nicht gibt bin ich wohl doch net zu doof ;-) Vielen tausend Dank :dp: |
Re: Gegenteil von UpCase bei Char?
Bitte nicht vergessen
Delphi-Quellcode:
Gruß
case Ch of
.... 'Ä' : result:='ä'; 'Ö' : result:='ö'; 'Ü' : result:='ü'; .... end; K-H |
Re: Gegenteil von UpCase bei Char?
MarioM schrieb
Zitat:
Delphi-Quellcode:
Function LowCase(ch: Char): Char;
Begin Result := ch; Case Result Of 'A'..'Z': Dec(Result,-32)); End; End; |
Re: Gegenteil von UpCase bei Char?
@p80286: UpCase und demnach auch Lo(w)Case arbeiter nur mit ASCII und demnach gibt es kein äöü :zwinker:
Darum steht auch in der OH, man solle statt UpCase/UpperCase besser AnsiUpperCase verwenden. |
Re: Gegenteil von UpCase bei Char?
Hallo,
da wir in Deutschland sind, nützen uns Funktionen ohne Umlaute so gut wie nichts, auch das gute alte UpCase nicht. Und da wir auch woanders wohnen könnten, sollte alles vom Sprachtreiber geregelt werden, also keine case-Anweisung mit Ä usw. Für das gewünschte empfiehlt sich daher die Verwendung der Windows-Funktion CharLower:
Delphi-Quellcode:
liefert ä für Ä.
function DownCase (uch : char) : char;
begin Result := CharLower(@uch)^; end; Gruss Reinhard |
Re: Gegenteil von UpCase bei Char?
@himitsu
Bitte etwas Verständnis für einen TurboPascal geschädigten. wir haben's damals so gemacht weil weit und breit kein Ansi.. zu kriegen war. Und überhaupt AnsiLowCase(CH) gibt's ja wohl auch nicht. @Reinhard bitte das hier nicht übersehen: Remarks Zitat:
K-H |
Re: Gegenteil von UpCase bei Char?
Zitat:
![]() PS: ab D2009 ist AnsiLowerCase standardmäßig Unicode :wall: |
Re: Gegenteil von UpCase bei Char?
Zitat:
Gruss Reinhard |
Re: Gegenteil von UpCase bei Char?
@Himitsu
beachte bitte den kleinen Unterschied AnsiLowCase und AnsiLowerCase erstere sollte die Funktion für einen einzelnen Char sein. Für einen String kann das schließlich jeder. ich sag das auch nie wieder, bitte nicht schlagen. @Reinhard nun der Unterschied zwischen I mit i-Punkt und ohne ist ähnlich dem Unterschied zwischen Ä und A. Es gibt diese Ausnahme, und das sollte man wissen bzw. im Hinterkopf haben. Gruß K-H |
Re: Gegenteil von UpCase bei Char?
[quote="p80286@Reinhard
nun der Unterschied zwischen I mit i-Punkt und ohne ist ähnlich dem Unterschied zwischen Ä und A. Es gibt diese Ausnahme, und das sollte man wissen bzw. im Hinterkopf haben. [/quote] aber eine klitzekleine Verbesserung gegenüber UpCase ganz ohne Umlaute könntest du der Lösung doch zugestehen? Bitte Bitte Ich zwinge doch auch niemanden, die Funktion zu benutzen, wie schon Marx und Engels sagten, war ja bloss mal sone Idee. Gruss Reinhard |
Re: Gegenteil von UpCase bei Char?
@Reinhard
Zitat:
Nein keine Frage, besser als das (7Bit-)ASCII-Upcase auf jeden Fall, und für die meisten Programme locker ausreichend, aber es gibt da kleine Unregelmäßigkeiten und nur darauf wollte ich hinweisen. (vielleicht gibts ja noch einen den das ab und an mal interessieren muß) Gruß K-H |
Re: Gegenteil von UpCase bei Char?
Zitat:
Meiner Ansicht nach ist ß sowieso der dümmste Buchstabe aller Sprachen der Welt. Leider haben nur die Schweizer Mut und Vernuft genug aufgebracht ihn abzuschaffen. Unsere nahezu bewegungsunfähige Kulturbürokratie ist nicht dazu in der Lage. Gruss Reinhard |
Re: Gegenteil von UpCase bei Char?
Im den (vor)letzten Unicodestandard sind auch noch extra Zeichen (Codes) für "normale" Buchstaben (a-z) eingeführt wurden.
- Fettschrift, Kursiv usw. damit man diese auch ohne Umstellen der Schrifteigenschaften direkt darstellen kann. Also direkt Vergleichen kann man nicht. PS: Upper/Lower-Case ist recht eindeutig und es gibt nur wenige Fälle, wo X <> Upper(Lower(X)) ist. |
Re: Gegenteil von UpCase bei Char?
Tja, wer kennt das nicht!
Zitat:
Früher wurde "sz" geschrieben und irgendjemand hat dann ein "ß" daraus gemacht. Heute ist man wieder versucht diesen Buchstaben loszuwerden. Dabei sind wir Deutschen mit unseren drei harmlosen Umlauten ä ö ü noch gut dran. Mit freundlichen Grüßen Manfred Zenns |
Re: Gegenteil von UpCase bei Char?
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
Zitat:
Vor allem, wie sieht denn jetzt das Flussschifft aus? Flu- langes s - Schluss-s - langes s - chiff? Das kann kein Mensch mehr lesen. (Siehe Anhang - sorry, mit Maus schreibts sich nicht gut...) Gerade die Unterscheidung des Kleinbuchstaben s ist es, was wohl am meisten daran hindert, heute am PC einfach eine normale Frakturschrift zu installieren - oder gibt es dafür schon ein Unicode-Zeichen? Selbst wenn, ich finde den Buchstaben nicht auf meiner Tastatur. Notfalls würde ich aber sowas wie AltGr+S akzeptieren (für das Schluss-s). Gruß FAlter |
Re: Gegenteil von UpCase bei Char?
Zitat:
![]() |
Re: Gegenteil von UpCase bei Char?
Kleiner Nachtrag zum türkischen i:
es gibt im türkischen ein i mit i-Punkt und eins ohne, dies gilt sowohl für die Groß- als auch für die Kleinschreibung. Für Türken sind unsere beiden i's also zwei unterschiedliche Buchstaben, einmal mit Punkt (i) einmal ohne (I). İi Iı Gruß K-H |
Re: Gegenteil von UpCase bei Char?
Zitat:
(die arme unterdrückte türkische Minderheit :cry: ) Jedenfalls in einem deutschen Windows.
Delphi-Quellcode:
(nicht über's Ansi wundern ... wurde in D2010 getestet und da isses ja Unicode)
Edit1.Text := 'İı';
Edit2.Text := AnsiUpperCase(Edit1.Text) + ' ' + AnsiLowerCase(Edit1.Text); // Edit2.Text = 'İı İı'; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:51 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