70324

Codepage beim Drucken auf den Druckerport

Hallo zusammen,

bin ein Neuling was Postings in einem Forum betrifft, deshalb Bitte um etwas Nachsicht.

Ausgangssituation:
Ich habe einen IBM-4610-TF6 Kassabondrucker und möchte per VB6 dirket uber die COM-Schnittstelle einen Kassabon drucken.

Mein Problem ist nun aber das die Umlaute und Sonderzeichen nicht korrekt ausgedruckt werden.
Ich habe schon in den entsprechenden IBM-Handbuch des Druckers gesucht leider ohne Erfolg.

Kann mir jemand einen Tipp geben?

Anbei ein Codechnipsel zur Veranschaulichung:
__________________________________________________________
Private Function test_druck_Ibm_Bon()

Dim CR, CODE_PAGE, FA, PC As String

With frmMain.MSComm
.CommPort = Val(Right(Port, 1))
.Settings = "9600,N,8,1"
.PortOpen = True
.PortOpen = False
End With

CR = Chr$(1)
CODE_PAGE = Chr$(27) & Chr$(116) & Chr(1)
FA = Chr$(27) + Chr$(207) + Chr$(0)
PC = Chr$(12)

Open Port For Output As #1
Print #1, CODE_PAGE
Print #1, FA
Print #1, " Wir Danken für Ihren Einkauf"; CR
Print #1, " Umtausch nur gegen Vorlage des"; CR
Print #1, " K a s s a b o n innerhalb"; CR
Print #1, " eines Monates möglich!"; CR
Close #1

End Function
__________________________________________________________
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 112465

Url: https://administrator.de/forum/codepage-beim-drucken-auf-den-druckerport-112465.html

Ausgedruckt am: 07.07.2025 um 10:07 Uhr

AndreasHoster
AndreasHoster 27.03.2009 um 09:13:51 Uhr
Bist Du Dir auch sicher, daß die Strings in Deinem Programm in Codepage 858 vorliegen?
Ich würde mal versuchen die Umlaute direkt im richtigen Hexcode zu übermitteln, also statt ö Chr$(148) etc. verwenden. Dann sieht man, ob der Drucker es falsch versteht, oder ob die Byte Representation der Characters in Deinem Programm nicht passt.
70324
70324 27.03.2009 um 10:32:55 Uhr
Hallo,

habe deinen Tip getestet und hat auch sofort geklappt. Gibt es eine Möglichkeit die Codepage auf 858 im VB-Programm zu ändern, damit ich nicht alle Strings mit Replace austauschen muß?
Danke
AndreasHoster
AndreasHoster 27.03.2009 um 14:03:34 Uhr
Ich habe keine Ahnung, wie man in VB dafür sorgt, daß der Quelltext in einer bestimmten Codepage ist. Wenn das überhaupt geht.
Sorry.