Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Umlaute: ü -> ue (https://www.delphipraxis.net/60970-umlaute-ue-ue.html)

rowkajjh 15. Jan 2006 10:38


Umlaute: ü -> ue
 
Hallo,

ich habe die Ausgabe eines DOS-Programmes. Das Ergebnis hätte ich gerne, das man es auch unter Windows richtig lesen kann.

Die erste Aufgabe - Konvertierung des Charsets - konnte ich mit OemToAnsi(...) lösen. Jetzt hätte ich gerne, daß nur noch 7bit-Zeichen im Text sind, also alles konvertiert ü->ue, ß->ss usw.

Gips dafür auch eine schöne Funktion?

Danke!

rowkajjh 15. Jan 2006 11:11

Re: Umlaute: ü -> ue
 
Ich habs jetzt so gelöst:

Delphi-Quellcode:
begin
   result := '';
   slen := Length(s);


   for i := 1 to slen do
   begin
      case s[i] of
         'ä': result := result + 'ae';
         'ö': result := result + 'oe';
         'ü': result := result + 'ue';
         'Ä': result := result + 'AE';
         'Ö': result := result + 'OE';
         'Ü': result := result + 'UE';
         'ß': result := result + 'ss';
      else
         result := result + s[i];
      end;
   end;
end;
Geht erstmal. Ich habe aber Angst, daß mein DOS-Text irgendwann mal kyrillische Buchstaben enthält - dann gehts natürlich nicht mehr. Gips eine Funktion, um zu prüfen, ob ein Text nur 7bit-Zeichen enthält?

alzaimar 15. Jan 2006 11:34

Re: Umlaute: ü -> ue
 
7 bit sind alle Zahlen 0..127. Reicht das als Anregung?

simonko 15. Jan 2006 11:38

Re: Umlaute: ü -> ue
 
schau einfach ob das 8 bit auf 0 oder 1 gesetzt ist.

alzaimar 15. Jan 2006 17:31

Re: Umlaute: ü -> ue
 
Oder einfach nur
Delphi-Quellcode:
If Ord (MyString[i])>=128 Then is7Bit := False;


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