IMPRIMIR COM PORTA USB DA ARGOX
Boa tarde a todos
Estou tendo um problema com a impressora Argox plus,
pesquisei muito na net e nao encontrei uma forma de enviar os comandos
diretamente para porta usb, pois se coloco \\127.0.0.1\Argox ou generic
tem hora que imprime certo e tem hora que imprime errado
esotu usando printer e tambem as configuraçoes de um arquivo txt para etiqueta
Queria uma forma de usar open [ô]usb001[ô] mais vi que nao tem como,
O ideal que o pessoal do suporte me falou é utilizar a porta usb e este micro nao tem
[ô]com[ô] so tem usb, com a com imprime certinho!!
Alguem ja teve este problema?
Grato
ps: segue anexo um arquivo que encontrei no site da entrei com as chamadas
se alguem puder ajudar to tentando ver como funciona!
Estou tendo um problema com a impressora Argox plus,
pesquisei muito na net e nao encontrei uma forma de enviar os comandos
diretamente para porta usb, pois se coloco \\127.0.0.1\Argox ou generic
tem hora que imprime certo e tem hora que imprime errado
esotu usando printer e tambem as configuraçoes de um arquivo txt para etiqueta
Queria uma forma de usar open [ô]usb001[ô] mais vi que nao tem como,
O ideal que o pessoal do suporte me falou é utilizar a porta usb e este micro nao tem
[ô]com[ô] so tem usb, com a com imprime certinho!!
Alguem ja teve este problema?
Grato
ps: segue anexo um arquivo que encontrei no site da entrei com as chamadas
se alguem puder ajudar to tentando ver como funciona!
Cara, eu não sei não, mas provavelmente o commondialog te ajuda.
Referencie o microsoft commondialog no seu projeto e num commandbutton utilize o código abaixo;
Private Sub Command001_Click()
On Error GoTo CancelPrint
CommonDialog001.CancelError = True
CommonDialog001.ShowPrinter
For Copias = 1 To CommonDialog001.Copies
[ô] aqui entra o teu código de impressão
Next Copias
CommonDialog001.Copies = 1
CancelPrint:
If Err.Number = 32755 Then
MsgBox [Ô] A Impressão foi Cancelada. [Ô], vbOKOnly, [Ô] Mensagem do Sistema[Ô]
End If
End Sub
Se tua impressora estiver instalada o commndialg (quando tu escolher a impressora) vai direcionar a impressão para
a impressora.
. . .
Estou tendo um problema com a impressora Argox plus, pesquisei muito na net e nao encontrei uma forma de enviar os comandos diretamente para porta usb!!!
Estou imprimindo etiquetas desta forma:
-monto o layout usando a linguagem da impressora ppla e uso o comando open com a impressora compartilhada e o driver generic text only fica assim:
OPEN [Ô]\\127.0.0.1\argT[Ô] FOR OUTPUT AS #1
Print #1, Chr$(2) & [Ô]L[Ô] & vbCr
Print #1, [Ô]H20[Ô] [ô]& vbCr
Print #1, [Ô]D11[Ô] [ô] & vbCr
Print #1, [Ô]1A5200000000020[Ô] & [Ô]teste[Ô]
Print #1, [Ô]E[Ô]
Close#
Imprimi normal mais quando reinicio o micro tudo que faço perde da memória da impressora e sai tudo desconfigurado,
Deve ter algum comando que salve isso na memória seila um save, ou alguma forma de emular a lpt1 pois la sai certinho o problema que o micro so tem porta usb!!!
vi alguns caso de um tal de net use no dos e o comando savecreed alguem sabe como usar isso no vb6??
Algum programa que mando os comandos da usb pra lpt1?
Alguma outra forma ou exemplo ja tentei no printer mais lá não consigo passar os comandos d aimpressora e tambem nao funcionou
Aceito exemplos sugestões e urgente isso
Muito obrigado
Estou imprimindo etiquetas desta forma:
-monto o layout usando a linguagem da impressora ppla e uso o comando open com a impressora compartilhada e o driver generic text only fica assim:
OPEN [Ô]\\127.0.0.1\argT[Ô] FOR OUTPUT AS #1
Print #1, Chr$(2) & [Ô]L[Ô] & vbCr
Print #1, [Ô]H20[Ô] [ô]& vbCr
Print #1, [Ô]D11[Ô] [ô] & vbCr
Print #1, [Ô]1A5200000000020[Ô] & [Ô]teste[Ô]
Print #1, [Ô]E[Ô]
Close#
Imprimi normal mais quando reinicio o micro tudo que faço perde da memória da impressora e sai tudo desconfigurado,
Deve ter algum comando que salve isso na memória seila um save, ou alguma forma de emular a lpt1 pois la sai certinho o problema que o micro so tem porta usb!!!
vi alguns caso de um tal de net use no dos e o comando savecreed alguem sabe como usar isso no vb6??
Algum programa que mando os comandos da usb pra lpt1?
Alguma outra forma ou exemplo ja tentei no printer mais lá não consigo passar os comandos d aimpressora e tambem nao funcionou
Aceito exemplos sugestões e urgente isso
Muito obrigado
Alguem ?
eu faço assim, instalo a impressora no windows, e compartilho ela como argox, por ex:.......ai a impressão eu mando para o compartilahmento.
porta = \
ome_micro\argox
OPEN porta FOR OUTPUT AS #1
e ai segue com os comandos
porta = \
ome_micro\argox
OPEN porta FOR OUTPUT AS #1
e ai segue com os comandos
entao faco isso tambe tipo imprimi mais quando rienicio a imrpessao tudo que faço e eprdido da memoria, devia ter alguma forma de usar a dll nao consegui?
Cara...como assim..reinicia?
Tipo os comandos sao passados pra impressora usando a linguagem dela ppla, ae quando desligo e ligo a impressora as configuracoes de layout sao eprdidas e tudo fica desocnfigurado!
Vi com o fabricante e ele me disse que mandar comandos pro driver que é como estou fazendo hoje usando \\127.0.0.1\arogx ele me disse que isso gera mto problema, entao queria ver uma forma ou exemplo de gravar o que faco na memoria da impressora ou ate mesmo um jeito de usar alguma api para acessar a porta usb
mutia gente passou por este mesmo problema mais n encontrei solucao!
com com1 imprimi legal nao perde nada da memoria
Vi com o fabricante e ele me disse que mandar comandos pro driver que é como estou fazendo hoje usando \\127.0.0.1\arogx ele me disse que isso gera mto problema, entao queria ver uma forma ou exemplo de gravar o que faco na memoria da impressora ou ate mesmo um jeito de usar alguma api para acessar a porta usb
mutia gente passou por este mesmo problema mais n encontrei solucao!
com com1 imprimi legal nao perde nada da memoria
CARA, EU FAÇO COMO TE PASSEI ACIMA, E NUNCA TIVE PROBLEMAS, FUNCIONA PERFEITO.
Citação::
eu faço assim, instalo a impressora no windows, e compartilho ela como argox, por ex:.......ai a impressão eu mando para o compartilahmento.
porta =
ome_microargox
OPEN porta FOR OUTPUT AS #1
e ai segue com os comandos
Faço que nem FUTURA falou e nunca tive problemas....
no entanto me parece que quando o computador esta sem rede nao funciona... e me parece que muitas vezes a rede local esta ligado a internet, ou seja, se nao tiver internet nao funciona a rede local e automaticamente nao funciona o compartilhamento da impressora...
alguem ja passou por isso?
Cara eu entando o seu problema, vc não quer deixar nada dificil para o usuário! eu tenho exatamente o que vc procura!
a impressora argox usb TEM Q SER INSTALADA NO WINDOWS não tem jeito, se for lpt ou com não precisa.
vc pode criar a etiqueta com o argobar ou bartender(Mais novo)
depois vc manda imprimir para arquivo, ou vc mesmo cria o codigo PPLA para mandar para a impressora.
o sistema lista na listbox todas as impressoras instaladas no windows, depois vc clica na argox e clica no botão imprimir!
Private Type DOCINFO
pDocName As String
pOutputFile As String
pDatatype As String
End Type
Private Declare Function ClosePrinter Lib [Ô]winspool.drv[Ô] (ByVal _
hPrinter As Long) As Long
Private Declare Function EndDocPrinter Lib [Ô]winspool.drv[Ô] (ByVal _
hPrinter As Long) As Long
Private Declare Function EndPagePrinter Lib [Ô]winspool.drv[Ô] (ByVal _
hPrinter As Long) As Long
Private Declare Function OpenPrinter Lib [Ô]winspool.drv[Ô] Alias _
[Ô]OpenPrinterA[Ô] (ByVal pPrinterName As String, phPrinter As Long, _
ByVal pDefault As Long) As Long
Private Declare Function StartDocPrinter Lib [Ô]winspool.drv[Ô] Alias _
[Ô]StartDocPrinterA[Ô] (ByVal hPrinter As Long, ByVal Level As Long, _
pDocInfo As DOCINFO) As Long
Private Declare Function StartPagePrinter Lib [Ô]winspool.drv[Ô] (ByVal _
hPrinter As Long) As Long
Private Declare Function WritePrinter Lib [Ô]winspool.drv[Ô] (ByVal _
hPrinter As Long, pBuf As Any, ByVal cdBuf As Long, _
pcWritten As Long) As Long
Dim xImp As Printer
Private Sub Command1_Click()
Dim lhPrinter As Long
Dim lReturn As Long
Dim lpcWritten As Long
Dim lDoc As Long
Dim sWrittenData As String
Dim MyDocInfo As DOCINFO
lReturn = OpenPrinter(List1.Text, lhPrinter, 0)
If lReturn = 0 Then
MsgBox [Ô]The Printer Name you typed wasn[ô]t recognized.[Ô]
Exit Sub
End If
MyDocInfo.pDocName = [Ô]AAAAAA[Ô]
MyDocInfo.pOutputFile = vbNullString
MyDocInfo.pDatatype = vbNullString
lDoc = StartDocPrinter(lhPrinter, 1, MyDocInfo)
Call StartPagePrinter(lhPrinter)
sWrittenData = AbreArquivo(App.Path & [Ô]\output.prn[Ô]) [ô]& vbFormFeed
lReturn = WritePrinter(lhPrinter, ByVal sWrittenData, _
Len(sWrittenData), lpcWritten)
lReturn = EndPagePrinter(lhPrinter)
lReturn = EndDocPrinter(lhPrinter)
lReturn = ClosePrinter(lhPrinter)
End Sub
Private Sub Form_Load()
For Each xImp In Printers
List1.AddItem xImp.DeviceName
Next
List1.ListIndex = 0
End Sub
Function AbreArquivo(sArquivo As String) As String
Dim iARQ As Integer, aCampos() As String
Dim sLinha As String
Dim sResult As String
iARQ = FreeFile
Open sArquivo For Input As iARQ
Do While Not EOF(iARQ)
[ô]Pega o conteúdo da linha
Line Input #iARQ, sLinha
sResult = sResult + Chr(13) & Chr(10) + sLinha
Loop
[ô]Debug.Print sResult
AbreArquivo = sResult
[ô]Fecha o arquivo
Close iARQ
End Function
a impressora argox usb TEM Q SER INSTALADA NO WINDOWS não tem jeito, se for lpt ou com não precisa.
vc pode criar a etiqueta com o argobar ou bartender(Mais novo)
depois vc manda imprimir para arquivo, ou vc mesmo cria o codigo PPLA para mandar para a impressora.
o sistema lista na listbox todas as impressoras instaladas no windows, depois vc clica na argox e clica no botão imprimir!
Private Type DOCINFO
pDocName As String
pOutputFile As String
pDatatype As String
End Type
Private Declare Function ClosePrinter Lib [Ô]winspool.drv[Ô] (ByVal _
hPrinter As Long) As Long
Private Declare Function EndDocPrinter Lib [Ô]winspool.drv[Ô] (ByVal _
hPrinter As Long) As Long
Private Declare Function EndPagePrinter Lib [Ô]winspool.drv[Ô] (ByVal _
hPrinter As Long) As Long
Private Declare Function OpenPrinter Lib [Ô]winspool.drv[Ô] Alias _
[Ô]OpenPrinterA[Ô] (ByVal pPrinterName As String, phPrinter As Long, _
ByVal pDefault As Long) As Long
Private Declare Function StartDocPrinter Lib [Ô]winspool.drv[Ô] Alias _
[Ô]StartDocPrinterA[Ô] (ByVal hPrinter As Long, ByVal Level As Long, _
pDocInfo As DOCINFO) As Long
Private Declare Function StartPagePrinter Lib [Ô]winspool.drv[Ô] (ByVal _
hPrinter As Long) As Long
Private Declare Function WritePrinter Lib [Ô]winspool.drv[Ô] (ByVal _
hPrinter As Long, pBuf As Any, ByVal cdBuf As Long, _
pcWritten As Long) As Long
Dim xImp As Printer
Private Sub Command1_Click()
Dim lhPrinter As Long
Dim lReturn As Long
Dim lpcWritten As Long
Dim lDoc As Long
Dim sWrittenData As String
Dim MyDocInfo As DOCINFO
lReturn = OpenPrinter(List1.Text, lhPrinter, 0)
If lReturn = 0 Then
MsgBox [Ô]The Printer Name you typed wasn[ô]t recognized.[Ô]
Exit Sub
End If
MyDocInfo.pDocName = [Ô]AAAAAA[Ô]
MyDocInfo.pOutputFile = vbNullString
MyDocInfo.pDatatype = vbNullString
lDoc = StartDocPrinter(lhPrinter, 1, MyDocInfo)
Call StartPagePrinter(lhPrinter)
sWrittenData = AbreArquivo(App.Path & [Ô]\output.prn[Ô]) [ô]& vbFormFeed
lReturn = WritePrinter(lhPrinter, ByVal sWrittenData, _
Len(sWrittenData), lpcWritten)
lReturn = EndPagePrinter(lhPrinter)
lReturn = EndDocPrinter(lhPrinter)
lReturn = ClosePrinter(lhPrinter)
End Sub
Private Sub Form_Load()
For Each xImp In Printers
List1.AddItem xImp.DeviceName
Next
List1.ListIndex = 0
End Sub
Function AbreArquivo(sArquivo As String) As String
Dim iARQ As Integer, aCampos() As String
Dim sLinha As String
Dim sResult As String
iARQ = FreeFile
Open sArquivo For Input As iARQ
Do While Not EOF(iARQ)
[ô]Pega o conteúdo da linha
Line Input #iARQ, sLinha
sResult = sResult + Chr(13) & Chr(10) + sLinha
Loop
[ô]Debug.Print sResult
AbreArquivo = sResult
[ô]Fecha o arquivo
Close iARQ
End Function
Tópico encerrado , respostas não são mais permitidas