IMPRESSÃO DIRETA PORTA USB em xHARBOUR
Moderador: Moderadores
- deividdjs
- Usuário Nível 3

- Mensagens: 377
- Registrado em: 19 Set 2006 09:39
- Localização: Foz do Iguaçu / Pr
IMPRESSÃO DIRETA PORTA USB em xHARBOUR
bom dia, Galera ...
estou meio desatualizado ... e gostaria de saber se já existe algo para imprimir em impressora usb diretamente, como fazíamos nas impressoras epson matriciais porta LPT1 ....
Abraço,
estou meio desatualizado ... e gostaria de saber se já existe algo para imprimir em impressora usb diretamente, como fazíamos nas impressoras epson matriciais porta LPT1 ....
Abraço,
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
IMPRESSÃO DIRETA PORTA USB em xHARBOUR
Bom Dia,
Uma boa solução é o NODOSIMP.exe. Funciona bem.
Uma boa solução é o NODOSIMP.exe. Funciona bem.
Ricardo Rodrigues
Harbour 3.2 + BCC + Minigui
Cursando Análise e Desenvolvimento de Sistemas
Harbour 3.2 + BCC + Minigui
Cursando Análise e Desenvolvimento de Sistemas
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
IMPRESSÃO DIRETA PORTA USB em xHARBOUR
Realmente bem desatualizado.... Isso existe desde que o xHarbour existe.deividdjs escreveu:estou meio desatualizado ... e gostaria de saber se já existe algo para imprimir em impressora usb diretamente
Lembrando que não imprime em impressora virtual, somente em impressora física:
Código: Selecionar todos
/*
compilar usando: Hbmk2 exemplo.prg -lhbwin -lxhb
*/
Function Main()
Local cPrinter
Local cTexto := "Teste de impressão" + Hb_EOL()
MemoWrit( "ArqPrin.Txt", cTexto )
// cPrinter := GetDefaultPrinter() // pega impressora padrão, ou
cPrinter := MyPrinters() // seleciona a impressora...
If !Empty( cPrinter )
PrintFileRaw( cPrinter, "ArqPrin.Txt", "Impressao Teste" ) // imprime
EndIf
Return Nil
Func MyPrinters()
Local i, nPrn, oPrn, nMaxLen := 0, aPNomes := {}
Local aPrn := GetPrinters()
If Empty( aPrn )
Alert( "Nenhuma impressora Instalada" )
Return Nil
Endif
For i=1 To Len( aPrn )
AaDd( aPNomes , aPrn[i,1] )
nMaxLen := If( Len( aPrn[i,1] ) > nMaxLen, Len( aPrn[i,1] ), nMaxLen )
Next
Clear Screen
nPrn := AChoice( 5, 10, Len( aPrn )+5, nMaxLen+1, aPNomes, .T., Nil , aPNomes )
If nPrn = 0
Return Nil
Endi
Clear Screen
cPrinter := AllTrim( aPNomes[nPrn] )
Return cPrinterAbraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
IMPRESSÃO DIRETA PORTA USB em xHARBOUR
Código: Selecionar todos
cPorta := PrnGetPort()
cPrinter := PrinterPortToName( cPorta )
if empty( cPrinter )
cPrinter := PrinterPortToName( "USB002" )
if empty(cPrinter)
cPrinter := PrinterPortToName( "USB001" )
endif
endif
// Grave o arquivo...
PrintFileRaw( cPrinter, TrueName("MINUTA.TXT"), "Impressão de Vendas" )
- deividdjs
- Usuário Nível 3

- Mensagens: 377
- Registrado em: 19 Set 2006 09:39
- Localização: Foz do Iguaçu / Pr
IMPRESSÃO DIRETA PORTA USB em xHARBOUR
onde eu encontro essas LIB´s ??
-lhbwin -lxhb
-lhbwin -lxhb
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
IMPRESSÃO DIRETA PORTA USB em xHARBOUR
Você está compilando com xHarbour? Acho que essas libs são somente para compular com Harbour.
NOTA: Também em xHarbour não tem a função Hb_EOL() (quebra de linha conforme a plataforma usada). Esqueci de tirar.
NOTA: Também em xHarbour não tem a função Hb_EOL() (quebra de linha conforme a plataforma usada). Esqueci de tirar.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
- deividdjs
- Usuário Nível 3

