70324
Goto Top

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
__________________________________________________________

Content-Key: 112465

Url: https://administrator.de/contentid/112465

Printed on: April 26, 2024 at 14:04 o'clock

Member: AndreasHoster
AndreasHoster Mar 27, 2009 at 08:13:51 (UTC)
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.
Mitglied: 70324
70324 Mar 27, 2009 at 09:32:55 (UTC)
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
Member: AndreasHoster
AndreasHoster Mar 27, 2009 at 13:03:34 (UTC)
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.