AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Gegenteil von UpCase bei Char?

Ein Thema von stho · begonnen am 18. Jan 2010 · letzter Beitrag vom 25. Jan 2010
Antwort Antwort
Seite 1 von 3  1 23      
stho

Registriert seit: 16. Sep 2009
Ort: 127.0.0.1
288 Beiträge
 
Delphi 2007 Professional
 
#1

Gegenteil von UpCase bei Char?

  Alt 18. Jan 2010, 17:11
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...
  Mit Zitat antworten Zitat
MarioM.

Registriert seit: 29. Mai 2006
52 Beiträge
 
#2

Re: Gegenteil von UpCase bei Char?

  Alt 18. Jan 2010, 17:19
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;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: Gegenteil von UpCase bei Char?

  Alt 18. Jan 2010, 17:21
Man mag es nicht glauben, aber das gibt es nicht.

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

[edit]
warum hatte ich das UpCase nicht in LoCase umbenannt?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
stho

Registriert seit: 16. Sep 2009
Ort: 127.0.0.1
288 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Gegenteil von UpCase bei Char?

  Alt 18. Jan 2010, 17:23
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
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Gegenteil von UpCase bei Char?

  Alt 18. Jan 2010, 17:35
Bitte nicht vergessen
Delphi-Quellcode:
case Ch of
 ....
  'Ä' : result:='ä';
  'Ö' : result:='ö';
  'Ü' : result:='ü';
....
end;
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Gegenteil von UpCase bei Char?

  Alt 18. Jan 2010, 17:43
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;
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: Gegenteil von UpCase bei Char?

  Alt 18. Jan 2010, 17:52
@p80286: UpCase und demnach auch Lo(w)Case arbeiter nur mit ASCII und demnach gibt es kein äöü

Darum steht auch in der OH, man solle statt UpCase/UpperCase besser AnsiUpperCase verwenden.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#8

Re: Gegenteil von UpCase bei Char?

  Alt 18. Jan 2010, 18:34
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
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

Re: Gegenteil von UpCase bei Char?

  Alt 18. Jan 2010, 18:47
@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
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: Gegenteil von UpCase bei Char?

  Alt 18. Jan 2010, 19:13
Zitat von p80286:
Und überhaupt AnsiLowCase(CH) gibt's ja wohl auch nicht.
Delphi-Referenz durchsuchenAnsiLowerCase

PS: ab D2009 ist AnsiLowerCase standardmäßig Unicode
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 11:21 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