Cabeçalho e Rodapé com .PRN e WIN32PRN

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

Moderador: Moderadores

Avatar do usuário
EANDRIOLI
Usuário Nível 3
Usuário Nível 3
Mensagens: 109
Registrado em: 22 Jun 2007 18:31
Localização: Sorriso-MT

Cabeçalho e Rodapé com .PRN e WIN32PRN

Mensagem por EANDRIOLI »

Amigos!!!

Estou tentando imprimir um arquivo .PRN (ele possui comandos EJECT para ir para nova folha e possui IF PROW()=0 para testar inicio de folha para imprimir o cabeçalho).

1. Pergunto: devo eliminar o EJECT() do arquivo quando gero o mesmo pelo .PRG?

2. Ou seria correto gerar um .prn normal sem o EJECT?

3. Alguem poderia passar um modelo usando o teste de fim e inicio de folha para imprimir os cabeçalhos e rodapés?

4. Ou tudo isso deve ser feito dentro da WIN32?

Saudações

ERASMO ANDRIOLI
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: CABEÇALHO E RODAPÉ COM .PRN E WIN32PRN

Mensagem por Itamar M. Lins Jr. »

Se for usar WinPrn, não irá funcionar nenhum comando desses eject, chr(14),chr(15) é coisa do passado.
Até porque se for enviado via printfileraw(...) para uma impressora "FOR WINDOWS" vai travar e da um trabalho excluir o tal documento da fila. Todas as vezes que acontece isso nos clientes temos que reiniciar até o computador.
Quanto aos cabeçalhos e rodapes eu não sei responder.
Eu uso a fonte "Courier New" ou "Lucida Console" para imprimir, então é bem parecido como era feito no clipper, só não uso os comando acima.

Código: Selecionar todos

oPrn:SetPrc(4,0)
oPrn:CharSet(0)
oPrn:Bold(0)
oprn:SetFont('Lucida Console',7,0)

oprn:TextOut('*----------------------------------------------------------------------------------------------------------------------------------*',.t.)
oprn:TextOut('|                                      LIVRO REGISTRO DE APURACAO DO ICMS - RAICMS - MODELO P9                                     |',.t.)
oprn:TextOut('|                                                                                                                                  |',.t.)
oprn:TextOut('| Firma....: '+em->empresa+'                                                                                   |',.t.)
oprn:TextOut('| Insc.Est.: '+em->i_e + spac(10)+ 'CNPJ: '+ em->cgc+'                                                                          |',.t.)
oprn:TextOut('| Folha: '+ zero_esq(pagina,4)+spac(20)+'MES OU PERIODO/ANO: '+ pad(mes(mes)+'/'+ano,36)+spac(37)+'     |',.t.)
oprn:TextOut('|----------------------------------------------------------------------------------------------------------------------------------|',.t.)
oprn:TextOut('|                                                     E N T R A D A S                                                              |',.t.)
oprn:TextOut('|------------------------+----------------------+----------------------------------------------------------------------------------|',.t.)
oprn:TextOut('|      CODIFICACAO       |       VALORES        |                              ICMS - VALORES FISCAIS                              |',.t.)
oprn:TextOut('|----------+-------------+                      +----------------------------------------+-----------------------------------------|',.t.)
oprn:TextOut('|          |             |                      |     OPERACOES COM CREDITO DO IMPOSTO   |    OPERACOES SEM CREDITO DO IMPOSTO     |',.t.)
oprn:TextOut('|          |             |      CONTABEIS       +--------------------+-------------------+---------------------+-------------------|',.t.)
oprn:TextOut('| CONTABIL |    FISCAL   |                      |   BASE DE CALCULO  | IMPOSTO CREDITADO | ISENTA OU N. TRIBUT.|      OUTRAS       |',.t.)
oprn:TextOut('*----------+-------------+----------------------+--------------------+-------------------+---------------------+-------------------*',.t.)
Podemos usar tambem os caracteres estendido para uma melhor aparencia nos formulários.
ou usar os comandos nativos BOX, ARC, ELLIPSE.


Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Responder