Hbprinter x Miniprint - Tamanho do Papel

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

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

Hbprinter x Miniprint - Tamanho do Papel

Mensagem 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
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

Mensagem 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
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Mensagem 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
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

Mensagem 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
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Mensagem por carlos_dornelas »

Olá HASA!

Lá vai: acdornelas@terra.com.br

{}s

Antonio Carlos
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

Mensagem por HASA »

:)Pos Foi para seu email, enviei também para o Grigory Filatov para ver se ele coloca na experimental ok :xau
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Mensagem 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
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
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

Mensagem 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
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Mensagem 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'
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

Mensagem 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 ;)
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Mensagem 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
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

Mensagem 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... :(
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Mensagem por carlos_dornelas »

OK, mesmo assim obrigado!

[]s

Antonio Carlos
Responder