Preview

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

MARCELOG
Usuário Nível 4
Usuário Nível 4
Mensagens: 546
Registrado em: 15 Mar 2005 16:54
Localização: Divinópolis/MG

Preview

Mensagem por MARCELOG »

Olá companheiros,

Para impressão, depois de alguns exemplos, estou utilizando a classe Win32Prn.
Verifiquei no arquivo prg que a classe não possui método PREVIEW (ou será que tem?).
Então, como visualizar a impressão antes de descarregá-la na impressora?

Se não estiver falando bobagem, a classe Win32Prn gera um arquivo temporario para impressão (::STARTDOC).
Então, como pegar o nome desse arquivo temporário para, antes de ::ENDDOC e ::DESTROY, exibir o mesmo na tela.


Obrigado.

MGS
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Mensagem por Hasse »

Ninguém se habilita ?

Não é possível ?

Ou a solução seria o uso do WinPrn.prg do Kresin ?

Hasse.
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)
MARCELOG
Usuário Nível 4
Usuário Nível 4
Mensagens: 546
Registrado em: 15 Mar 2005 16:54
Localização: Divinópolis/MG

Mensagem por MARCELOG »

Olá companheiros,
a classe win32prn gera um documento para impressão.
É fácil verificar a situação observando o método "startdoc" onde, se não for
indicado um nome, a classe automaticamente gera um com base na data e hora
do sistema.
A partir do nome do documento (fornecido ou criado) é gerado um número
(hPtinterDC), provavelmente o handle do arquivo.
Gostaria de acessar este documento/ arquivo criado antes da impressão para
visualizá-lo na tela.
Alguém pode me ajudar a fazê-lo?
Desde já, muito obrigado.

Marcelo Giovane
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Mensagem por Hasse »

Olá companheiros.

Continuando a idéia acima, pergunta-se:

É possivel usar, para a finalidade de visualizar o arquivo, o "METHOD Preview() INLINE Nil" presente no Hprinter da HWGUI ?

De que forma se poderia fazer isto ?

Hasse
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)
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Mensagem por vagucs »

O WIN32PRN nao tem metodo preview, mas acredito que nao demora muito para incluirem, a rotina STARTDOC nao gera um arquivo DOC, ela é um rotina que chama as rotinas de baixo nivel dos drives de impressora para poderem começar a impressão de uma pagina grafica.
Sem mais
Wagner Nunes
www.vagucs.com.br
Dudu_XBase
Membro Master
Membro Master
Mensagens: 1071
Registrado em: 25 Ago 2003 16:55

Mensagem por Dudu_XBase »

Eu inicialmente apanhei mto com o win32prn.
Até conhecer a impressão da minigui.
Eu recompilei em xharbour essa impressão da minigui e to fazendo teste mesclando com gtwvt e gtwvw com preview e tudo qdo terminar meus testes vou postar a lib e como to fazendo.
Mas até agora esta show de bola em breve vou postar como fiz.
Peguei os sources da minigui e da miniprint.


________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle




Avatar do usuário
JAIR RANGEL
Usuário Nível 3
Usuário Nível 3
Mensagens: 178
Registrado em: 19 Jul 2005 16:01
Localização: RIO DE JANEIRO
Contato:

Mensagem por JAIR RANGEL »

Para Dudu_XBase.............

Por que não usar a HBPRINTER ?????

Se perguntei besteira, me desculpe ! E que ainda não cheguei na parte de impressão. Mas gostaria de saber....................................................


Migrando Para HARBOUR + MINIGUI 108 + BRMAKE :xau
MINIGUI + HARBOUR + BRMAKE + CDX
CLIPPER 5.2E + VISUALLIB 2 + BLINKER
MARCELOG
Usuário Nível 4
Usuário Nível 4
Mensagens: 546
Registrado em: 15 Mar 2005 16:54
Localização: Divinópolis/MG

Mensagem por MARCELOG »

Caro Vagner,
procurando na internet sobre a Win32Prn, que usa várias rotinas em C para acessar as api´s do Windows conclui (parcialmente) o seguinte:

- o Windows não imprime, mas "pinta" a impressão numa área e descarrega os comandos num arquivo para impressão.

Logo, a informação de que o método/ função STARTDOC não gera um arquivo para impressão, s.m.j., não é inteiramente correta.

Verificando (e estudando) o caso, a sua informação realmente procede.

Todavia, em "alguma parte" da classe, o "DEVICE CONTEXT" (DC) é descarregado num arquivo e enviado para a impressão.

Com efeito, realizada a descarga, se a impressora não puder ser realizada, vai ficar na fila de impressão como qualquer arquivo.

Se acaso tiver dado um nome ao documento (em STARTDOC), este será o nome constante do painel de impressoras ou, caso contrário, o nome criado pelo método.

Então, em que oportunidade é criado (ou descarregado) a tela "pintada" pelo Windows em arquivo para impressão?

Se puder ajudar, desde já agradeço.

MGS
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Mensagem por vagucs »

Marcelog,

Suas informações estão estritamente corretas, estes arquivos ficam no ditorio de spooler da impressora, porém eles contem os comandos de impressão que a impressora lerá e então desenhará o relatorio na tela.

Recuperar este arquivo nao nos ajudará em nada pois cada tipo de impressora tem comandos diferentes ou seja, este arquivo varia de acordo com o modelo da impressora instalada.

Porem o Handl DC permite que o mesmo relatorio seja impressora em arquivos WMF, assim que todos os sistemas e libs fazem a visualização do relatorio, não é difil implantar tão possibilidade no WIN32PRN ou mesmo fazer uma classe derivada com esta propriedade.
Sem mais
Wagner Nunes
www.vagucs.com.br
MARCELOG
Usuário Nível 4
Usuário Nível 4
Mensagens: 546
Registrado em: 15 Mar 2005 16:54
Localização: Divinópolis/MG

Mensagem por MARCELOG »

Caro Vagner,
você pode me dar uma dica de como fazê-lo.

nrhcemgs@teleon.com.br

MGS
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Mensagem por vagucs »

Cara nao tem dica, tem que pegar a API de criação de WMF e ir substituindo. Pode olhar o fonte da Minigprint, ela usa recursos parecidos para fazer o preview.
Sem mais
Wagner Nunes
www.vagucs.com.br
MARCELOG
Usuário Nível 4
Usuário Nível 4
Mensagens: 546
Registrado em: 15 Mar 2005 16:54
Localização: Divinópolis/MG

Mensagem por MARCELOG »

Vagner,
você pode enviar os fontes no meu email, não sei onde conseguí-los.

Obrigado.

MGS
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Mensagem por vagucs »

Minha net e discada.

Vc consegue os fontes da minigui no source forge

www.sourceforge.net
Sem mais
Wagner Nunes
www.vagucs.com.br
MARCELOG
Usuário Nível 4
Usuário Nível 4
Mensagens: 546
Registrado em: 15 Mar 2005 16:54
Localização: Divinópolis/MG

Mensagem por MARCELOG »

Baixei os fontes com sources.
Todavia, não existe um miniprint.prg ou algo parecido.
O mais perto é miniprint.ch que se encontra vazio.
As funções em C também não contém WMF e o termo Miniprint somente em exemplos, não se referindo ao fonte (da classe ou lib).

MGS
Responder