Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Müller -> Müller (oder wie wandle ich den Zeichensatz um?) (https://www.delphipraxis.net/9720-m%E3%BCller-mueller-oder-wie-wandle-ich-den-zeichensatz-um.html)

FriFra 2. Okt 2003 13:38


Müller -> Müller (oder wie wandle ich den Zeichensatz um
 
Wie kann ich solche Sonderzeichen (z.B. ü in ü) in normale Zeichen umwandeln?

johny 2. Okt 2003 14:20

Re: Müller -> Müller (oder wie wandle ich den Zeichensat
 
Mit dieser Funktion werden aus einem String ':' und '.' gelöscht. Du kannst die Funktion so abwandeln, dass bestimmte Zeichen durch andere ersetzt werden.

Delphi-Quellcode:
function ChangeString(s:string):string;
var
 iPosition : integer;
 sString : string;
begin
 iPosition := 1;
 while iPosition <= length(s) do
 begin
  case s[iPosition] of
   '.',':':
   iPosition := iPosition+1;
   else
   sString := sString + s[iPosition];
   iPosition := iPosition + 1;
  end;
 end;
 Result := sString;
end;
Delphi-Quellcode:
procedure ...
var
sString : string;
begin
sString := 'Umzuwandelnder Text'
ChangeString(sString);
end;

FriFra 2. Okt 2003 14:26

Re: Müller -> Müller (oder wie wandle ich den Zeichensat
 
Eigentlich hae ich gehofft,dass es dafür eine bessere Methode gäbe...

Jetzt habe ich es erstmal so gelöst:
Delphi-Quellcode:
          fullname := StringReplace(fullname, 'ä', 'ä', [rfReplaceAll]);
          fullname := StringReplace(fullname, 'ö', 'ö', [rfReplaceAll]);
          fullname := StringReplace(fullname, 'ü', 'ü', [rfReplaceAll]);
          fullname := StringReplace(fullname, 'Ä', 'Ä', [rfReplaceAll]);
          fullname := StringReplace(fullname, 'Ö', 'Ö', [rfReplaceAll]);
          fullname := StringReplace(fullname, 'Ãœ', 'Ü', [rfReplaceAll]);
          fullname := StringReplace(fullname, 'ß', 'ß', [rfReplaceAll]);
Es gibt aber dann wieder Probleme, wenn andere Zeichen als äöüÄÖÜß vorkommen...

Christian Seehase 2. Okt 2003 14:32

Re: Müller -> Müller (oder wie wandle ich den Zeichensat
 
Moin FriFra,

hast Du's mal mit WideCharToString probiert?
Es könnte sich bei Dir um einen Multibyte oder Unicode Zeichensatz handeln.

FriFra 2. Okt 2003 14:53

Re: Müller -> Müller (oder wie wandle ich den Zeichensat
 
WideCharToString scheint nicht der richtige Weg zu sein...

Ich lese den bettr. String mit readln (textfile) aus einer Netscape-Konfigurationsdatei aus... da werden Umlaute leider in dieser Form gespeichert...

roderich 2. Okt 2003 14:59

Re: Müller -> Müller (oder wie wandle ich den Zeichensat
 
hi FriFra,

das gleich Thema hatten wir vor Kurzem schon.
Such mal nach OEM2Ansi

Roderich

FriFra 2. Okt 2003 15:07

Re: Müller -> Müller (oder wie wandle ich den Zeichensat
 
Zitat:

Zitat von roderich
hi FriFra,

das gleich Thema hatten wir vor Kurzem schon.
Such mal nach OEM2Ansi

Roderich

Leider führt das nicht zur Lösung des Problems...

OEM2Ansi('Müller') = 'M++ller'
Ansi2OEM('Müller') = 'MǬller'

Bernhard Geyer 3. Okt 2003 21:33

ü ist UTF8 ...
 
und kann deshalb mit der Funktion UTF8ToWideString (Jedi Code Library) oder UTF8Decode (System.pas) in einen entsprechenden Widestring umgewandelt werden.

FriFra 3. Okt 2003 22:17

Re: Müller -> Müller (oder wie wandle ich den Zeichensat
 
Danke ;)

Jetzt klappt es.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05: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