Hbprinter x Miniprint - Tamanho do Papel
Moderador: Moderadores
-
carlos_dornelas
- Usuário Nível 3

- Mensagens: 400
- Registrado em: 25 Ago 2004 21:54
Hbprinter x Miniprint - Tamanho do Papel
Olá amigos,
Estou usando a Hbprinter porque ela oferece a possibilidade de se trabalhar a nível de pixel. Ela é quase fantástica! Quase porque não consigo utilizar o DMPAPER_USER para definir o tamanho do papel. Já me bati bastante, mas não consigo. Já tentei alterar nos fontes, mas sou totalmente leigo em C e nada consegui! Na miniprint isso funciona fácil, mas ela não tem todos os recursos que hbprinter tem e que preciso. Alguém já precisou alterar o tamanho do papel (definido pelo usuário) e conseguiu? Será que algum colega que entenda de C não poderia dar uma comparada nos dois códigos (miniprint e hbprinter) e quem sabe me dar uma luz?
Grato por qualquer ajuda.
Antonio Carlos - Curitiba
Estou usando a Hbprinter porque ela oferece a possibilidade de se trabalhar a nível de pixel. Ela é quase fantástica! Quase porque não consigo utilizar o DMPAPER_USER para definir o tamanho do papel. Já me bati bastante, mas não consigo. Já tentei alterar nos fontes, mas sou totalmente leigo em C e nada consegui! Na miniprint isso funciona fácil, mas ela não tem todos os recursos que hbprinter tem e que preciso. Alguém já precisou alterar o tamanho do papel (definido pelo usuário) e conseguiu? Será que algum colega que entenda de C não poderia dar uma comparada nos dois códigos (miniprint e hbprinter) e quem sabe me dar uma luz?
Grato por qualquer ajuda.
Antonio Carlos - Curitiba
-
carlos_dornelas
- Usuário Nível 3

- Mensagens: 400
- Registrado em: 25 Ago 2004 21:54
-
carlos_dornelas
- Usuário Nível 3

- Mensagens: 400
- Registrado em: 25 Ago 2004 21:54
-
carlos_dornelas
- Usuário Nível 3

- Mensagens: 400
- Registrado em: 25 Ago 2004 21:54
Hasa, obrigado pela sua atenção, mas preciso ainda de mais um help seu, se possível, pois não estou conseguindo fazer funcionar corretamente. Na hora da compilação aparecem dois Warnings, gera o executável, mas dá aquele erro do windows XP, que o programa encontrou um erro e precisa ser fechado. Abaixo segue o warning e também o .PRG. A propósito, gerei a nova LIB com a versão experimental e a coloquei juntamente com o HBPRINTER.CH no mesmo diretorio.
Harbour Compiler (CVS 2006-08-17 12:40)
Copyright 1999-2006, http://www.harbour-project.org/
Harbour MiniGUI Extended Distribution
Compiling 'ss.prg'...
ss.prg(12) Warning W0027 Meaningless use of expression: 'Numeric'
ss.prg(12) Warning W0027 Meaningless use of expression: 'Numeric'
Lines 31, Functions/Procedures 2
Generating C source output to 'ss.c'... Done.
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
ss.c:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
C:\win\hbprint\sample>
Harbour Compiler (CVS 2006-08-17 12:40)
Copyright 1999-2006, http://www.harbour-project.org/
Harbour MiniGUI Extended Distribution
Compiling 'ss.prg'...
ss.prg(12) Warning W0027 Meaningless use of expression: 'Numeric'
ss.prg(12) Warning W0027 Meaningless use of expression: 'Numeric'
Lines 31, Functions/Procedures 2
Generating C source output to 'ss.c'... Done.
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
ss.c:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
C:\win\hbprint\sample>
Código: Selecionar todos
#include 'minigui.ch'
#include 'hbprinter.ch'
Function main()
INIT PRINTSYS
GET PRINTERS TO aprinters
Set QUALITY DMRES_HIGH
Set UNITS MM
SET PAPERSIZE DMPAPER_USER
Set user papersize width 215.9 height 215.9
imp:=1
SELECT PRINTER aPrinters[imp] PREVIEW
SET PREVIEW RECT 20,20,580,780
if HBPRNERROR>0
msginfo('Printer Error!')
return
endif
START DOC NAME 'TESTE'
START PAGE
@ 10,10 SAY 'ALTERANDO O TAMANHO DO PAPEL' FONT 'f3' TO PRINT
END PAGE
END DOC
Editado pela última vez por Pablo César em 10 Mai 2012 18:48, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Tente esse PRG:
Código: Selecionar todos
#include 'minigui.ch'
#include 'hbprinter.ch'
Function main()
DEFINE WINDOW F1 ;
AT 10,10 ;
WIDTH 600 HEIGHT 300 ;
TITLE 'HBPrinter Demo' ;
MAIN ;
FONT 'Arial' SIZE 10
DEFINE STATUSBAR
STATUSITEM '[x]Harbour Power Ready!'
END STATUSBAR
@5 ,5 BUTTON Button_1 CAPTION '&Print' ACTION print()
@50,5 BUTTON Button_2 CAPTION '&QUIT' ACTION {|| _ReleaseWindow ("F1" )}
END WINDOW
CENTER WINDOW F1
ACTIVATE WINDOW F1
Return Nil
return
function print()
INIT PRINTSYS
SELECT DEFAULT PREVIEW
Set QUALITY DMRES_HIGH
Set UNITS MM
SET PAPERSIZE DMPAPER_USER
Set user papersize width 215.9 height 215.9
if HBPRNERROR>0
msginfo('Printer Error!')
return
endif
START DOC NAME 'TESTE'
START PAGE
@ 10,10 SAY 'ALTERANDO O TAMANHO DO PAPEL' TO PRINT
END PAGE
END DOC-
carlos_dornelas
- Usuário Nível 3

- Mensagens: 400
- Registrado em: 25 Ago 2004 21:54
Hasa,
Tem paciência comigo! Quando tento compilar o prg que você postou, dá o seguinte erro:
Compiling 's.prg'...
s.prg(39) Error E0030 Syntax error: "syntax error at '|'"
1 error
No code generated
Justamente na linha que tem o código:
Set user papersize width 215.9 height 215.9
Se eu alterar o HBPRINTER.CH Colocando uma "," em vez de uma "|", na linha abaixo, o programa compila, apesar de apresentar Warnings, mas o tamanho do papel não é alterado!
Onde é que estou errando? Você compilou normalmente o código que você postou e o tamanho do papel foi alterado? Poderia me mandar o EXE para eu testar aqui?
Obrigado mais uma vez.
#xcommand SET USER PAPERSIZE WIDTH <width> HEIGHT <height> => hbprn:setdevmode ((DM_PAPERSIZE|DM_PAPERLENGTH|DM_PAPERWIDTH)
,<width>,<height>)
Warnings Apresentados:
Warning W0027 Meaningless use of expression: 'Numeric'
Warning W0027 Meaningless use of expression: 'Numeric'
Tem paciência comigo! Quando tento compilar o prg que você postou, dá o seguinte erro:
Compiling 's.prg'...
s.prg(39) Error E0030 Syntax error: "syntax error at '|'"
1 error
No code generated
Justamente na linha que tem o código:
Set user papersize width 215.9 height 215.9
Se eu alterar o HBPRINTER.CH Colocando uma "," em vez de uma "|", na linha abaixo, o programa compila, apesar de apresentar Warnings, mas o tamanho do papel não é alterado!
Onde é que estou errando? Você compilou normalmente o código que você postou e o tamanho do papel foi alterado? Poderia me mandar o EXE para eu testar aqui?
Obrigado mais uma vez.
#xcommand SET USER PAPERSIZE WIDTH <width> HEIGHT <height> => hbprn:setdevmode ((DM_PAPERSIZE|DM_PAPERLENGTH|DM_PAPERWIDTH)
,<width>,<height>)
Warnings Apresentados:
Warning W0027 Meaningless use of expression: 'Numeric'
Warning W0027 Meaningless use of expression: 'Numeric'
´o)
Humm, sei que o melhor é vc compilar e criar a lib em XHABOUR e não em HARBOUR, não usou grande conhecedor dessa lib pois ela foi modificada, mas nos fontes tem o email do autor da alteração, tente contata-lo por email, talves ele tenha mais dicas, eu tenho esse fonte que é antigo guardado aqui e na verdade não o utilizo, utilizo a HBPRINTER que vem com a experimental, agora vc ´pode tentar compilar com xharbour para ver se some esses Worn.... aqui compilou direitinho ok
Humm, sei que o melhor é vc compilar e criar a lib em XHABOUR e não em HARBOUR, não usou grande conhecedor dessa lib pois ela foi modificada, mas nos fontes tem o email do autor da alteração, tente contata-lo por email, talves ele tenha mais dicas, eu tenho esse fonte que é antigo guardado aqui e na verdade não o utilizo, utilizo a HBPRINTER que vem com a experimental, agora vc ´pode tentar compilar com xharbour para ver se some esses Worn.... aqui compilou direitinho ok
-
carlos_dornelas
- Usuário Nível 3

- Mensagens: 400
- Registrado em: 25 Ago 2004 21:54
Valeu HASA, vou tentar compilar com xharbour. Peço um último favor: você poderia me enviar o EXE que você compilou para eu testar/visualizar aqui. Se possível for, poderias modificicar o tamanho do papel para 80 x 140 antes de compilar?
{}
acdornelas@terra.com.br
{}
acdornelas@terra.com.br
:(Neg
CARLOS ACABEI EFETUANDO VARIOS TESTES E INFELIZMENTE O PAPEL NÃO MUDOU DE TAMANHO, A LIB ESTÁ POSTADA NO ENDREÇO :
http://tech.groups.yahoo.com/group/harb ... s/CONTRIB/, FORUM EM INGLES DA MINIGUI NO YAHOO, POSTADA PELO AUTOR DA HBPRINTER Ryszard Rylko ( rrylko@cirow.pl ) AO QUAL SOLICITO QUE ENTRE EM CONTATO, POSTEI O QUE ESTÁ NO FORUM DO YAHOO EM INGLES, MAS NUNCA TINHA USADO, E REALMENTE NÃO DA ERRO E NÃO ALTERA O PAPEL, SINTO MUITO...
CARLOS ACABEI EFETUANDO VARIOS TESTES E INFELIZMENTE O PAPEL NÃO MUDOU DE TAMANHO, A LIB ESTÁ POSTADA NO ENDREÇO :
http://tech.groups.yahoo.com/group/harb ... s/CONTRIB/, FORUM EM INGLES DA MINIGUI NO YAHOO, POSTADA PELO AUTOR DA HBPRINTER Ryszard Rylko ( rrylko@cirow.pl ) AO QUAL SOLICITO QUE ENTRE EM CONTATO, POSTEI O QUE ESTÁ NO FORUM DO YAHOO EM INGLES, MAS NUNCA TINHA USADO, E REALMENTE NÃO DA ERRO E NÃO ALTERA O PAPEL, SINTO MUITO...
-
carlos_dornelas
- Usuário Nível 3

- Mensagens: 400
- Registrado em: 25 Ago 2004 21:54
