Win32prn para Iniciantes
Moderador: Moderadores
-
Hasse
- Usuário Nível 4

- Mensagens: 820
- Registrado em: 19 Out 2004 10:30
- Localização: Jaraguá do Sul - SC
Tem sim.
Eu uso o PDFCreator 0.7.1.
Se não me engano também pode ser gravado em arquivo DOC.
Eu uso o PDFCreator 0.7.1.
Se não me engano também pode ser gravado em arquivo DOC.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Se vc deseja para um WORD por exemplo, vc nem prescissa usar a WIN32PRN, pode usar via OLE no sessão codigo fonte tem um exemplo simples, qualquer coisa posso postar mais exemplos.Dércio_Luiz_Zanatta escreveu:Tem como imprimir para arquivo usando o win32prn ?
Senão, Tem outro jeito ?
Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Leo , pode postar que estou estudando uma maneira de imprimir para arquivo , só não sei qual seria mais rapido e eficiente PDF .or. Wordsygecom escreveu:Se vc deseja para um WORD por exemplo, vc nem prescissa usar a WIN32PRN, pode usar via OLE no sessão codigo fonte tem um exemplo simples, qualquer coisa posso postar mais exemplos.Dércio_Luiz_Zanatta escreveu:Tem como imprimir para arquivo usando o win32prn ?
Senão, Tem outro jeito ?
Abraços
Leonardo Machado
C:\Xharbour\Xdev\Fw\VSX
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Código: Selecionar todos
*****************************
PROCEDURE Abre_word(cARQ,IMP)
*****************************
LOCAL oWord, oText, oDoc
IF IMP=Nil
IMP="N"
endif
MsgRun("Aguarde Gerando Documento de Word...")
GERAFILE() // gera um nome para arq. temporario
vARQ:={}
aadd( vARQ, {"LINHA","C",200,0} )
DBcreate(cFILE, vARQ,"DBFCDX")
SELE 999
USE (cFILE) alias gera_ole EXCL new VIA "DBFCDX"// ALIAS tela shared NEW
append from (cARQ) sdf && nome completo do arquivo sdf
TRY
oWord := GetActiveObject( "Word.Application" )
CATCH
TRY
oWord := CreateObject( "Word.Application" )
CATCH
MsgStop("Não foi Possivel Achar o Word Instalado","Aviso do Sistema")
RETURN
END
END
IF !FILE(cARQ)
MsgStop("Não Foi possivel Abrir o Documento de Word")
RETURN
ENDIF
oWord:Documents:Add()
oText := oWord:Selection()
Sele gera_ole
dbgotop()
Do while !eof()
cLinha := Linha // Busca linha de impressao
oText:Font:Name := "Lucida Console"
oText:Font:Size := 8
oText:Font:Bold := .F.
oText:Text+= cLinha + CRLF
dbskip()
enddo
IF IMP="N"
oWord:Visible := .T. //PARA VISUALIZAR OU NÃO ANTES
oWord:WindowState := 1 // Maximize
ENDIF
IF IMP="S"
oWord:Visible := .F. //PARA VISUALIZAR OU NÃO ANTES
oWord:PrintOut() //PARA IMPRIMIR DIRETO
ENDIF
RETURN
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
-
lindinaldo
- Usuário Nível 1

- Mensagens: 4
- Registrado em: 13 Fev 2007 18:37
duvida
comecei a usar o win32prn, mas quando uso impressoras lx300 elas
nao obedecem a margim na segunda folha quando e uma nova impressao ela vai decendo..
pode me ajudar...
LIndinaldo
nao obedecem a margim na segunda folha quando e uma nova impressao ela vai decendo..
pode me ajudar...
LIndinaldo
-
Hasse
- Usuário Nível 4

