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: 17.06.2025 um 01:06 Uhr

AndreasHoster
AndreasHoster 27.03.2009 um 09:13:51 Uhr
Goto Top
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
Goto Top
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
Goto Top
Ich habe keine Ahnung, wie man in VB dafür sorgt, daß der Quelltext in einer bestimmten Codepage ist. Wenn das überhaupt geht.
Sorry.