Clipper On Line • Ver Tópico - Impressão diferenciada...

Impressão diferenciada...

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

 

Impressão diferenciada...

Mensagempor FARLEY » 10 Jul 2007 10:13

Olá galera...

Gostaria da ajuda de vcs... estou precisando elaborar uma função que ajusta a fonte de acordo com a necessidade...
Em qualquer parte do relatorio
Imprimir em impressoras matriciais, jato de tinta, laser, etc...

/*
Função fImprime...
cTexto      - Texto a ser impresso...
nLin        - Posiçãoi da linha
nCol        - Posição da coluna
cFonte      - Fonte de impressão utilizada
nTamanho    - Tamanho da fonte
cNegrito    - Indica se é NEGRITO ou NÃO
cSublinhado - Indica se é SUBLINHADO ou NÃO
cItálico    - Indica se é ITÁLICO ou NÃO
*/

nFunc  = 0 // total de funcionarios
nTotal = 0 // total dos rendimentos
nLin = 1
nPag = 0
nMaxLin = 65 // numero máximo de linhas

select func
go top
do while !eof()
   // CABEÇALHO
   if nLin = 1
      nPag++
      fImprime( "RELATORIO DE FUNCIONARIOS", ++nLin, 001, "Times New Roman",12, "S", "N", "S ")
      fImprime( "Pag.: " + StrZero( nPag,3 ), nLin, 124, "Arial", 8, "S", "N", "N" )
      fImprime( Repl("-", 132), ++nLin, 001, "Times New Roman", "S", "N", "N" )
      fImprime( "NOME                                      ENDERECO                        SALARIO", ++nLin, 001, , "Times New Roman", "S", "N", "N"  )
      fImprime( Repl("-", 132), ++nLin, 001, "Times New Roman", "S", "N", "N" )
   endif

   // CORPO DO RELATÓRIO
   fImprime( nome    , ++nLin, 001, "Courier New", "S", "N", "S" )
   fImprime( endereco,    Lin, 042, "Courier New", "N", "N", "N" )
   fImprime(  Transform( salary, "@R 999,999,999.99" ), nLin, 085, "Courier New", "N", "N", "S" )
   skip

   nFunc++
   nTotal+= salario

   if nLin+1 > nMaxLin // se passou a linha maxima
      fImprime( Repl("-", 132), ++nLin, 001, "Times New Roman", "S", "N", "N" ))
      nLin:= 1                                       
   endif                                             
enddo

fImprime( Repl("-", 132), ++nLin, 001, "Times New Roman", "S", "N", "N" ))
fImprime( "Total de Funcionarios : " + alltrim( Tran( nFunc,"999,999" ) ), ++nLin, 001, "Times New Roman", "N", "N", "N" ))
fImprime( Transform( nTotal, "@R 999,999,999.99" ), nLin, 119, "Times New Roman", "N", "N", "N" ))
use


Qual a melhor classe a ser utilizada?

Observe as linhas e os parâmetros definidos na impressão...

Conto com a ajuda e sugestão de vcs.. :)Pos

Grato

Farley
FARLEY
 

Mensagempor sygecom » 13 Jul 2007 23:37

Tche, vc jah deu uma olhada na Classe WIN32PRN do xharbour...?
Essa Classe tem a possibilidade de imprimir em varias fontes na mesma impressão......imprimir em qualquer impressora que estiver funcionando no winodws...alem de outras inumeras funções que vc pode usar tb.

De uma olhada no codigo fonte dela em:
\xharbour\source\rtl\win32prn.prg

No link abaixo tem um exemplo simples:
http://www.pctoledo.com.br/forum/viewtopic.php?t=5764

Não sei se vc esta usando o xharbour....se não tiver posso te enviar o PRG dessa classe pra vc dar uma olhada.

Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7018
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 133 vezes

Mensagempor sygecom » 14 Jul 2007 00:28

Tche, tem um outro exemplo de impressão tb. que o colega Raul postou agora pouco o link ...eu não testei...mas dando uma olhada rapida...acho que é algo parecido com a PageScript...se não for a mesma....é muito parecida..vale a pena dar uma olhada.

http://www.xharbour.com/xhc/index.asp?p ... show_sub=2

Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7018
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 133 vezes

Mensagempor FARLEY RIBEIRO » 24 Out 2007 07:50

Problema resolvido!!!
Obrigado a todos pela colaboração...

Abraços

Farley
Borland BCC(5.51)/PellesC(5.01)/Fivewin(2.6)/xHarbour.org(0.99.50)/Med(3.02)/DBFNTX/DBFCDX /WvWToools(0.83)
Avatar de usuário

FARLEY RIBEIRO
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 82
Data de registro: 24 Jul 2007 10:26
Cidade/Estado: MONTES CLAROS-MG
Curtiu: 0 vez
Mens.Curtidas: 0 vez




Retornar para FiveWin

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 11 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro