Clipper On Line • Ver Tópico - Word application

Word application

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

Moderador: Moderadores

 

Word application

Mensagempor JoséQuintas » 23 Set 2017 15:33

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 158 vezes


Pra compilar, usei: hbmk2 test josequintas.hbc

contrato.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18150
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Word application

Mensagempor JoséQuintas » 23 Set 2017 15:46

Ou alterando a rotina do "bold"

      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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18150
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Word application

Mensagempor janio » 23 Set 2017 18:03

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 de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

Word application

Mensagempor janio » 23 Set 2017 18:14

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 de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

Word application

Mensagempor JoséQuintas » 23 Set 2017 18:29

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:

   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:
   ::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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18150
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Word application

Mensagempor janio » 23 Set 2017 19:22

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 de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

Word application

Mensagempor JoséQuintas » 24 Set 2017 00:28

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18150
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Word application

Mensagempor rubens » 24 Set 2017 10:07

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 de usuário

rubens
Colaborador

Colaborador
 
Mensagens: 1518
Data de registro: 16 Ago 2003 09:05
Cidade/Estado: Nova Xavantina - MT
Curtiu: 77 vezes
Mens.Curtidas: 104 vezes

Word application

Mensagempor JoséQuintas » 24 Set 2017 11:14

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:

FUNCTION GetHbVar( cTexto )
   RETURN &( cTexto )
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18150
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Word application

Mensagempor janio » 24 Set 2017 14:27

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 de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

Word application

Mensagempor JoséQuintas » 24 Set 2017 15:54

Direto do meu aplicativo, só retirar saídas de tela e chamada de preview, pra ficar independente.

https://github.com/JoseQuintas/JoseQuintas/blob/master/source/ze_pdfclass.prg
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18150
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Word application

Mensagempor rubens » 24 Set 2017 15:55

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) Visualizado 2623 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 de usuário

rubens
Colaborador

Colaborador
 
Mensagens: 1518
Data de registro: 16 Ago 2003 09:05
Cidade/Estado: Nova Xavantina - MT
Curtiu: 77 vezes
Mens.Curtidas: 104 vezes

Word application

Mensagempor janio » 24 Set 2017 20:27

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 de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

Word application

Mensagempor janio » 25 Set 2017 10:36

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 de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

Word application

Mensagempor asimoes » 25 Set 2017 15:18

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)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Anterior Próximo



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 9 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro