VB6 E ARGOX

AKROYD 23/10/2011 02:46:23
#387474
Galera, sou bem novato em programação e consegui um estágio numa empresa, mas meu chefe meio que não explica as coisas e me virei sozinho com tudo desde que cheguei lá...acontece que uma empresa nova surgiu e eles precisam que o sistema se comunique com a impressora deles. Teria como vocês me ajudarem quanto a isso? Eu preciso mandar a imagem pra impressora de etiquetas. O modelo da impressora é OS 214. Agradeço desde já qualquer ajuda.
PROFESSOR 25/10/2011 00:00:52
#387643
A ARGOX OS-214 e a ARGOX OS-214 Plus possuem sequencias de escape próprias para alguns controles CMOS, principalmente os sensores. Mas o trabalho de impressão em sí é o mesmo que os utilizados para uma Epson ou uma Bematech.

Desde que não seja uma USB, basta abrir a porta serial (ou paralela) e [Ô]escrever[Ô] diretamente nela, como se fosse um arquivo.

Por exemplo usando a COM3:
...
Open [Ô]COM3:[Ô] For Output As #1
Print #1, [Ô]Essa linha foi impressa via V.B.A.[Ô]
Close #1
...

Acompanhe pelo próprio manual da impressora as seqüências Escape (ESC P Codes) utilizadas para Negrito, modo Gráfico/Draft, Itálico, Sublinhado etc.

PROFESSOR 25/10/2011 00:18:24
#387645
Opa, esqueci de alguma coisa!

Falei sobre as portas convencionais, mas não terminei sobre a USB. Para essa última, você precisará usar driver ou ActiveX próprio, ou ainda, usando os resultados de um CommonDialog e via Printer, fazer algo como:

Printer.CurrentX = 100
Printer.CurrentY = 200
Printer.Print [Ô]Linha um[Ô]
Printer.CurrentX = 100
Printer.CurrentY = Printer.CurrentY + 200
Printer.Print [Ô]Linha dois[Ô]
Printer.CurrentX = 100
Printer.CurrentY = Printer.CurrentY + 200
Printer.Print [Ô]Linha três[Ô]
Printer.EndDoc


Observe que se a CommonDialog não conseguir detectar a impressora, nada feito via VB6 sem instalar os drivers adequados.
E mais um detalhe, usando o objeto Printer, a impressão não é imediata, como no primeiro exemplo, mas começa apenas quando o [Ô]EndDoc[Ô] é disparado.

Acho que é só isso, se não esqueci mais nada.
PROFESSOR 25/10/2011 00:28:01
#387647
Hehehe, vortei!

Revisando, vi que você citou que precisa enviar uma imagem á impressora. Aí, só via Printer (é possível usando o Open, mas com algumas boar mudanças), pelo método PaintPicture. A medida-padrão do VB6 é o Twip.

é algo como:

Printer.PaintPicture LoadPicture([Ô]C:\meuarquivodelogo.jpg[Ô]), 1000, 1000

Tópico encerrado , respostas não são mais permitidas