Clipper On Line • Ver Tópico - Hbprinter x Miniprint - Tamanho do Papel
Mudar para estilo Clássico
Projeto MiniGui - Biblioteca visual para Harbour/xHarbour
Postar uma resposta

Hbprinter x Miniprint - Tamanho do Papel

10 Out 2006 10:29

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

02 Nov 2006 15:49

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

02 Nov 2006 21:55

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

03 Nov 2006 08:05

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

03 Nov 2006 10:13

Olá HASA!

Lá vai: acdornelas@terra.com.br

{}s

Antonio Carlos

03 Nov 2006 11:42

:)Pos Foi para seu email, enviei também para o Grigory Filatov para ver se ele coloca na experimental ok :xau

03 Nov 2006 14: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>

Código:
#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, num total de 1 vezes
Razão: Mensagem editada para colocar a tag [ code ]
Veja como utilizar esta tag: Clique aqui

04 Nov 2006 08:22

:))
Tente esse PRG:
Código:
#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

04 Nov 2006 13:09

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'

05 Nov 2006 18:32

´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 ;)

05 Nov 2006 20:23

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

06 Nov 2006 09:10

:(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... :(

06 Nov 2006 14:33

OK, mesmo assim obrigado!

[]s

Antonio Carlos
Postar uma resposta