Sign in Join
Wiki copytemporary

Revision 2 of 2, by WikiArchive on 11-4-2026. The page as it is now.

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.\

pascal
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.