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
Pular para uma determina linha com win32prn
Moderador: Moderadores
-
marcos.gurupi
- Usuário Nível 4

- Mensagens: 939
- Registrado em: 06 Jul 2004 11:53
- Localização: Gurupi-TO
-
Hasse
- 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
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 ================
ou
Logo abaixo, naquele exemplo, tem a documentação completa das funções.
Você também pode deslocar a linha usando: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
Em caso de dúvidas, quem sabe posso te ajudar.
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")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)Você também pode deslocar a linha usando:
Código: Selecionar todos
DO WHILE oPrinter:Prow() < n_alvo
oPrinter:NewLine()
ENDDOTambé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 )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)
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)