kapiaba Posted April 12, 2010 Report Share Posted April 12, 2010 Galera como voces fazem para imprimir em uma impressora MATRICIAL na porta USB? Exemplo: Algumas impressoras de CUPOM NÃO FISCAL, são para porta USB. A tdosprn.prg não funciona em USB, é possivel fazer o relatório usando PRINTER.PRG sem PREVIEW, usando a fonte courier, disparando direto para a USB? Se sim, como? Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br joao@pleno.com.br Fone: (11) 3106-2832 / 8243-5632 FWH 2.7 - xHARBOUR WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 12, 2010 Author Report Share Posted April 12, 2010 Galera como voces fazem para imprimir em uma impressora MATRICIAL na porta USB? Exemplo: Algumas impressoras de CUPOM NÃO FISCAL, são para porta USB. A tdosprn.prg não funciona em USB, é possivel fazer o relatório usando PRINTER.PRG sem PREVIEW, usando a fonte courier, disparando direto para a USB? Se sim, como? Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br joao@pleno.com.br Fone: (11) 3106-2832 / 8243-5632 FWH 2.7 - xHARBOUR WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
leandroptu Posted April 12, 2010 Report Share Posted April 12, 2010 Essa é uma configuração que faço para Impressora Daruma DR700 1.Requisitos: 1.1.Impressora DUAL DR700 1.2.Windows XP SP2 ou superior 1.3.Drive daruma 2.A Comunicação da impressora DR 700 deve ser via USB conforme a seqüência abaixo. 2.1.Conecte os cabos USB e de força corretamente ao computador e impressora. 2.2.Após esse procedimento ligue a impressora e posteriormente o Windows mostrará uma janela solicitando a instalação da impressora.,instale a mesma utilizando o drive requisitado acima 3.Após a conclusão da instalação da impressora é necessário verificar se foi criada uma porta COM (Virtual) no Gerenciador de dispositivos do Windows. 4.Verificada a criação da porta COM virtual, agora e necessário alterar sua transferência de bits por segundo. 4.1.Essa alteração é feita acessando as propriedades da porta e selecionando a taxa de transferência para 115200. 4.2.Para confirmar a instalação acesse o prompt DOS utilizando os seguintes comandos 4.3.mode com n da porta:115200,n,8,1 4.4.dir>com4 5.Agora será necessário adicionar uma impressora Genérica somente texto. 5.1.Painel de Controle > Impressora e aparelhos de fax > Adicionar uma Impressora. Na adição da impressora é necessário selecionar uma porta de comunicação “COM†(definida acima) a qual a impressora vai ser instalada. 5.2.Apos a adição da impressora imprima uma pagina de teste. 6.Apos o funcionamento da impressora compartilhe ela na rede. 7.Agora e necessário mapear a impressora pela porta (LPT1) ou a que estiver disponÃvel através dos seguintes comandos no “prompt do dosâ€. net use lpt1: /del net use lpt1: \computador\nome da impressora compartilhada 8.Depois teste se a impressão está configurada corretamente. Fivewin 8.12 + XHarbour Build 1.1.0 + WorkShop + vLib + SqlLib + MySQL 5.0.27 + xDev Studio + FWPPC E-mail: leandrolopes@success.inf.br Msn: leandroptu@ada.com.br Paracatu/MG Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 12, 2010 Author Report Share Posted April 12, 2010 Leandro, esta Impressora Daruma DR700. É NÃO FISCAL? Se sim, você usa a TDOSPRN.PRG para gerar o CUPOM NÃO FISCAL? Para Impressorar ELGIN NÃO FISCAL, é a mesma coisa? Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br joao@pleno.com.br Fone: (11) 3106-2832 / 8243-5632 FWH 2.7 - xHARBOUR WorkShop.Exe Editado por - kapiaba on 12/04/2010 10:21:40 Quote Link to comment Share on other sites More sharing options...
leandroptu Posted April 12, 2010 Report Share Posted April 12, 2010 Sim uso o TDOSPRN.PRG, a logica será a mesma para impressora não fiscal elgin, a FS700 é uma impressora não fiscal. Fivewin 8.12 + XHarbour Build 1.1.0 + WorkShop + vLib + SqlLib + MySQL 5.0.27 + xDev Studio + FWPPC E-mail: leandrolopes@success.inf.br Msn: leandroptu@ada.com.br Paracatu/MG Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 12, 2010 Author Report Share Posted April 12, 2010 citação:Sim uso o TDOSPRN.PRG, a logica será a mesma para impressora não fiscal elgin, a FS700 é uma impressora não fiscal. Fivewin 8.12 + XHarbour Build 1.1.0 + WorkShop + vLib + SqlLib + MySQL 5.0.27 + xDev Studio + FWPPC E-mail: leandrolopes@success.inf.br Msn: leandroptu@ada.com.br Paracatu/MG id=quote>id=quote>Obrigado, estou passando este link, para um amigo que está com problemas com a Impressora ELGIN, vou pedir para ele fazer como voce indica, se não funcionar, ele postará aqui. Obrigado. Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br joao@pleno.com.br Fone: (11) 3106-2832 / 8243-5632 FWH 2.7 - xHARBOUR WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
leandroptu Posted April 12, 2010 Report Share Posted April 12, 2010 Blz, Espero que ajude, qualquer coisa é posta ai... Fivewin 8.12 + XHarbour Build 1.1.0 + WorkShop + vLib + SqlLib + MySQL 5.0.27 + xDev Studio + FWPPC E-mail: leandrolopes@success.inf.br Msn: leandroptu@ada.com.br Paracatu/MG Quote Link to comment Share on other sites More sharing options...
Edvaldo1361303230 Posted April 12, 2010 Report Share Posted April 12, 2010 Ok João, um abraço irmão. Aquela dica que vc deu no domingo, me chamou a atenção para que eu revisse a tdosprn. Achei em dicas, uma tdosprn que diz imprimir em usb, que eu não consegui imprimir, mas que consegui ver na tela, o preview funciona. Fiz então o seguinte, peguei a velha tdosprn e fiz algumas alterações pegando da nova tdosprn e incluir uma classe txtview que vem com a nova tdosprn. consegui imprimir, mas fazendo um malabarismo danado, pois quando vc usa o preview imprime, mas se não usa o preview não imprime. essa solução atende a todos os casos de impressão continua, pois existem impressoras não fiscais, usb, paralela, porta serial, com adaptadores usb p/ paralela e tudo se resume a enviar a impressão, primeiro para a porta certa, e, depois e windows, um abraço Quote Link to comment Share on other sites More sharing options...
mkyx Posted April 12, 2010 Report Share Posted April 12, 2010 Existe duas formas de trabalhar com impressora matricial usb Uma é escrever relatórios usando a classe tprinter, que vai funcionar normalmente, como qualquer impressora, nesse caso, faz-se o serviço duas vezes. Outra, é usar a classe tdosprn, abrir a porta LPT1, e trabalhar como se estivesse imprimindo na porta LPT1, como de costume, mas antes, deve-se compartilhar a porta USB, assim: net use lpt1 \\nomedocomputador\nomedaimpressora o nomedaimpressora deve estar instalada na porta USB Espero ter ajudado. Pompeo Guaratinguetá - SP (12) 9777-9386 E-Mail: mkyx@ig.com.br MSN: mkyx@ig.com.br Skype: pardes.mky www.adentech.com.br www.rmahost.com xH 1.1.0 Hb 8.02 - BCC 55 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 13, 2010 Author Report Share Posted April 13, 2010 Pompeo, eu posso fazer isto: net use lpt1 \\nomedocomputador\nomedaimpress Diretamente via programa, ou somente VIA DOS? (hehehe) Obrigado. Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br joao@pleno.com.br Fone: (11) 3106-2832 / 8243-5632 FWH 2.7 - xHARBOUR WorkShop.Exe Editado por - kapiaba on 13/04/2010 09:27:03 Quote Link to comment Share on other sites More sharing options...
mkyx Posted April 13, 2010 Report Share Posted April 13, 2010 Vc pode mapear via DOS ou via programa Via programa, ainda não testei, mas vai o comando abaixo: ** AQUI CANCELA UM MAPEAMENTO ANTERIOR, FAÇA ISSO PARA EVITAR ERROS E MAPEAMENTOS FUTUROS wNetDelConnection("LPT1",.T.) ** AQUI VC MAPEA A IMPRESSORA COMPARTILHADA NA USB wnetaddcon("\\NOMEDOCOMPUTADOR\NOMEDAIMPRESSORA","","LPT1") Pompeo Guaratinguetá - SP (12) 9777-9386 E-Mail: mkyx@ig.com.br MSN: mkyx@ig.com.br Skype: pardes.mky www.adentech.com.br www.rmahost.com xH 1.1.0 Hb 8.02 - BCC 55 Quote Link to comment Share on other sites More sharing options...
Marca Posted April 13, 2010 Report Share Posted April 13, 2010 Eu faço o seguinte Kapiaba Usando a mesma logica do ImpSpoll da TdosPrn Utilizo o PrintFileRaw q. resolve o problema de impressão em usb , com ou ate mesmo em impressoras de rede como as da bematech ELSEIF Left( Upper(cPorta),3) = "USB" .OR. Left( Upper(cPorta),3) = "COM" + "NOVAPORTA.ARQ") // Impressao em impressoras de rede com im Set Printer To ( cPorta ) // Somente para setar a impressora PrintFileRaw( cPorta , cFileTxt) Set Printer To ( cImpPadrao ) FErase( cFileTxt ) Um abraço Marcelo Ferro Petrópolis - Rj Fwh9.01/xHarbour 1.1.0 Simplex /SqlLib /xMate/WS e Pelles Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 14, 2010 Author Report Share Posted April 14, 2010 citação:Eu faço o seguinte Kapiaba Usando a mesma logica do ImpSpoll da TdosPrn Utilizo o PrintFileRaw q. resolve o problema de impressão em usb , com ou ate mesmo em impressoras de rede como as da bematech ELSEIF Left( Upper(cPorta),3) = "USB" .OR. Left( Upper(cPorta),3) = "COM" + "NOVAPORTA.ARQ") // Impressao em impressoras de rede com im Set Printer To ( cPorta ) // Somente para setar a impressora PrintFileRaw( cPorta , cFileTxt) Set Printer To ( cImpPadrao ) FErase( cFileTxt ) Um abraço Marcelo Ferro Petrópolis - Rj Fwh9.01/xHarbour 1.1.0 Simplex /SqlLib /xMate/WS e Pelles id=quote>id=quote>Marcelo, meu piglio, esta é uma idéia bem interessante e inteligente. Obrigado. Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br joao@pleno.com.br Fone: (11) 3106-2832 / 8243-5632 FWH 2.7 - xHARBOUR WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
mkyx Posted April 15, 2010 Report Share Posted April 15, 2010 Olá Kapi, Testei hoje num cliente, a mapeamento de uma impressora térmica, 40 colunas, elgin conectada na USB, via programa e funcionou direitinho. ** AQUI CANCELA UM MAPEAMENTO ANTERIOR, FAÇA ISSO PARA EVITAR ERROS DE MAPEAMENTOS FUTUROS wNetDelConnection("LPT1",.T.) ** AQUI VC MAPEA A IMPRESSORA COMPARTILHADA NA USB wnetaddcon("\\SERVIDOR\ELGIN40","","LPT1") Depois disso trabalho como se fosse uma LPT1 normal. Pompeo Guaratinguetá - SP (12) 9777-9386 E-Mail: mkyx@ig.com.br MSN: mkyx@ig.com.br Skype: pardes.mky www.adentech.com.br www.rmahost.com xH 1.1.0 Hb 8.02 - BCC 55 Quote Link to comment Share on other sites More sharing options...
Ladinilson Posted April 15, 2010 Report Share Posted April 15, 2010 Amigos resolvi o problema para portas USB usando o programa NODOSIMP onde o mesmo envia um aquivo no formato txt para a impressora padrão do windows. se alguém quizer, me avise pelo e-mail: ladinilson@hotmail.com FWH 8.1 / xHB 1.1.0 / Pelles / xDev Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 16, 2010 Author Report Share Posted April 16, 2010 citação:Olá Kapi, Testei hoje num cliente, a mapeamento de uma impressora térmica, 40 colunas, elgin conectada na USB, via programa e funcionou direitinho. ** AQUI CANCELA UM MAPEAMENTO ANTERIOR, FAÇA ISSO PARA EVITAR ERROS DE MAPEAMENTOS FUTUROS wNetDelConnection("LPT1",.T.) ** AQUI VC MAPEA A IMPRESSORA COMPARTILHADA NA USB wnetaddcon("\\SERVIDOR\ELGIN40","","LPT1") Depois disso trabalho como se fosse uma LPT1 normal. Pompeo Guaratinguetá - SP (12) 9777-9386 E-Mail: mkyx@ig.com.br MSN: mkyx@ig.com.br Skype: pardes.mky www.adentech.com.br www.rmahost.com xH 1.1.0 Hb 8.02 - BCC 55 id=quote>id=quote>Excelente Pompeo. Very thanks!! João Santos - São Paulo. kmt_karinha@pop.com.br joao@pleno.com.br Fone: (11) 3106-2832 / 8243-5632 FWH 2.7 - xHARBOUR WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 16, 2010 Author Report Share Posted April 16, 2010 Pompeo, e se a impressora estiver LOCAL, qual é procedimento? João Santos - São Paulo. kmt_karinha@pop.com.br joao@pleno.com.br Fone: (11) 3106-2832 / 8243-5632 FWH 2.7 - xHARBOUR WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
mkyx Posted April 16, 2010 Report Share Posted April 16, 2010 O mesmo, desde que o computador esteja em rede, ou conectado a um roteador. Pompeo Guaratinguetá - SP (12) 9777-9386 E-Mail: mkyx@ig.com.br MSN: mkyx@ig.com.br Skype: pardes.mky www.adentech.com.br www.rmahost.com xH 1.1.0 Hb 8.02 - BCC 55 Quote Link to comment Share on other sites More sharing options...
Edvaldo1361303230 Posted April 16, 2010 Report Share Posted April 16, 2010 Ok, amigos, gostaria de saber se a solução indicada funciona para os casos abaixo: 1-Impressora Elgin não fiscal wind com adaptador de usb para paralela; 2-Impressora não fiscal instalada na porta serial com6. Pergunto, por que já fiz de tudo inclusive solução indicada e não consegui resultado positivo. Estou usando uma Gambiarra de muito baixo nÃvel, mas foi o que consegui: Peguei em dicas uma tdosprn que diz imprimir em usb e fiz um bem bolado com uma tdosprn mais antiga que o joão conhece e, mando a impressão para o preview da tdosprn que diz imprimir em usb, e de lá fiz um bem bolado de forma forma que imprime sem que o cliente tenha que teclar nada, mas não indico pra ninguem. Edvaldo Quote Link to comment Share on other sites More sharing options...
mkyx Posted April 16, 2010 Report Share Posted April 16, 2010 Olá amigos, A solução indicada, de mapeamento da impressora, funciona para impressoras matriciais térmicas ou não, conectadas na porta USB, usando cabo USB nos dois lados, ou cabo USB(computador) e paralela (impressora). Para a porta serial, não precisa mapear a impressora é só usar o comando direto oPrn:=TDosPrn():New("COM1"), e trabalhar normalmente. Através do programa abaixo, eu uso impressoras com conexão LPT e USB, sem problema nenhum. Relembrando para as impressora matriciais termicas ou nao, conectadas na USB, eu mapeio a impressora. oPrn:=TDosPrn():New("LPT1") oPrn:startpage() N_LIN:=1 oPrn:Say(0,0, CHR(27)+CHR(64) ) ABRIR_C="A" ** PP:="ORCAMENTO: "+ALLTRIM(STR(NUM_VD,10)) PP:=ALLTRIM(NOM_FIR) P:=(32-LEN(ALLTRIM(PP)))/2 oPrn:Say(N_LIN,P, CHR(14)+PP+CHR(20) ) N_LIN:=N_LIN+1 PP:=ALLTRIM(END_FIR)+" - "+ALLTRIM(BAI_FIR) P:=(48-LEN(ALLTRIM(PP)))/2 oPrn:Say(N_LIN,P,CHR(27)+CHR(18)+PP+CHR(20) ) N_LIN:=N_LIN+1 PP:=ALLTRIM(CID_FIR)+" - "+ALLTRIM(UF_FIR)+" - "+ALLTRIM(TEL_FIR) P:=(48-LEN(ALLTRIM(PP)))/2 oPrn:Say(N_LIN,P, CHR(27)+CHR(18)+PP+CHR(20) ) N_LIN:=N_LIN+1 PP:="CX:"+COD_CX+"-"+COD_PERI+" DATA:"+DTOC(DATE())+" HORA:"+LEFT(TIME(),5)+" OPERADOR:"+ALLTRIM(LEFT(USER000,9)) P:=(60-LEN(ALLTRIM(PP)))/2 oPrn:Say(N_LIN,P, CHR(27)+CHR(15)+PP+CHR(27)+CHR(18) ) N_LIN:=N_LIN+2 ENDIF OPRN:SAY(N_LIN,0,CHR(27)+CHR(18)+COD+" "+LEFT(DESCR,55)) N_LIN:=N_LIN+1 OPRN:SAY(N_LIN,0,CHR(27)+CHR(18)+IF(ESTA00="D","(DEVOLUÇÃO) ",SPACE(14))+TRANSFORM(QTD,"@E 999999.999")+" "+LEFT(UNID,6)+" x "+TRANSFORM(PRU,"@E 9999,999.99")+" = "+TRANSFORM(PT,"@E 999999,999.99")+IF(ESTA00="D"," -"," +")) oPrn:EndPage() oPrn:End() RETURN .T. Pompeo Guaratinguetá - SP (12) 9777-9386 E-Mail: mkyx@ig.com.br MSN: mkyx@ig.com.br Skype: pardes.mky www.adentech.com.br www.rmahost.com xH 1.1.0 Hb 8.02 - BCC 55 Quote Link to comment Share on other sites More sharing options...
SHARK Posted April 17, 2010 Report Share Posted April 17, 2010 Pessoal... Por que preocupar-se em que porta ou qual tipo de cabo a impressora usa se este trabalho o windows já faz perfeitamente? E se for uma impressora conectada através de uma conexão web? E se for um Terminal Server ? Definitivamente o mais óbvio e racional caminho é gerar um arquivo texto da forma que melhor lhe agradar e depois usar a função PRINTFILERAW para enviar a impressão pro windows e a partir daà o próprio windows se vira. Garantido. Testado e comprovado. A única exigência deste método é que a impressora a qual receberá o texto deve estar instalada no windows. Nada mais. Ex.: SET PRINTER TO "RELAT.PRN" SET DEVICE TO PRINT @01,10 SAY "teste" @02,10 SAY "-----" SET DEVICE TO SCREEN SET PRINTER TO PRINTFILERAW( "Epson LX-300", "RELAT.PRN", "Relatório" ) No exemplo acima o arquivo PRG não possui o #include "fivewin.ch" e por este motivo o @SAY irá funcionar exatamente como no clipper. A função PRINTFILERAW recebeu três parâmetros onde o primeiro é o nome da impressora que deve ser idêntico ao nome que a mesma possui no gerenciador de impressoras do WINDOWS, o segundo é o nome do arquivo texto e o terceiro é o nome que o relatório terá no gerenciador de impressão do windows. O nome da impressora pode ser obtido através da função GETPRINTERS que retorna um ARRAY com todas as impressoras instaladas. Usando GETPRINTERS( .T. ) a função retorna além do nome da impressora a porta das mesmas. Em resumo. TDosPrn, mapeamento, NODOSIMP e todo o resto são completamente dispensáveis usando a PRINTFILERAW como descrito acima. SharkAbraços! Shark - FWH 8.09 / xharbour 1.1.0 / xMate 1.15 / Resource WorkShop http://www.superdownloads.com.br/download/41/programa-de-auto-escola-automax/ Quote Link to comment Share on other sites More sharing options...
Edvaldo1361303230 Posted April 17, 2010 Report Share Posted April 17, 2010 É verdade, consegui resolver o problema de impressão usando o net use lpt1: \\nome do computador\noma da impressora. É que já tinha tentado sem sucesso, algo estava errado. Mas, parece realmente que sendo impressora windows não importa a porta. Obrigado a todos que colaboraram, em especial ao professora joão. Edvaldo Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 25, 2011 Author Report Share Posted April 25, 2011 Documentando para o futuro: http://forums.fivetechsupport.com/viewtopic.php?f=6&t=20694&start=0 Kleyber Derick, não é uma gracinha??? kkkkkkkkk João Santos - São Paulo. kmt_karinha@pop.com.br joao@pleno.com.br Fone: (11) 3106-2832 / 8243-5632 - TIM FWH 2.7 - xHARBOUR WorkShop.Exe 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.