edutraini Posted September 9, 2016 Report Share Posted September 9, 2016 Pessoal tenho uma rotina de etiqueta da impressora Zebra aonde direciono direto para LPT1 conforme rotina abaixo Como faria para que o cliente escolhesse a impressora conforme lista do Windows e mandasse conforme impressora escolhida _nvias := 1 _Buffer := "" _Buffer += "^XA" _Buffer += "^MD18" * _Buffer += "^PR6" _Buffer += "^LH40,10^FS" _Buffer += "^FO0,65^A0N,25,30^FR^FDCl.:^FS" _Buffer += "^FO70,65^A0N,30,30^FR^FD"+vn_cliente+"^FS" _Buffer += "^FO0,130^A0N,25,30^FR^FDPI: ^FS" _Buffer += "^FO70,125^A0N,30,30^FR^FD"+VN_PI+"^FS" _Buffer += "^FO0,178^A0N,25,30^FR^FDMat.:^FS" _Buffer += "^FO75,166^A0N,35,35^FR^FD"+VN_MAT+"^FS" _Buffer += "^FO75,196^A0N,25,25^FR^FD"+VN_DIM+"^FS" _Buffer += "^FO0,235^A0N,25,35^FR^FDOS: ^FS" _Buffer += "^FO70,235^FB270,2,0,L,0^A0N,30,30^FR^FD"+vn_OS+"^FS" *BOX's* _Buffer += "^FO60,50^GB240,62,3^FS" _Buffer += "^FO60,115^GB280,38,3^FS" _Buffer += "^FO60,155^GB280,64,3^FS" _Buffer += "^FO60,223^GB280,66,3^FS" *LOGO* _Buffer += "^FO55,310^A0N,55,55^FR^FDSerraMetal^FS" _Buffer += "^FO10,270^FR^XGA!PPDlog,1,1^FSs" _Buffer += "^FO90,350^A0N,20,20^FR^FISO 9001:2008^FS" * _Buffer += "^XZs" _Buffer += "^PQ"+str(_nvias)+",,,N^XZ" * cArq:=FCreate("LPT1") FWrite(cArq,_buffer) FClose(cArq) Quote Link to comment Share on other sites More sharing options...
mkyx Posted September 9, 2016 Report Share Posted September 9, 2016 Não é uma impressora zebra que vai estar instalada no computador e compartilhada?? então, coloca para que o sistema selecione a zebra automaticamente e imprima a etiqueta. Quote Link to comment Share on other sites More sharing options...
evertonlb Posted September 15, 2016 Report Share Posted September 15, 2016 Ola Edutraini. Cara, eu tenho um código que imprime na argox... mas o lance de criar um "TXT" e mandar para a impressora é a mesma coisa ( eu acho! rsrsr ) segue o código Local cLetra, nHand, cLote Local cArqImp := "Argox.TXT" Local cPrinter := PrinterPortToName( "Argox214" ) local _dDtaImpr := right( strzero( year( date() ), 4, 0 ), 2 ) + strzero( month( date() ), 2, 0 ) * nHand:=fCreate(cArqImp) * * Controle de cabeçalho da impressora * fWrite(nHand, "L" + Chr(13)+Chr(10) ) fWrite(nHand, "m" + Chr(13)+Chr(10) ) fWrite(nHand, "e" + Chr(13)+Chr(10) ) fWrite(nHand, "K1701"+ Chr(13)+Chr(10) ) fWrite(nHand, "PC" + Chr(13)+Chr(10) ) fWrite(nHand, "D11" + Chr(13)+Chr(10) ) fWrite(nHand, "H14" + Chr(13)+Chr(10) ) fWrite(nHand, "z" + Chr(13)+Chr(10) ) * * Montagem da Etiqueta 01 * if !empty( Cod1 ) fWrite(nHand,"141100007000040" + left( ALLTRIM( cEmpresa ), 18 ) + CHR(13) + CHR(10) ) fWrite(nHand,"131100006500015" + STM1 + " " + _dDtaImpr + CHR(13) + CHR(10) ) fWrite(nHand,"1O2313504700060" + Cod1 + CHR(13) + CHR(10) ) fWrite(nHand,"121100004200020" + Des1 + CHR(13) + CHR(10) ) fWrite(nHand,"1X1200003700010L460004" + CHR(13) + CHR(10) ) fWrite(nHand,"121100003400050 PARA TROCAS, POR FAVOR" + CHR(13) + CHR(10) ) fWrite(nHand,"121100003000050NAO REMOVA ESTA ETIQUETA." + CHR(13) + CHR(10) ) fWrite(nHand,"1X1200002700010L460004" + CHR(13) + CHR(10) ) fWrite(nHand,"1O2306001000060" + Cod1 + CHR(13) + CHR(10) ) fWrite(nHand,"141100000500110R$ " + Avi1 + CHR(13) + CHR(10) ) fWrite(nHand,"121100000100020" + Des1 + CHR(13) + CHR(10) ) endif * ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ * * SEGUNDA ETIQUETA * * ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ if !empty( Cod2 ) fWrite(nHand,"141100007000530" + left( ALLTRIM( cEmpresa ), 18 ) + CHR(13) + CHR(10) ) fWrite(nHand,"131100006500530" + STM2 + " " + _dDtaImpr + CHR(13) + CHR(10) ) fWrite(nHand,"1O2313504700570" + Cod2 + CHR(13) + CHR(10) ) fWrite(nHand,"121100004200520" + Des2 + CHR(13) + CHR(10) ) fWrite(nHand,"1X1200003700510L460003" + CHR(13) + CHR(10) ) fWrite(nHand,"121100003400550 PARA TROCAS, POR FAVOR" + CHR(13) + CHR(10) ) fWrite(nHand,"121100003000550NAO REMOVA ESTA ETIQUETA." + CHR(13) + CHR(10) ) fWrite(nHand,"1X1200002700510L460003" + CHR(13) + CHR(10) ) fWrite(nHand,"1O2306001000570" + Cod2 + CHR(13) + CHR(10) ) fWrite(nHand,"141100000500600R$ " + Avi2 + CHR(13) + CHR(10) ) fWrite(nHand,"121100000100520" + Des2 + CHR(13) + CHR(10) ) endif * cPrintEt := "Argox214" cMsg := "" nResult := PrintFileRaw( cPrintEt, cArqImp, "Etiquetas - Estoque" ) Veja, nesse código eu já manda para a "Argox214" mas poderia usar PrinterSetup() cPrintEt := PrnGetName() Guardar esta variável num cadastro de estações e quando o cara manda a etiqueta já vai para a impressora pré definida.. Att. Everton Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.