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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

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 186 vezes
Pra compilar, usei: hbmk2 test josequintas.hbc
contrato.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

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, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

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, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

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, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

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, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

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, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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 3091 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