- Mensagens: 820
- Registrado em: 19 Out 2004 10:30
- Localização: Jaraguá do Sul - SC
O código (PRG) do início foi alterado. Lá acrescentei a impressão de imagens, conforme sugestão do colega Maligno.
Vejam:
https://pctoledo.org/forum/viewto ... sc&start=0
Vejam:
https://pctoledo.org/forum/viewto ... sc&start=0
Editado pela última vez por Hasse em 26 Jan 2008 16:30, em um total de 2 vezes.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Eder, na HWGUI eu tentaria algo assim:
************************
FUNC PrintBitMap( oPrn ) //função para imprimir imagem do logotipo
************************
LOCAL oBMP
PRIVATE oBmp1 := HBitmap():AddResource("ID_RES")
oBMP:= Win32BMP():new()
oBmp:loadFile( oBmp1 )
oBmp:Draw( oPrn, { 200,200,500,500 } )
oBMP:Destroy()
RETURN
************************
FUNC PrintBitMap( oPrn ) //função para imprimir imagem do logotipo
************************
LOCAL oBMP
PRIVATE oBmp1 := HBitmap():AddResource("ID_RES")
oBMP:= Win32BMP():new()
oBmp:loadFile( oBmp1 )
oBmp:Draw( oPrn, { 200,200,500,500 } )
oBMP:Destroy()
RETURN
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Sugestão: em se tratando de uma atualização que dispensa o código anterior, já que é algo grande, edite sua primeira mensagem, apagando o código postado e talvez inserindo um link para a mensagem que tem o código mais novo. Assim damos uma força pro nosso colega Toledo.Hasse escreveu:Postei o código completo novamente para facilitar o trabalho daqueles que desejarem "copiar" e "colar".
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
-
Hasse
- Usuário Nível 4

- Mensagens: 820
- Registrado em: 19 Out 2004 10:30
- Localização: Jaraguá do Sul - SC
Conforme tua sugestão, fiz as alterações propostas. Não entendi bem o espírito da questão, porém tenho certeza que você deve saber como isto acontece e funciona, pois para mim o tamanho total ficou igual.Maligno escreveu: Sugestão: em se tratando de uma atualização que dispensa o código anterior, já que é algo grande, edite sua primeira mensagem, apagando o código postado e talvez inserindo um link para a mensagem que tem o código mais novo. Assim damos uma força pro nosso colega Toledo.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Ah, não. Você entendeu errado. Eu não sugeri criar um novo tópico para postar o código mais novo. Sugeri que você editasse sua primeira mensagem nesse tópico aqui, apagando-o se for desnecessário, a fim de economizar o espaço em disco que o Toledo paga.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
-
Hasse
- Usuário Nível 4

- Mensagens: 820
- Registrado em: 19 Out 2004 10:30
- Localização: Jaraguá do Sul - SC
OOOOPPPPPPSSSSS !!!!! Foi mal. Perdão.
Agora entendi. E já providenciado.
Agora entendi. E já providenciado.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Beleza pura! Thanks. 
Aliás, aproveitando o ensejo, quero sugerir ao Toledo a criação de uma seção de código fonte apenas para XHarbour. Seria bem mais prático. Todos os fontes seriam lá depositados, o que, creio eu, facilitaria até a pesquisa. Na discussão normal apenas se faria uma referência ao fonte na outra seção.
Aliás, aproveitando o ensejo, quero sugerir ao Toledo a criação de uma seção de código fonte apenas para XHarbour. Seria bem mais prático. Todos os fontes seriam lá depositados, o que, creio eu, facilitaria até a pesquisa. Na discussão normal apenas se faria uma referência ao fonte na outra seção.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
sygecom escreveu:Eder, na HWGUI eu tentaria algo assim:
************************
FUNC PrintBitMap( oPrn ) //função para imprimir imagem do logotipo
************************
LOCAL oBMP
PRIVATE oBmp1 := HBitmap():AddResource("ID_RES")
oBMP:= Win32BMP():new()
oBmp:loadFile( oBmp1 )
oBmp:Draw( oPrn, { 200,200,500,500 } )
oBMP:Destroy()
RETURN
Interessante Sr. Machado !
C:\Xharbour\Xdev\Fw\VSX
