Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Gegenteil von UpCase bei Char? (https://www.delphipraxis.net/146352-gegenteil-von-upcase-bei-char.html)

stho 18. Jan 2010 16:11


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...

MarioM. 18. Jan 2010 16:19

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;

himitsu 18. Jan 2010 16:21

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:
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;
[edit]
war etwas langsam :stupid:

[edit]
warum hatte ich das UpCase nicht in LoCase umbenannt?

stho 18. Jan 2010 16:23

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:

p80286 18. Jan 2010 16:35

Re: Gegenteil von UpCase bei Char?
 
Bitte nicht vergessen
Delphi-Quellcode:
case Ch of
 ....
  'Ä' : result:='ä';
  'Ö' : result:='ö';
  'Ü' : result:='ü';
....
end;
Gruß
K-H

Wolfgang Mix 18. Jan 2010 16:43

Re: Gegenteil von UpCase bei Char?
 
MarioM schrieb
Zitat:

Du kannst sie Dir aber analog zu UpCase auch selber schreiben:
... oder kürzer
Delphi-Quellcode:
Function LowCase(ch: Char): Char;
Begin
   Result := ch;
   Case Result Of
      'A'..'Z': Dec(Result,-32));
   End;
End;

himitsu 18. Jan 2010 16:52

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.

Reinhard Kern 18. Jan 2010 17:34

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:
function DownCase (uch : char) : char;
begin
Result := CharLower(@uch)^;
end;
liefert ä für Ä.

Gruss Reinhard

p80286 18. Jan 2010 17:47

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:

Note that CharLower always maps uppercase I to lowercase I, even when the current language is Turkish or Azeri.
Gruß
K-H

himitsu 18. Jan 2010 18:13

Re: Gegenteil von UpCase bei Char?
 
Zitat:

Zitat von p80286
Und überhaupt AnsiLowCase(CH) gibt's ja wohl auch nicht.

Delphi-Referenz durchsuchenAnsiLowerCase

PS: ab D2009 ist AnsiLowerCase standardmäßig Unicode :wall:


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:48 Uhr.
Seite 1 von 3  1 23      

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