convert charset for console/de
Zurück zur Konsolenseite.\
=Den Zeichensatz für die Ausgabe an der Konsole anpassen= Dieser Artikel beschäftigt sich mit der Windowsprogrammierung.
Falls Ihr Konsolenprogramm unter Windows Ansi-Text mit Umlauten und Sonderzeichen korrekt ausgeben soll, dann müssen Sie den Ansi-Text in den OEM-Zeichensatz konvertieren.
Unter Linux (Ubuntu) ist eine Konvertierung des Zeichensatzes nicht notwendig.\
program project1;
{$mode objfpc}{$H+}
{$IMPLICITEXCEPTIONS OFF}
uses
Windows;
var
strText: string;
// Diese Funktion übersetzt den Inhalt eines Ansistrings
// in den Zeichensatz der Konsole
function funAnsiZuOEM(strUebergabe: string): string;
begin
// Ab Lazarus 1.2.0 muss der folgende Absatz eingefügt werden:
strUebergabe := Utf8ToAnsi(strUebergabe);
// Bis Lazarus 1.0.14 genügte dieser Teil:
strUebergabe := strUebergabe + #0;
CharToOEM(PChar(strUebergabe), @strUebergabe[1]);
Delete(strUebergabe, Length(strUebergabe), 1);
Result := strUebergabe;
end;
begin
strText := 'Rosé und Tölt';
writeln('Ausgabe: ' + funAnsiZuOEM(strText));
end.From the Free Pascal wiki, page "convert charset for console/de", as it stood on 2020-02-12 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.