Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

HELP ! ! ! VB 6.0 en RS-232 probleem ! ! !!

Pagina: 1
Acties:
  • 37 views sinds 30-01-2008

Verwijderd

Topicstarter
Hallo allemaal,

Ik heb een klein probleem met het versturen van commando's naar een serieele printer.

Ik stuur via Hyperterminal een kaal tekstbestandje naar een printer aangesloten op com1.
Werkt zonder problemen.(zie hier onder de listing)(overigens betreft het een barcodeprinter welke de datum print)

Q280,019
q831
rN
S4
D10
ZT
JB
OD
R175,0
N
B73,43,0,3,2,5,160,B,"12-12-2006"
P1

Nu heb ik in VisualBasic 6.0 de navolgende code geschreven om het zelfde te kunnen doen vanuit VB :

Dim tekst As String
tekst = "12-12-2006"
MSComm1.PortOpen = True
MSComm1.Output = "Q280,019" + Chr$(13) + Chr$(10)
MSComm1.Output = "q831" + Chr$(13) + Chr$(10)
MSComm1.Output = "rN" + Chr$(13) + Chr$(10)
MSComm1.Output = "S4" + Chr$(13) + Chr$(10)
MSComm1.Output = "D10" + Chr$(13) + Chr$(10)
MSComm1.Output = "ZT" + Chr$(13) + Chr$(10)
MSComm1.Output = "JB" + Chr$(13) + Chr$(10)
MSComm1.Output = "R175,0" + Chr$(13) + Chr$(10)
MSComm1.Output = "N" + Chr$(13) + Chr$(10)
MSComm1.Output = "B73,43,0,3,2,5,160,B," & tekst + Chr$(13) + Chr$(10)
MSComm1.Output = "P1" + Chr$(13) + Chr$(10)

MSComm1.PortOpen = False

End Sub

En nu krijg ik wel een kaartje uit de printer, maar helemaal leeg. Op de een of ander manier (en ik heb al veel gebrobeerd) krijg ik geen barcode op dit kaartje.
Ik denk dat het eraan ligt hoe ik de datum aanbied.
In het kale tekstbestandje staat deze tussen aanhalingstekens, maar VB pikt niet twee keer aanhalingstekens.

Is er iemand die goed bekend is met VB en mij uit de brand kan helpen ? ? ?

  • MrSleeves
  • Registratie: Februari 2004
  • Laatst online: 13-10 22:03

MrSleeves

You'll thank me later.

En wat heb je zelf geprobeerd?

Vergelijk de output die je verstuurd eens met hetgeen wat wel werkt.
Als ik het zo snel zie, is het iets met de datum en het ontbreken van aanhalingstekens.

30Drie Web Design & IT Consultancy | Raven Consultancy Services


  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 19-11 14:59
Je moet je quotes escapen, dus aan je datum string quotes toevoegen. Probeer dit eens:

Visual Basic:
1
tekst = """" & "12-12-2006" & """"

Hail to the king baby!


  • PhiRo
  • Registratie: Juli 2001
  • Laatst online: 24-04-2016
Hmmm, heb je aan de coding van de string gedacht. Je stuurt waarschijnlijk ASCII naar de poort in je voorbeeld, maar zover ik weet gebruikt VB op WinXP en 2K UNICODE. Je stuurt dus voor de barcode printer totaal onbegrijpelijke code....

Verwijderd

Topicstarter
Hé Urk_forever je had gelijk. ik heb het aangepast en het werkte meteen.....
Een héél weekend naar de klote voor zo iets simpels. Ongelofelijk.

Ontzettend bedankt! ! ! ! !

  • remco_k
  • Registratie: April 2002
  • Laatst online: 22:09

remco_k

een cassettebandje was genoeg

Verwijderd schreef op maandag 18 december 2006 @ 16:22:
Hé Urk_forever je had gelijk. ik heb het aangepast en het werkte meteen.....
Een héél weekend naar de klote voor zo iets simpels. Ongelofelijk.

Ontzettend bedankt! ! ! ! !
Mooi dat je het gevonden hebt; voor de volgende keer een handige tip:
Controleer de output die je maakt minimaal op 2 verschillende manieren. Ikzelf prefereer 3:

1. Kijk op de printer (duh...)
2. ipv de data naar de serieele poort, de data naar een bestand poepen en dat bestand vergelijken met het andere bestand wat je als voorbeeld had. (of het nieuw gemaakte bestand bekijken met een hex-editor)
3. in debug modus de string eerst opbouwen, vervolgens 'inspecten' (komt dicht overeen met puntje 2)

Een 'foutje' zoals jij nu had gemaakt had je waarschijnlijk binnen enkele momenten opgelost.
Mja, je zal je nu niet beter gaan voelen over je verpestte weekend. Geloof me, ik heb ze ook weleens. Een goede nacht slaap en een frisse kijk op zaken doet vaak veel goed.

Alles kan stuk.


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Verwijderd schreef op maandag 18 december 2006 @ 16:06:
[...]

Ik heb een klein probleem [...]
Waarom is het dan nodig om 7 uitroeptekens te misbruiken in je topictitel? Doe de volgende keer even wat harder je best op zowel je topictitel als de inhoud want dit topic is niet wat we van een goed topic verwachten

Lees gerust Policy: Alle regels die op het forum gelden even door voor je een nieuw topic start :)

[ Voor 11% gewijzigd door Spider.007 op 18-12-2006 19:16 ]

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate

Pagina: 1

Dit topic is gesloten.