So erzeugt z.B. der Text "ûHallöle" die Byte-Folge "
DC C8 81 93 93 6A 93 85", was auf einem IBM-Großrechner-Terminal dann auch korrekt als "ûHallöle" dargestellt wird.
Ich glaube, möchte er nicht, dass ein Û dargestellt wird, sondern es als Escapezeichen benutzten:
DoPrinter('Û011<-Das ist eine Umschaltsequenz für den Printer'); Eigentlich steht da nach EBCDIC (DOS Zeichensatz) #219+'011'... Das 219er war halt der Ersatz für z.B. ESC Sequenzen an Nadeldrucker...
Das hardcoden solcher Strings ist
imho nicht das Gelbe vom Ei (ein
printer.doDasWasDieSequenzTut()
wäre wohl netter, damit wäre der Drucker auch besser austauschbar.).
Aber wenn du darauf baust, müsste sich doch eigentlich eine
Ansi-Codierung (und damit die richtige Bytesequenz) erzwingen lassen
Es geht ja nicht um ein Verhalten zur Laufzeit... Das AnsiString() bringt daher nix, da beim abspeichern der *.pas Files de Zeichen schon konvertiert werden...
Wie das im Code gespeichert wird ist doch egal. Hauptsache zur Laufzeit stimmt es. Selbst wenn du es zur Laufzeit zu
Ansi umcodieren müsstest.