Thema: Delphi Umlaute in Windows

Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#8
  Alt 2. Okt 2002, 17:40
Moin Hansa,

das hättest Du mit AnsiUpperCase aber einfacher haben können
Die Funktion erledigt das mit einem Aufruf.

Bevor ich OemToChar kannte hab' ich's, im Prinzip, mal so gelöst:

Code:
[b]function[/b] DosToWin([b]const[/b] p_sLine : [b]string[/b]) : [b]string[/b];
[b]begin[/b]
  Result := StringReplace(p_sLine,chr($84),'ä',[rfReplaceAll]);
  Result := StringReplace(p_sLine,chr($94),'ö',[rfReplaceAll]);
  Result := StringReplace(p_sLine,chr($81),'ü',[rfReplaceAll]);
  Result := StringReplace(p_sLine,chr($8E),'Ä',[rfReplaceAll]);
  Result := StringReplace(p_sLine,chr($99),'Ö',[rfReplaceAll]);
  Result := StringReplace(p_sLine,chr($9A),'Ü',[rfReplaceAll]);
  Result := StringReplace(p_sLine,chr($E1),'ß',[rfReplaceAll]);
[b]end[/b];
Absolut nicht ideal, aber tut's.

Leider kostet der Komfort bei der Stringverarbeitung in Delphi ziemlich viel Zeit. Deshalb bin ich inzwischen mehr auf Pointer bzw. Assembler ausgewichen, wenn es um umfangreichen Stringverarbeitung geht.
Das spart Laufzeit ohne Ende.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat