Página 1 de 1

Pular para uma determina linha com win32prn

Enviado: 14 Ago 2008 22:41
por marcos.gurupi
Caros, estou criando um relatorio e tenho a necessidade de ir para uma
determinada linha. Como faco isso com o winprn?

Jah prevendo n ser entendido explico melhor. Estou emitindo um extrato em um
papel A4 timbrado e no final desse A4 tem QTDE DE TITULOS - TOTAL GERAL, ou
seja, totais do relatorio jah pre impressos eu devo somente preencher,
quando por exemplo emitir 10 registros como faco para ir direto para a linha
xx e emitir os totais?

Marcos Roberto

Re: Pular para uma determina linha com win32prn

Enviado: 16 Ago 2008 09:51
por Hasse
Bom dia Marcos.

No exemplo postado abaixo, você encontra, no início de impressão da 4ª página:
Este exemplo você pode copiar, colar e compilar sem inserir qualquer modificação, e rodando ver os resultados, e compará-los com o PRG. Veja:

viewtopic.php?f=4&t=6465&p

Onde:
*======================= Aqui começa a impressão da 4ª página ================

Código: Selecionar todos

oPrinter:TextOutAt( nCol*nLarCar , nRow*nAltCar ,"Coluna: "+;
                  ALLTRIM(STR(oPrinter:Pcol()))+"- Linha: "+;
                  ALLTRIM(STR(oPrinter:Prow()))+"      -A linha seguinte vai aqui")
ou

Código: Selecionar todos

oPrinter:TextAtFont(oPrinter:mm_to_posx(105),oPrinter:mm_to_posy(50), +;
                  "Imprimindo em negrito centralizado na horizontal","Courier New", +;
                   10,,700,,,,,,,2)
Logo abaixo, naquele exemplo, tem a documentação completa das funções.

Você também pode deslocar a linha usando:

Código: Selecionar todos

DO WHILE oPrinter:Prow() < n_alvo
   oPrinter:NewLine()
ENDDO
Onde n_alvo é a linha desejada.

Também há a função que desloca o apontador de impressão para uma deperminada posição coluna , linha

Código: Selecionar todos

oPrinter:SetPrc( n_col, n_lin )
Em caso de dúvidas, quem sabe posso te ajudar.