como imprimir em modo console ?
Moderador: Moderadores
como imprimir em modo console ?
Ola amigos
Fiz a conversao para harbour ainda em modo console (a versao win tb esta sendo elaborada mas ainda nao terminei) como tenho alguns clientes que insistem em usar DOS continuo atualizando toda a regra de negocio em modo console mesmo, agora com o advento no win11 nao estou mais conseguindo imprimir, estou gerando o arquivo txt e o usuario se vira pra converter, como posso gerar um pdf diretamente em modo console ? ou ainda, como posso abrir uma janela for windows a partir do modo console e imprimir pela miniprint ?
Fiz a conversao para harbour ainda em modo console (a versao win tb esta sendo elaborada mas ainda nao terminei) como tenho alguns clientes que insistem em usar DOS continuo atualizando toda a regra de negocio em modo console mesmo, agora com o advento no win11 nao estou mais conseguindo imprimir, estou gerando o arquivo txt e o usuario se vira pra converter, como posso gerar um pdf diretamente em modo console ? ou ainda, como posso abrir uma janela for windows a partir do modo console e imprimir pela miniprint ?
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
como imprimir em modo console ?
Em se tratando dos sistemas rodando sob DOS, nada muda, e nos sistemas rodando sob Windows, veja se esse exemplo ajuda:
Código: Selecionar todos
Function Main()
Local aPrinters, cPrinter, nPrn
Local cFilePrint := "SeuArquivo.Txt"
Clear Screen
aPrinters := GetPrinters()
nPrn := AChoice( 12, 11, 16, 69, aPrinters, .T. )
If nPrn != 0
cPrinter := aPrinters[ nPrn ]
Hb_Alert( "Imprimir em:;;" + cPrinter )
Win_PrintFileRaw( cPrinter, cFilePrint, "Teste de Impressão" )
EndIf
Return NilAbraç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)
como imprimir em modo console ?
como assim nada muda ?
veja so, a partir da instalaçao de uma certa versao de windows, não é mais possível imprimir em lpt1, como fazia com clipper
aí passei a gerar a impressao num arquivo txt agora preciso fazer imprimir esse txt usando o compilador do harbour 3.4 em modo console mesmo usando @ say, @get
o que preciso é uma converter esse arquivo em pdf pelo menos, pra fazer o relatorio eu uso ?'cadalinha que quero imprimir cooloco assim'+variaveis
veja so, a partir da instalaçao de uma certa versao de windows, não é mais possível imprimir em lpt1, como fazia com clipper
aí passei a gerar a impressao num arquivo txt agora preciso fazer imprimir esse txt usando o compilador do harbour 3.4 em modo console mesmo usando @ say, @get
o que preciso é uma converter esse arquivo em pdf pelo menos, pra fazer o relatorio eu uso ?'cadalinha que quero imprimir cooloco assim'+variaveis
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
como imprimir em modo console ?
Olá!
LPTX é uma porta. Pode ser COM1, USB001, USB002 etc..
Porta não é leiaute(conteúdo) de arquivo.
Aqui no forum temos diversos exemplos, do simples ao complicado. Esse que foi postado é o "feijão com arroz", mas tem mais diversas opções.
Hwgui, Minigui... Vai depender da sua lib gráfica. E se usa console pode usar winprn "a classe", tem a classe adaptada pelo José Quintas que gera PDF... Procure aqui no forum.
Saudações,
Itamar M. Lins Jr.
Qualquer versão do windows imprime em LPTX inclusive o LINUX. O problema é que não vem mais a porta LPT1 e as seriais, fisicamente falando.a partir da instalaçao de uma certa versao de windows, não é mais possível imprimir em lpt1
LPTX é uma porta. Pode ser COM1, USB001, USB002 etc..
Porta não é leiaute(conteúdo) de arquivo.
Aqui no forum temos diversos exemplos, do simples ao complicado. Esse que foi postado é o "feijão com arroz", mas tem mais diversas opções.
Hwgui, Minigui... Vai depender da sua lib gráfica. E se usa console pode usar winprn "a classe", tem a classe adaptada pelo José Quintas que gera PDF... Procure aqui no forum.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
como imprimir em modo console ?
Valeu pessoal, muito obrigado, resolveu
Agora gera diretamente o pdf como eu queria !
Eu é que estava receoso em usar usar as libs que acompanham o harbour so fiz a conversao direta do clipper mesmo, agora ja vi que todas essas libs estao aí pra serem usadas e nao vao causar problemas como no antigo clipper.
Obrigado mesmo, um monte de horizontes se abriram agora.... vcs sao demais.!
Agora gera diretamente o pdf como eu queria !
Eu é que estava receoso em usar usar as libs que acompanham o harbour so fiz a conversao direta do clipper mesmo, agora ja vi que todas essas libs estao aí pra serem usadas e nao vao causar problemas como no antigo clipper.
Obrigado mesmo, um monte de horizontes se abriram agora.... vcs sao demais.!
como imprimir em modo console ?
porém to gerando pdf mas nao tem conteudo, fiquei na duvida agora se usando win_printfileraw() vai funcionar para impressoras do windows
bom de qualquer forma, valeu muito o aprendizado, amanha continuamos
bom de qualquer forma, valeu muito o aprendizado, amanha continuamos
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
como imprimir em modo console ?
Olá!
Pedaço de código para dar uma noção.
Aqui no forum tem diversos exemplos, procura ai...
Saudações,
Itamar M. Lins Jr.
Só vai funcionar da forma que está querendo se usar a classe winprn.mas nao tem conteudo,
Pedaço de código para dar uma noção.
Código: Selecionar todos
oPrn := win_prn():New(rtrim(aPrn[oPrint]))
oPrn :LandScape := .F.
oPrn :FormType := FORM_A4
oPrn :Copies := 1
If !oPrn:Create()
hwg_Msginfo("Não foi criado documento")
Return Nil
Else
If !oPrn:startDoc("Imprimindo Livros de Entradas")
hwg_Msginfo("Erro na Impressora")
Return Nil
Else
CabLivroEntradasII()
... etc e tals...
return .t.
***************************
Function CabLivroEntradasII
***************************
*
*
oPagina:refresh()
oPrn:SetPrc(4,0)
// oPrn:CharSet(0)
// oPrn:Bold(0)
oprn:SetFont('Lucida Console',10,{-3,60})
oprn:Textout(padc('LIVRO REGISTRO DE ENTRADAS - RE - MODELO P1/A',130),.t.)
//oPrn:SetFont('Lucida Console',7,0)
oPrn:SetFont( "Lucida Console", 8, { 3, -50 } )
linha :='|'+replicate('-',129)+'|'
oprn:Textout(linha,.t.)
oprn:Textout('| R E G I S T R O D E E N T R A D A S | (a) CODIGO DE VALORES FISCAIS |',.t.)
oprn:Textout('| |---------------------------------|',.t.)
oprn:Textout('| Firma: '+em->empresa +space(27) + '| 1 - OPERACOES COM CREDITO DO |',.t.)
oprn:Textout('| | IMPOSTO |',.t.)
oprn:Textout('| Insc.Est.: '+em->i_e +space(13)+ 'CNPJ: '+ em->cgc +space(36) + '| 2 - OPER. SEM CREDITO DO IMPOSTO|',.t.)
oprn:Textout('| | ISENTAS OU NAO TRIBUTADAS |',.t.)
oprn:Textout('| Folha: '+ zero_esq(nPagina,4)+spac(27)+'MES OU PERIODO/ANO: '+ pad(mes(nMes)+'/'+cAno,36)+ '| 3 - OPER. SEM CREDITO DO IMPOSTO|',.t.)
oprn:Textout('| | OUTRAS |',.t.)
oprn:Textout('+--------+---------------------------------------------+-------------+----------+---------------------------------+---------------+',.t.)
oprn:Textout('| | DOCUMENTOS FISCAIS | | VALORES FISCAIS | |',.t.)
oprn:Textout('|DATA DE +---+---+---------+--------+--------------+---+ +----+----+---+------------------------------+ |',.t.)
oprn:Textout('| |ES-|SE-| |DATA DO | CODIGO |UF | VALOR | | | | BASE | | IMPOSTO | |',.t.)
oprn:Textout('| | |RIE| | | | | | |ICMS|COD| DE CALCULO | ALI-| | OBSERVACOES |',.t.)
oprn:Textout('| |PE-|SUB| NUMERO | | |ORI| CONTABIL |CFOP| | | OU |QUOTA| CREDITADO | |',.t.)
oprn:Textout('|ENTRADA | |SE-| |DOCUMEN-| EMITENTE |GEM| | |IPI |(A)| VALOR DA | | | |',.t.)
oprn:Textout('| |CIE|RIE| |TO | | | | | | | OPERACAO | | | |',.t.)
oprn:Textout('+--------+---+---+---------+--------+--------------+---+-------------+----+----+---+------------+-----+-----------+---------------+',.t.)
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
como imprimir em modo console ?
se vc ja gera em TXT
faça
xfile := Strtran( xfile, [.pdf], "" )
Erase_xfile = alltrim(xfile) + [.pdf]
erase &Erase_xfile
seta_tamanho_pdf()
xrun = [\dbdc\dosprint /FILE /PDF ] + cCpi + ccpil + Arquivo
MyRun(xrun)
xfile = alltrim(xfile) + [.pdf]
faça
xfile := Strtran( xfile, [.pdf], "" )
Erase_xfile = alltrim(xfile) + [.pdf]
erase &Erase_xfile
seta_tamanho_pdf()
xrun = [\dbdc\dosprint /FILE /PDF ] + cCpi + ccpil + Arquivo
MyRun(xrun)
xfile = alltrim(xfile) + [.pdf]
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
como imprimir em modo console ?
Acho que não perceberam um detalhe, miniprint é HMG, talvez as soluções do Harbour não sirvam.Trazom escreveu:como posso abrir uma janela for windows a partir do modo console e imprimir pela miniprint ?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/

