Pular para uma determina linha com win32prn

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

Moderador: Moderadores

marcos.gurupi
Usuário Nível 4
Usuário Nível 4
Mensagens: 939
Registrado em: 06 Jul 2004 11:53
Localização: Gurupi-TO

Pular para uma determina linha com win32prn

Mensagem 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
Marcos Roberto
NetService Software
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

Re: Pular para uma determina linha com win32prn

Mensagem 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.
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)
Responder