Wer öfter mal
{$APPTYPE CONSOLE} nutzt, und seine Konsole dabei auf der Standard-Rasterschriftart stehen hat, kennt bestimmt das Problem: Sonderzeichen, besonders Umlaute, gehen kaputt.
Schuld ist hier, dass Delphi Strings in ANSI-Zeichen ausgibt, die Console aber OEM (Codepage 850) will.
Diese Unit erspart einem das händische Umwandeln jeder Ausgabe, indem die Ausgabefunktionen so umgelenkt werden, dass jeder Buffer automatisch konvertiert wird.
Bugreports etc sind gern gesehen, auch wenn ich nicht glaube, dass in 104LOC so viele drin sein können
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| begin Writeln('Hänschen ist müde'); InstallOEMConsole; Writeln('Hänschen ist müde'); UnInstallOEMConsole; Writeln('Hänschen ist müde'); Readln; end. |
Ausgabe:
Quelltext
1: 2: 3:
| Hõnschen ist m³de Hänschen ist müde Hõnschen ist m³de |
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."