- Mensagens: 377
- Registrado em: 19 Set 2006 09:39
- Localização: Foz do Iguaçu / Pr
IMPRESSÃO DIRETA PORTA USB em xHARBOUR
Sim... xharbour
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
-
Paredes01
- Usuário Nível 2

- Mensagens: 52
- Registrado em: 20 Mai 2012 11:22
- Localização: Mérida, Yucatán, México
IMPRESSÃO DIRETA PORTA USB em xHARBOUR
Buen día.
En xharbour, ejemplo :
*** Cuando inicio el modulo
bIMP_NOTA := {|| IMP_NOTA() }
*** lo ejecuto cuando y donde lo necesito
EVAL(bIMP_NOTA)
*----------------------------------------------------------
* Sistema operativo windows 10 profesional
* Si es matricial por Lpt1 modo texto (Epson Lx-300+)
* Si es termica modo grafico en (usb directo) instalar los drivers
* em mi caso tengo Epson tmu-220u
FUNCTION IMP_NOTA()
cDevOut := GetDefaultPrinter()
cIMPX = "C:\REPORTES\NOTA.TXT"
SET PRINTER TO &cIMPX
SET DEVICE TO PRINT
@ PROW()+1,(INT(40-LEN(cCOR_EMP))/2) SAY cCOR_EMP
@ PROW()+1,(INT(40-LEN(cDIR_EMP))/2) SAY cDIR_EMP
@ PROW()+1,(INT(40-LEN("COLONOIA : "+cCOL_EMP))/2) SAY "COLONIA : "+cCOL_EMP
@ PROW()+1,(INT(40-LEN("ESTADO : " +cSTA_EMP))/2) SAY "ESTADO : " +cSTA_EMP
@ PROW()+1,(INT(40-LEN("R.F.C. " +cRFC_EMP))/2) SAY "R.F.C. " +cRFC_EMP
@ PROW()+1,(INT(40-LEN("TEL. " +cTEL_EMP))/2) SAY "TEL. " +cTEL_EMP
@ PROW()+1, 0 SAY "FOLIO :"
@ PROW() , 8 SAY cFOLIO
@ PROW() ,22 SAY DTOC(DATE())+" - "+SUBSTR(TIME(),1,5)
@ PROW()+1, 0 SAY REPLICATE("-",40)
SET DEVICE TO SCREEN
SET PRINTER TO
PRINTFILERAW(cDevOut,cIMPX)
RETURN NIL
Saludos!
En xharbour, ejemplo :
*** Cuando inicio el modulo
bIMP_NOTA := {|| IMP_NOTA() }
*** lo ejecuto cuando y donde lo necesito
EVAL(bIMP_NOTA)
*----------------------------------------------------------
* Sistema operativo windows 10 profesional
* Si es matricial por Lpt1 modo texto (Epson Lx-300+)
* Si es termica modo grafico en (usb directo) instalar los drivers
* em mi caso tengo Epson tmu-220u
FUNCTION IMP_NOTA()
cDevOut := GetDefaultPrinter()
cIMPX = "C:\REPORTES\NOTA.TXT"
SET PRINTER TO &cIMPX
SET DEVICE TO PRINT
@ PROW()+1,(INT(40-LEN(cCOR_EMP))/2) SAY cCOR_EMP
@ PROW()+1,(INT(40-LEN(cDIR_EMP))/2) SAY cDIR_EMP
@ PROW()+1,(INT(40-LEN("COLONOIA : "+cCOL_EMP))/2) SAY "COLONIA : "+cCOL_EMP
@ PROW()+1,(INT(40-LEN("ESTADO : " +cSTA_EMP))/2) SAY "ESTADO : " +cSTA_EMP
@ PROW()+1,(INT(40-LEN("R.F.C. " +cRFC_EMP))/2) SAY "R.F.C. " +cRFC_EMP
@ PROW()+1,(INT(40-LEN("TEL. " +cTEL_EMP))/2) SAY "TEL. " +cTEL_EMP
@ PROW()+1, 0 SAY "FOLIO :"
@ PROW() , 8 SAY cFOLIO
@ PROW() ,22 SAY DTOC(DATE())+" - "+SUBSTR(TIME(),1,5)
@ PROW()+1, 0 SAY REPLICATE("-",40)
SET DEVICE TO SCREEN
SET PRINTER TO
PRINTFILERAW(cDevOut,cIMPX)
RETURN NIL
Saludos!
- deividdjs
- Usuário Nível 3

