Word application

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

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20420
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Word application

Mensagem 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.
test.prg
(11.41 KiB) Baixado 190 vezes
Pra compilar, usei: hbmk2 test josequintas.hbc
contrato.png
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20420
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Word application

Mensagem 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" )
contrato2.png
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Word application

Mensagem 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
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Word application

Mensagem por janio »

A propósito,

Em qual lib consta a função GetHbVar() ?

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20420
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Word application

Mensagem 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:

Código: Selecionar todos

   ::nCol  := nLeft + Len( cTexto )
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.
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Word application

Mensagem 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() ?
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20420
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Word application

Mensagem 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 )
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

Word application

Mensagem 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...
"Eu e minha casa servimos ao Senhor e você ???"
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20420
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Word application

Mensagem 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:

Código: Selecionar todos

FUNCTION GetHbVar( cTexto )
   RETURN &( cTexto )
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Word application

Mensagem por janio »

Blz,

Onde encontro a PDFClass atualizada?

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20420
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Word application

Mensagem 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
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

Word application

Mensagem 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
Funcoes Harbour no FastReport .png (11.08 KiB) Exibido 3224 vezes
A IDE do FastReport é carregada diretamente no programa no desenvolvimento.
FastReport.png
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
"Eu e minha casa servimos ao Senhor e você ???"
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Word application

Mensagem por janio »

Até que ta ficando marromeno kkkkkkkkk
Anexos
REL.png
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Word application

Mensagem 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
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Word application

Mensagem por asimoes »

Nesses exemplos tem uma chamada para uma função TrechoJust onde ela está ? pra ficar completo o exemplo.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Responder