Página 1 de 1

Imprimir mensagem com fontes ou tamanho diferentes

Enviado: 24 Abr 2008 11:58
por asimoes
Pessoal,

É possível imprimir na mesma linha, mensagem com fonte ou tamanho diferentes:

Exemplo: Resultado (em arial 14): Resposta (em courier new, 11)

(Arial 14) (Courier New 11)
ABCD EFGH

Obs: Usando a WIN32PRN

[]´s

Enviado: 24 Abr 2008 14:30
por Toledo
Amigo, veja este pequeno exemplo:

Código: Selecionar todos

function main()
local oprinter:=win32prn()

oprinter:new(getdefaultprinter())
oprinter:formtype:=9
oprinter:create()
oprinter:startdoc()
oprinter:setfont("Arial",14,,,,,,1,)
oprinter:textoutat(60,130,"ABCD")
oprinter:setfont("Courier New",11,,,,,,1,)
oprinter:textoutat(480,130,"EFGH")
oprinter:enddoc()
oprinter:destroy()
return Nil
Abraços,

Enviado: 24 Abr 2008 15:11
por asimoes
Toledo,

É isso mesmo que eu queria.
Já testei e funcionou.
Agora pelo que eu vi dá uma trabalheira enorme para saber as coordenadas de impressão.

Alexandre

Enviado: 24 Abr 2008 15:41
por Toledo
Alexandre, você pode usar as funções GetCharWidth() e GetCharHeight() para saber qual a largura e altura das letras, mas como será usado fonte e tamanhos diferentes de letras, ai vai ficar complicado mesmo.

Exemplo de como usar as funções acima:

Código: Selecionar todos

nLarg:=oprinter:GetCharWidth() // largura da fonte
nAltu:=oprinter:GetCharHeight() // altura da fonte
Abraços,

Enviado: 24 Abr 2008 15:43
por Maligno
A altura até entendo. Mas e quanto à largura de fontes proporcionais? Se são proporcionais, a largura deveria ser variável, não?

Enviado: 24 Abr 2008 15:59
por asimoes
Pessoal,

Existe algum gerador de relatório pro xh?
Que facilite a confecção do relatório.


[]´s

Enviado: 24 Abr 2008 16:04
por rodrmigu
Olá,

- Crystal Reports
- Fast Reports for xHarbour

[]'s
Rodrigo

Enviado: 24 Abr 2008 16:32
por Toledo
Pelo que eu entendi, o Alexandre vai usar fontes e tamanhos diferentes de letras, neste caso dependendo do tamanho das fontes usadas, a largura da letra será maior ou menor.

ABCD
EFGH


Ai vai ficar complicado saber em que posição do papel deverá imprimir o texto, principalmente se os textos forem de tamanho variados.

Abraços,

Enviado: 24 Abr 2008 16:34
por Maligno
FastReport pra XHarbour? Isso é novidade pra mim. É o que eu uso no TC++.
Então estão muito bem servidos. :)