Difference between revisions of "convert charset for console/de"
From Free Pascal wiki
Jump to navigationJump to searchm |
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> | ||
− | |||
− | |||
− | |||
− |
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.