- Mensagens: 377
- Registrado em: 19 Set 2006 09:39
- Localização: Foz do Iguaçu / Pr
IMPRESSÃO DIRETA PORTA USB em xHARBOUR
até hoje não consegui imprimir ... eu preciso imprimir em uma impressora LX-300 e LX-350 em modo DRAFT usandos os caracteres de impressão da EPSON ... condensado .. expandido e etc ... alguem pode me dar uma luz ??
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
IMPRESSÃO DIRETA PORTA USB em xHARBOUR
Olá!
Saudações,
Itamar M. Lins Jr.
Mostre a forma que está fazendo, para que todos possam te ajudar.até hoje não consegui imprimir ...
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- deividdjs
- Usuário Nível 3

- Mensagens: 377
- Registrado em: 19 Set 2006 09:39
- Localização: Foz do Iguaçu / Pr
IMPRESSÃO DIRETA PORTA USB em xHARBOUR
Estou gerando o arquivo .prn e mandando imprimir com a função do exemplo acima ...
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
IMPRESSÃO DIRETA PORTA USB em xHARBOUR
Olá!
A impressora está detectada no windows ?
LX300 e 350 na LPT1 no windows tem problemas, imprime usando notepad ?
Como faz p/ imprimir então ? sem ser p/ seu sistema ?
Tente usar na LX350 USB, ainda tenho cliente que usa LX3XX mas é USB.
Sem ver seu código fica só especulação mesmo...
Pq o código "printfileraw()" indicado por vc funciona. Ou não acha o arquivo .prn/.txt ou não acha a impressora ou problema de compatibilidade "LX300 x Windows."
E não tem o que fazer, pq isso é muito simples de resolver. Mas com essas informações a conta gotas, vamos nos arrastando no processo para resolver seu problema.
Saudações,
Itamar M. Lins Jr.
A impressora está detectada no windows ?
LX300 e 350 na LPT1 no windows tem problemas, imprime usando notepad ?
Como faz p/ imprimir então ? sem ser p/ seu sistema ?
Tente usar na LX350 USB, ainda tenho cliente que usa LX3XX mas é USB.
Sem ver seu código fica só especulação mesmo...
Pq o código "printfileraw()" indicado por vc funciona. Ou não acha o arquivo .prn/.txt ou não acha a impressora ou problema de compatibilidade "LX300 x Windows."
E não tem o que fazer, pq isso é muito simples de resolver. Mas com essas informações a conta gotas, vamos nos arrastando no processo para resolver seu problema.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- deividdjs
- Usuário Nível 3

