Difference between revisions of "convert charset for console/de"

From Free Pascal wiki
Jump to navigationJump to search
m
m (Fixed syntax highlighting; deleted category already in page template)
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
{{convert charset for console}}
 
{{convert charset for console}}
 
<br>
 
<br>
 +
Zurück zur [[Console/de|Konsolenseite]].<br>
 
<br>
 
<br>
 
=Den Zeichensatz für die Ausgabe an der Konsole anpassen=
 
=Den Zeichensatz für die Ausgabe an der Konsole anpassen=
Line 6: Line 7:
 
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.<br>
 
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.<br>
 
Unter Linux (Ubuntu) ist eine Konvertierung des Zeichensatzes nicht notwendig.<br>
 
Unter Linux (Ubuntu) ist eine Konvertierung des Zeichensatzes nicht notwendig.<br>
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
program project1;
 
program project1;
  
Line 22: Line 23:
 
   function funAnsiZuOEM(strUebergabe: string): string;
 
   function funAnsiZuOEM(strUebergabe: string): string;
 
   begin
 
   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;
 
     strUebergabe := strUebergabe + #0;
 
     CharToOEM(PChar(strUebergabe), @strUebergabe[1]);
 
     CharToOEM(PChar(strUebergabe), @strUebergabe[1]);
Line 35: Line 40:
 
end.
 
end.
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
 
<br>
 
--[[User:Olaf|Olaf]] 10:37, 15 February 2014 (CET)
 
[[Category:Code/de]][[Category:Console/de]]{{AutoCategory}}
 

Latest revision as of 02:20, 12 February 2020

Deutsch (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.