Clipper On Line • Ver Tópico - Exemplos tudo-em-um

Exemplos tudo-em-um

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

 

Exemplos tudo-em-um

Mensagempor Ruben Dario » 04 Jul 2015 00:19

Gracias

Ya logre compilarlo y construi el ejeutable.

hbmk2 about ze_functions
hbmk2 calculator ze_functions
hbmk2 progressbar ze_functions
hbmk2 calculator ze_functions -DGTWVG gtwvg.hbc hbwin.hbc
hbmk2 calendar.prg ze_functions -DGTWVG gtwvg.hbc hbwin.hbc
hbmk2 frm1 ze_frmclass ze_frmcadclass ze_functions hbwin.hbc
hbmk2 frm1 ze_frmclass ze_frmcadclass ze_functions -DGTWVG test.rc gtwvg.hbc hbwin.hbc

Me falta este que me da error

hbmk2 pdf ze_pdfclass ze_functions hbhpdf.hbc hbct.hbc hbwin.hbc

Todos lo errores de la libreria hbhpdf.lib

Imagem
Ruben Dario
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 89
Data de registro: 14 Jun 2015 23:19
Cidade/Estado: Colombia
Curtiu: 3 vezes
Mens.Curtidas: 0 vez

Exemplos tudo-em-um

Mensagempor JoséQuintas » 04 Jul 2015 14:00

Parece que seu Harbour está se comportando diferente do meu.
Então acrescente no fonte de PDF #include "harupdf.ch"

Só comentário: o arquivo \harbour\contrib\hbhpdf\hbhpdf.hbc contém isto:
description=libharu wrapper (PDF)
incpaths=.
headers=harupdf.ch
libs=${_HB_DYNPREF}${hb_name}${_HB_DYNSUFF}
libs=3rd/libhpdf/libhpdf.hbc


incpaths= já inclui o path do hbc na lista de pesquisa de arquivos include
headers=harupdf.ch já inclui o ch sem precisar do #include

Aqui o resultado é não precisar colocar #include no fonte, nem indicar lib adicional.
Isso já vém no próprio Harbour, pronto pra uso.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 12266
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 793 vezes

Exemplos tudo-em-um

Mensagempor ROBERTO SÁVIO » 25 Ago 2015 18:10

José Quintas
Estou pensando usar a sua PDFClass.
Funciona com o xHarbour?
Se sim, como resolver o #require "hbhpdf"?
[]'s
Roberto Sávio
xHarbour
ROBERTO SÁVIO
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 40
Data de registro: 29 Mai 2014 10:56
Cidade/Estado: CORONEL FABRICIANO/MG
Curtiu: 3 vezes
Mens.Curtidas: 1 vez

Exemplos tudo-em-um

Mensagempor JoséQuintas » 25 Ago 2015 18:54

Bom, não mexo com xHarbour.
Esse #require é apenas pra forçar a linqueditar com a harupdf.
A princípio é apenas a biblioteca da harupdf.
Só verificar como se adiciona a harupdf no xHarbour, e pode até retirar o #require.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 12266
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 793 vezes

Exemplos tudo-em-um

Mensagempor ROBERTO SÁVIO » 04 Set 2015 16:30

José Quintas
Com a preciosa ajuda de voces do grupo, estou conseguindo usar a HARUPDF no xHarbour.
Isto vai resolver um problemão que eu estava tendo.
Porque o cFontName não aceita a fonte CALIBRI?
Obrigado
Roberto Sávio
ROBERTO SÁVIO
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 40
Data de registro: 29 Mai 2014 10:56
Cidade/Estado: CORONEL FABRICIANO/MG
Curtiu: 3 vezes
Mens.Curtidas: 1 vez

Exemplos tudo-em-um

Mensagempor JoséQuintas » 04 Set 2015 17:04

O Windows tem seu próprio conjunto de fontes, ok.
A Harupdf tem seu próprio conjunto de fontes, ok.
Eles não são iguais.
Caso queira usar um fonte que não existe na Harupdf, vai precisar salvar esse fonte dentro do PDF, usando algumas funções pra isso.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 12266
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 793 vezes

Exemplos tudo-em-um

Mensagempor ROBERTO SÁVIO » 04 Set 2015 18:10

