Página 2 de 3
Word application
Enviado: 23 Set 2017 15:33
por JoséQuintas
Um exemplo usando pdfclass.
Teria que fazer igual fiz pra NFE, calculando pela largura do PDF e não pela largura do fonte, pra poder usar qualquer fonte. Na falta disso, pra ajustar automático, a courier que tem tamanho fixo.
O texto poderia ficar armazenado, talvez com [ b ]texto[ /b ] pra indicar aonde vai ser bold, e desse jeito não precisaria ficar fixo no programa.
Pra compilar, usei: hbmk2 test josequintas.hbc
Word application
Enviado: 23 Set 2017 15:46
por JoséQuintas
Ou alterando a rotina do "bold"
Código: Selecionar todos
oPDF:DrawZebrado(1)
oPDF:DrawText( oPDF:nRow, 0, TrechoJust( @oElement, oPDF:MaxCol() ), , , "Courier-Bold" )
Word application
Enviado: 23 Set 2017 18:03
por janio
Muito interessante, Quintas!
Poderia ser usados varios tipos e tamanhos de fontes no mesmo relatório?
Poderia tbm ser usado fonte negrito em apenas uma parte da linha e não somente apenas na linha inteira?
Janio
Word application
Enviado: 23 Set 2017 18:14
por janio
A propósito,
Em qual lib consta a função GetHbVar() ?
Janio
Word application
Enviado: 23 Set 2017 18:29
por JoséQuintas
O que entra nisso de letras diferentes é que precisa calcular em "tamanho PDF" e não em colunas de texto.
Para a classe é só passar o nome do fonte e tamanho, mas sem o cálculo, não vai sair na coluna correta.
O método que escreve:
Código: Selecionar todos
METHOD DrawText( nTop, nLeft, xValue, cPicture, nFontSize, cFontName, nAngle, anRGB )
só que precisaria alterar esta parte pra considerar o tamanho PDF e não tamanho do texto:
De um modo geral, seria usar a mesma conversão usada em outras partes.
Colunas usadas = Tamanho utilizado em pixels / tamanho padrão de uma coluna em pixels
O que vai complicar vai ser a divisão de texto, contendo caracteres diferentes.
De repente a palavra atual cabe, mas a próxima não, e se for a última palavra da linha, lá se foi a formatação.
É pra pensar, porque pode eliminar uso extra de Word pra determinadas coisas...
Já pensando nas possibilidades... rs... por exemplo um array com as palavras e tamanhos, pra poder fazer o ajuste justificado.
Word application
Enviado: 23 Set 2017 19:22
por janio
A bola ta com vc, mestre kkkkkkkkk
os relatórios poderiam todos serem feitos em pdf, que eliminaria a necessidade de um preview, o usuário poderia escolher qual página deseja imprimir e em qualquer impressora que esteja instalada! MARAVILHA!
Ocorre que agora me ocorreu o seguinte: Cada relatório será um arquivo pdf. Em que momento eu APAGO esse arquivo? Logo após a geração do relatório pode não funcionar, ja que o arquivo pode estar aberto no leitor de pdf.
Outra coisa:
1-)
Eh possível tbm controlar o salto de página? Aí entra tbm tamanho da fonte... rsrsrs
Costume sempre repetir o cabeçalho em todas as páginas, so que para isso eu precisar saber quando devo dar um "NewPage"
2-)
Onde encontro a função GetHbVar() ?
Word application
Enviado: 24 Set 2017 00:28
por JoséQuintas
os relatórios poderiam todos serem feitos em pdf, que eliminaria a necessidade de um preview, o usuário poderia escolher qual página deseja imprimir e em qualquer impressora que esteja instalada! MARAVILHA!
Não entendi. Tudo que já tem?
Ocorre que agora me ocorreu o seguinte: Cada relatório será um arquivo pdf. Em que momento eu APAGO esse arquivo? Logo após a geração do relatório pode não funcionar, ja que o arquivo pode estar aberto no leitor de pdf.
Pra isso que serve a pasta temporária do Windows. Se não der pra apagar, fica lá pra quando der.... rs
Eh possível tbm controlar o salto de página? Aí entra tbm tamanho da fonte... rsrsrs
Tirando o tamanho do fonte, MaxRowTest( nLinhas )
Word application
Enviado: 24 Set 2017 10:07
por rubens
Bom dia..
2-)
Onde encontro a função GetHbVar() ?
Jânio é uma função do FastReport e não da PDFClass do Quintas...
Word application
Enviado: 24 Set 2017 11:14
por JoséQuintas
Jânio é uma função do FastReport e não da PDFClass do Quintas...
Pensei que era função do aplicativo.
O Fastreport não poderia acessar diretamente, então deve ter sido uma função compatível com Fastreport pra acessar o Harbour.
Dá pra criar uma equivalente então.
cText := "empresa [nome] no endereço [endereço] na cidade [cidade]"
Pesquisa o que está entre [] e substitui, ou direto ou usando macro.
Por exemplo o [nome], substitui por cadastro->nome, ou &( [nome] ).
A função do fastreport deve fazer algo deste tipo:
Word application
Enviado: 24 Set 2017 14:27
por janio
Blz,
Onde encontro a PDFClass atualizada?
Janio
Word application
Enviado: 24 Set 2017 15:54
por JoséQuintas
Direto do meu aplicativo, só retirar saídas de tela e chamada de preview, pra ficar independente.
https://github.com/JoseQuintas/JoseQuin ... fclass.prg
Word application
Enviado: 24 Set 2017 15:55
por rubens
Quintas...
O FastReport acessa diretametne o aplicativo... é "integrado".
Existe função no FastReport quando você está criando o relatório que pode buscar uma variável, uma função e diversas outros itens do seu programa.
Lista das funções que você pode interagir com o seu programa pelo FastReport

- Funcoes Harbour no FastReport .png (11.08 KiB) Exibido 3096 vezes
A IDE do FastReport é carregada diretamente no programa no desenvolvimento.
Acima está sendo gerado um relatório simples, usando a a função GetHbVar('cEmpresa') para buscar o conteúdo da variável cEmpresa
e a instrução
[CallHbFunc('Achaforn',[<COM."CODFOR_">])] executa a função Achaforn enviando o parametro código do fornecedor (COM."CODFOR_")
O FastReport é muito bom para gerar relatórios trabalhando diretamente com o Harbour e as tabelas que você enviar.
Só para esclarecer...
Foram postadas várias soluções para o problema do Jânio.
Rubens
Word application
Enviado: 24 Set 2017 20:27
por janio
Até que ta ficando marromeno kkkkkkkkk
Word application
Enviado: 25 Set 2017 10:36
por janio
Rubens,
1-) Quanto custa o FastReport para Harbour?
2-) Qual o site?
3-) Há algum demo?
4-) Pra funcionar no cliente precisa ser instalado alguma coisa? Acompanha alguma dll, por exemplo?
5-) As adaptações são trabalhosoas?
6-) Quais suas impressões pessoais sobre a ferramenta?
Janio
Word application
Enviado: 25 Set 2017 15:18
por asimoes
Nesses exemplos tem uma chamada para uma função TrechoJust onde ela está ? pra ficar completo o exemplo.