70324
Mar 26, 2009, updated at 14:13:09 (UTC)
7212
3
0
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
__________________________________________________________
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
__________________________________________________________
Please also mark the comments that contributed to the solution of the article
Content-Key: 112465
Url: https://administrator.de/contentid/112465
Printed on: April 26, 2024 at 14:04 o'clock
3 Comments
Latest comment
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.
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.