José Quintas
Entendi, obrigado.
Mais uma. Como imprimo negrito?
Tentei isto:
oPDF:DrawText(12,0, "HEMOGRAMA",,12,,,1)
mas deu um erro.
No método DRAWTEXT, as linhas
IF anRGB != NIL
HPDF_Page_SetRGBFill( ::Page, anRGB[ 1 ], anRGB[ 2 ], anRGB[ 3 ] )
HPDF_Page_SetRGBStroke( ::Page, anRGB[ 1 ], anRGB[ 2], anRGB[ 3] )
ENDIF
e
IF anRGB != NIL
HPDF_Page_SetRGBFill( ::Page, 0, 0, 0 )
HPDF_Page_SetRGBStroke( ::Page, 0, 0, 0 )
ENDIF
estão com o ::Page, quando deveria ser ::oPage.
Obrigado
Roberto Sávio
ROBERTO SÁVIO
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 40
Data de registro: 29 Mai 2014 10:56
Cidade/Estado: CORONEL FABRICIANO/MG
Curtiu: 3 vezes
Mens.Curtidas: 1 vez

Exemplos tudo-em-um

Mensagempor JoséQuintas » 04 Set 2015 18:17

O negrito trata-se de outro fonte.
exemplo courier, courier bold.

aqui tem mais texto sobre harupdf, incluindo partes que não tem na classe:

https://github.com/libharu/libharu/wiki/Fonts
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 12266
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 793 vezes

Exemplos tudo-em-um

Mensagempor ROBERTO SÁVIO » 04 Set 2015 18:25

Elementar, meu caro José Quintas.
Faltou pensar.
Obrigado
Roberto Sávio
ROBERTO SÁVIO
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 40
Data de registro: 29 Mai 2014 10:56
Cidade/Estado: CORONEL FABRICIANO/MG
Curtiu: 3 vezes
Mens.Curtidas: 1 vez

Exemplos tudo-em-um

Mensagempor ROBERTO SÁVIO » 08 Set 2015 16:56

José Quintas
Fui ao link que vc passou, estudei a questão e fui usar, conforme abaixo.

nFont := HPDF_GetFont (oPDF, "Courier Bold", "CP1252")
fiz assim também
nFont := HPDF_GetFont (oPDF, "Courier-Bold", "CP1252")

Não funcionou. Não sei onde está o erro ou o que está faltando definir.
[]s
Roberto Sávio

Nota de Moderação:
por Toledo: A última mensagem postada recentemente depois desta mensagem foi excluída, pois é uma cópia desta mesma mensagem. Leia as regras do fórum (regra nº 4). Evite postar várias mensagens seguidas uma das outras com o mesmo assunto apenas porque a anterior não foi respondida.
Editado pela última vez por Toledo em 10 Set 2015 15:26, num total de 1 vezes
ROBERTO SÁVIO
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 40
Data de registro: 29 Mai 2014 10:56
Cidade/Estado: CORONEL FABRICIANO/MG
Curtiu: 3 vezes
Mens.Curtidas: 1 vez

Exemplos tudo-em-um

Mensagempor Toledo » 10 Set 2015 15:34

Amigo, o correto é o seguinte:

nFont := HPDF_GetFont (oPDF, "Courier-Bold", "CP1252")
HPDF_Page_SetFontAndSize( oPage, nFont, 10 )


Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3039
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 225 vezes
Mens.Curtidas: 235 vezes

Exemplos tudo-em-um

Mensagempor ROBERTO SÁVIO » 11 Set 2015 16:38

Ok, Toledo
Como vc sugeriu, coloquei as duas linhas no exemplo do José Quintas e está dando o erro "VARIÁVEL NÃO EXISTE oPage".
Isto não poderia acontecer, pois a variável oPage está definida na PDFClass, veja abaixo.
Não sei o que fazer para consertar isto.
Estou usando a PDFClass no xHarbour.
[]s
Roberto

STATIC FUNCTION Report2() // using own header
LOCAL oPDF
FOR nType = 1 TO 3
oPDF := PDFClass():New()
oPDF:nType := nType
oPDF:cFileName := "TEST2-" + Str( nType, 1 ) + "." + iif( nType < 3, "pdf", "lst" )
oPDF:Begin()
FOR nCont = 1 TO 1000
IF oPDF:nRow > oPDF:MaxRow()
oPDF:PageHeader()

nFont := HPDF_GetFont (oPDF, "Courier-Bold", "CP1252")
HPDF_Page_SetFontAndSize( oPage, nFont, 10 )

