Entwickler-Ecke

Sonstiges (Delphi) - Umlaute in Rückgabestring eines Processes


FriFra - So 03.11.02 15:40
Titel: Umlaute in Rückgabestring eines Processes
Ich lasse ein Konsolenprogramm vedeckt laufen und capture die Ausgaben in in eine Stringlist.
Wenn ich mir die Werte anzeigen lasse (Messagebox/memo etc.) sind immer alle Umlaute verstümmelt. Weiss jemand, wie man die Umlaute korrekt angezeigt bekommt?


Delete - So 03.11.02 16:00

Benutzt die Konsole eventuell den ASCII-Zeichensatz? Windows benutzt aber Ansi bzw. Unicode je nach Version.


FriFra - So 03.11.02 16:53

Davon gehe ich auch aus, aber wie kann ich nun den String konvertieren?


Delete - So 03.11.02 18:10


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
procedure Ascii2Ansi(var s: string);
var
  s0: string;
begin
  Setlength(s0,length(s));
  if (length(s0)>0) then
    OemToChar(Pchar(s),PChar(s0));
  s:=s0;
end;
procedure Ansi2Ascii(var s: string);
var s0: string;
begin
  Setlength(s0,length(s));
  if length(s0)>0 then
    CharToOem(Pchar(s),Pchar(s0));
  s:=s0;
end;


FriFra - So 03.11.02 18:37

:D Danke! Es funktioniert.


Delete - So 03.11.02 18:40

Bitte, keine Ursache.