- Mensagens: 377
- Registrado em: 19 Set 2006 09:39
- Localização: Foz do Iguaçu / Pr
IMPRESSÃO DIRETA PORTA USB em xHARBOUR
Código: Selecionar todos
if Imp_PORTA == 2 && USB/REDE
RSTENV(REIMPRI)
c_codped := cc_codped
IMP_PEDVEN() // imprime em arquivo .PRN
IMPRIMI_RAW(REL_TELA)
endif/// aqui entra na rotira para imprimir o pedido em usb / rede modo raw
Código: Selecionar todos
tmp := "tm" + substr(time(),4,2) + substr(time(),7,2) + "pv" && impressao de pedido de venda
do while .t.
if imp_pedven = 1 .and. imp_PORTA = 1
if .not. CHKPRN()
set filter to
tmp->(dbclosearea())
tmp += ".dbf"
ferase (tmp)
cdx += ".cdx"
ferase (cdx)
return(2)
endif
endif
SETCURSOR(0)
set color to "N/W*"
IMP := WIN(12,25,17,51, "Aguarde!", WT_AZUL2BRANCO, WD_AZUL2BRANCO)
@14,29 say "I M P R I M I N D O" color "R/W*"
@15,26 say "----------------------------------"
@16,31 say "Copia de Nº"
@16,43 say copia picture "9" color "R/W*"
inkey(1)
if imp_pedven = 1 .and. imp_PORTA = 1 && LPT1
set printer to LPT1
set device to printer
set printer on
endif
public REL_TELA := TMP
if imp_pedven = 2 .or. imp_porta = 2 // USB
set printer to (tmp) + ".prn"
set device to printer
set printer on
set console off
endif
set color to
vcab = .t.
n_item := 1
vez := 1
n_valserv := 0
n_valprod := 0a função que chama o printfileraw é essa abaixo..
Código: Selecionar todos
*-------------------------------*
function IMPRIMI_RAW(p_arquivo) // IMPRIMI IMPRESSORA MATRICIAL MODO DRAFT
*-------------------------------*
local TELA_ANT
save screen to TELA_ANT
ARQ_TXT := (p_arquivo) + ".PRN"
cPrint:= GetDefaultPrinter() // pega impressora padrÆo
PrintFileRaw(cPrint,ARQ_TXT)
fclose(ARQ_TXT)
erase (p_arquivo) + ".PRN"
restore screen from TELA_ANT
setcursor(3)
return(0))é bem modo simplezão mais sempre funcionou em impressoras LPT1 e a com o nodosimp funciona perfeitamente ... porém não consigo usalos da forma que preciso é q utilizando os codigos de impressao para imprimir em modo DRAFT .. condensado .. expandido ... como antes no cliper em LPT1 ...
tá bixo feio ... eu até consegui imprimir algumas vezes com o PRINTFILERAW ... porem ele sai tudo DRAFT NORMAL .. .não obedece os codigos de impressao ...
Att,,
Abs.
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
IMPRESSÃO DIRETA PORTA USB em xHARBOUR
Olá!
Feche o fclose antes de imprimir senão não vai mesmo ! Apague o arquivo depois de impresso.
set device to ... set printer to ... (Liberar o arquivo TEXTO), para ser usado por outros programas, no caso mandar para impressora, antes de imprimir
Saudações,
Itamar M. Lins Jr.
Feche o fclose antes de imprimir senão não vai mesmo ! Apague o arquivo depois de impresso.
set device to ... set printer to ... (Liberar o arquivo TEXTO), para ser usado por outros programas, no caso mandar para impressora, antes de imprimir
Cadê o arquivo .prn ? para ver se chr(x) está saindo, precisa colocar a pagina de código correta nesse momento deverá ser cp437.porem ele sai tudo DRAFT NORMAL
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
-
maxtai
- Usuário Nível 1

- Mensagens: 9
- Registrado em: 04 Out 2014 16:31
- Localização: Criciúma/SC
- Contato:
IMPRESSÃO DIRETA PORTA USB em xHARBOUR
Quando eu trabalhava em modo console. Eu instalava no windows a impressora usb, depois compartilhava ela na rede, e colocava um nome bem pequeno. depois usava o comando NET USE para direcionar ela para a LPT1:. Depois disso meu sistema antigo que mandava para a lpt1 funcionava perfeito.
Um grande abraço,
MaxTai
XGestor Sistemas
www.xgestorvarejo.com.br
Um grande abraço,
MaxTai
XGestor Sistemas
www.xgestorvarejo.com.br