oPDF:DrawText( 0, 0, "REPORT TEST2-" + Str( nType, 1 ) )
oPDF:DrawText( oPDF:nRow, oPDF:nCol + 1, oPDF:nPDFPage, "999999" )
oPDF:nRow := 1
ENDIF
oPDF:DrawText( oPDF:nRow, 0, nCont, "999999" )
oPDF:nRow += 1
NEXT
oPDF:End()
NEXT
RETURN
ROBERTO SÁVIO
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 40
Data de registro: 29 Mai 2014 10:56
Cidade/Estado: CORONEL FABRICIANO/MG
Curtiu: 3 vezes
Mens.Curtidas: 1 vez

Exemplos tudo-em-um

Mensagempor JoséQuintas » 11 Set 2015 17:24

Ok.
oPage é a página do PDF.
Como oPage é uma variável da classe, usa-se ::oPage

Obs.
Se der uma olhada no fonte na classe, ela usa isso em DrawText()
Última linha abaixo.

 METHOD DrawText( nRow, nCol, xValue, cPicture, nFontSize, cFontName, nAngle, anRGB ) CLASS PDFClass
   LOCAL nRadian , cTexto
   nFontSize := iif( nFontSize == NIL, ::nFontSize, nFontSize )
   cFontName := iif( cFontName == NIL, ::cFontName, cFontName )
   cPicture  := iif( cPicture == NIL, "", cPicture )
   nAngle    := iif( nAngle == NIL, ::nAngle, nAngle )
   cTexto    := Transform( xValue, cPicture )
   ::nCol := nCol + Len( cTexto )
   IF ::nType > 2
      @ nRow, nCol SAY cTexto
   ELSE
      nRow := ::RowToPDFRow( nRow )
      nCol := ::ColToPDFCol( nCol )
      HPDF_Page_SetFontAndSize( ::oPage, HPDF_GetFont( ::oPdf, cFontName, ::cCodePage ), nFontSize )
...


Se preferir, só passar como parâmetro ao escrever texto:
oPDF:DrawText( 5, 5, "text",,,"courier bold" )


Nota: Apenas exemplo. Confirme o nome no manual da harupdf.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 12266
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 793 vezes

Exemplos tudo-em-um

Mensagempor ROBERTO SÁVIO » 11 Set 2015 18:01

José
Fiz isto tudo que vc falou, antes de enviar a postagem.
Fiz uma analogia com oPDF que também está definido na PDFClass (VAR oPDF)
No programa usamos: oPDF := PDFClass():New(), sem problema.
Não teria que ter algo parecido para oPage?
oPage := HPDF_AddPage( oPdf ), ou algo parecido?
O método AddPage abaixo tem ::oPage := HPDF_AddPage( ::oPdf )
Posso usar ::oPage dentro do meu programa ou esta nomenclatura é só da classe?

METHOD AddPage() CLASS PDFClass
IF ::nType != PDF_TXT
::oPage := HPDF_AddPage( ::oPdf )
HPDF_Page_SetSize( ::oPage, HPDF_PAGE_SIZE_A4, iif( ::nType == 2, HPDF_PAGE_PORTRAIT, HPDF_PAGE_LANDSCAPE ) )
HPDF_Page_SetFontAndSize( ::oPage, HPDF_GetFont( ::oPdf, ::cFontName, ::cCodePage ), ::nFontSize )
ENDIF
::nRow := 0
RETURN NIL

[]s
Roberto
ROBERTO SÁVIO
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 40
Data de registro: 29 Mai 2014 10:56
Cidade/Estado: CORONEL FABRICIANO/MG
Curtiu: 3 vezes
Mens.Curtidas: 1 vez

Exemplos tudo-em-um

Mensagempor ROBERTO SÁVIO » 11 Set 2015 18:13

José

oPDF:DrawText( 5, 5, "text",,,"Courier-Bold" )
Estranhamente agora funcionou.
Acho que já havia testado assim.
O que importa é que funcionou
Obrigado pela ajuda, mas ainda fica a questão do oPage
[]s
Roberto Sávio
ROBERTO SÁVIO
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 40
Data de registro: 29 Mai 2014 10:56
Cidade/Estado: CORONEL FABRICIANO/MG
Curtiu: 3 vezes
Mens.Curtidas: 1 vez

Anterior Próximo



Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante


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
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro