Página 1 de 1
Hbprinter x Miniprint - Tamanho do Papel
Enviado: 10 Out 2006 10:29
por carlos_dornelas
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
Enviado: 02 Nov 2006 15:49
por HASA
TENTE O SEGUINTE EM HBPRINT:
Set QUALITY DMRES_HIGH
Set UNITS MM
SET PAPERSIZE DMPAPER_USER
Set user papersize width 215.9 height 215.9
OU ALTERE O PAPEL PARA O TAMANHO QUE QUIZER ME MILIMETROS OK :)Pos
Enviado: 02 Nov 2006 21:55
por carlos_dornelas
Boa noite HASA,
Obrigado pela dica, mas ainda não deu certo, ou seja, não compilou. Aparece a seguinte mensagem: Error E0030 Syntax error: "syntax error at 'USER'. Você já conseguiu mudar o tamanho do papel c/a HBprint? Teria um pelo exemplo para mim?
Grato mais uma vez
Antonio Carlos
Enviado: 03 Nov 2006 08:05
por HASA
CARLOS, VERDADE, ESSE COMANDO É PARA HBPRINTER, UMA MODIFICAÇÃO EFETUADA POR UM USUARIO A TEMPOS E NÃO FIXADA NAS ATUALIZAÇÕES DA MINIGUI EXPERIMENTAL, INFORME UM EMAIL QUE ENVIO O FONTE DA LIB VC CRIA A LIB AI E BOA OK :xau
Enviado: 03 Nov 2006 10:13
por carlos_dornelas
Olá HASA!
Lá vai:
acdornelas@terra.com.br
{}s
Antonio Carlos
Enviado: 03 Nov 2006 11:42
por HASA
:)Pos Foi para seu email, enviei também para o Grigory Filatov para ver se ele coloca na experimental ok :xau
Enviado: 03 Nov 2006 14:54
por carlos_dornelas
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>
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
Enviado: 04 Nov 2006 08:22
por HASA

)
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
Enviado: 04 Nov 2006 13:09
por carlos_dornelas
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'
Enviado: 05 Nov 2006 19:32
por HASA
´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

Enviado: 05 Nov 2006 21:23
por carlos_dornelas
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
Enviado: 06 Nov 2006 10:10
por HASA
:(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...

Enviado: 06 Nov 2006 15:33
por carlos_dornelas
OK, mesmo assim obrigado!
[]s
Antonio Carlos