![]() |
Console Ansi, OEM und Umlaute
Bin gerade dabei eine Consolen Anwendung zu schreiben. Dabei habe ich festgestellt (mal wieder :wink: ) das der Write-Befehl auf die Console nur DOS-OEM-Zeichen ausgibt. Das heist aus "ÜÖÄ üöä ß" wird "▄Í─ ³÷õ ▀".
Geholfen habe ich mir erst einmal mit
Delphi-Quellcode:
welche die Ausgaben der Umlaute auch auf der Console lesbar macht. ;)
function Ansi2OEM(AnsiString: string): string;
begin ANSIString := ANSIString + #0; CharToOEM(PChar(ANSIString), @ANSIString[1]); Delete(ANSIString, Length(ANSIString), 1); Result := ANSIString; end; // Writeln(Ansi2OEM('Hallöle !')); Gibt es eine Möglichkeit die Ausgaben auf die Console auf Ansi umzustellen ? |
Re: Console Ansi, OEM und Umlaute
Hi,
hast du dir schonmal SetConsoleOutputCP() und SetConsoleCP() im Win32 API angesehen? Grüße vom marabu |
Re: Console Ansi, OEM und Umlaute
SetConsoleOutputCP & SetConsoleCP ändert in der Registry den CodePage für Consolen Anwendungen HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Nls\CodePage soweit ich das verstanden habe..
gilt das dan nfür alle Consolen-Anwendungen/Ausgaben oder für die jeweilige Anwendung ? |
Re: Console Ansi, OEM und Umlaute
Zitat:
|
Re: Console Ansi, OEM und Umlaute
Boah, ist das alt.
danke ich dir dass du den falschen Fehler korrigiert hast. :stupid: Werde es beim nächsten Programm austesten... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz