Toon posts:

[VB] Printen naar een P.O.S printer

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil gebruik gaan maken van een bon printer (een zogenaamde POS printer). Deze schijn ik op 2 manieren aan te kunnen spreken.

1. Middels een grafische windows driver
2. Direct via parallele of Seriele poort.

OK ik heb hem geinstalleerd.

Ik kan vanuit een willekeurige applicatie iets printen naar dat apparaat.

Maar ik wil dat ding direct aanspreken middels de codes die ik in een programmer handleiding heb staan.

De programmer handleiding die ik heb spreekt over Quick Basic en ik gebruik VB6.

Hoe vertaal ik de code:

LPRINT "TEST";

is dat toevallig het zelfde (En ik bedoel dan ook echt hetzelfde) als:

Printer.print "Test"

Ik denk namelijk dat het dan middels de grafische windows driver loopt en dat is een stuk trager.

Iemand?

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 17:38

Gerco

Professional Newbie

In VB kun je dit doen ipv LPRINT:
code:
1
2
3
Open "LPT1:" for OUTPUT AS 1
  Print #1, "TEST"
Close 1

Maar het Printer object (de grafische driver dus) kun je ook gebruiken. Snelheid is geen afweging want het is altijd tientallen/honderden malen sneller dan je printer.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Verwijderd

Topicstarter
Wel als een bitmap over de poort verstuurd wordt!

Ik kan van te voren een bitmap in de printer laden en deze met een korte instructie uit laten printen.

Nu stuur ik het apparaat aan over een parallele poort, maar later ook over de seriele en die is een stuk trager.

Hoe doe ik het dan die aansturing ipv Lprint?

Verwijderd

Topicstarter
Is het niet mogelijk om middels het printerobject directe instructies naar de printer te sturen??

Zoiets als
Printer.PrintBinary ofzo?

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 14:16

Crazy D

I think we should take a look.

Op woensdag 10 april 2002 19:26 schreef Gerco het volgende:
In VB kun je dit doen ipv LPRINT:
code:
1
2
3
Open "LPT1:" for OUTPUT AS 1
  Print #1, "TEST"
Close 1
Dat is de manier waarop ik moest printen naar een barcode printer (de enigste manier eigenlijk, ook al kon ik in alle andere programma's gewoon naar dat ding printen, vanuit VB kon het alleen op die manier, en dan lekker met stuurcode's stoeien).

Exact expert nodig?


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 17:38

Gerco

Professional Newbie

Op donderdag 11 april 2002 01:16 schreef KingLois het volgende:
Wel als een bitmap over de poort verstuurd wordt!
Een bitmap over de LPT is niet zo traag, doet windows immers ook, maar als je het ding met een seriele poort gaat aansturen gaat het wat langzamer ja :)
[/quote]
Hoe doe ik het dan die aansturing ipv Lprint?
[/quote]
Voor de aansturing van de seriele poort kun je de MSComm Control gebruiken OF het op dezelfde manier als hierboven doen (in DOS, in Win32 weet ik het niet zeker).
code:
1
2
3
Open "COM1:9600,8,n,1" For Binary As 1
  Print #1,"TEST"
Close 1

Die "9600:8,n,1" komen uit QB, ik weet niet of VB dezelfde syntax hanteert, maar het staat voor Baudrate,Databits,Parity(y/n),Stopbits

Er is nog een derde manier om het te doen, maar die zou ik afraden als 1 van de andere 2 werkt. Het is in VB aardig wat werk :P
Hier staat een artikel uit de MSDN erover: Serial Communications in Win32

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!

Pagina: 1