Ajuda com impressao - WIN32.PRN

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

jcsprog
Usuário Nível 2
Usuário Nível 2
Mensagens: 63
Registrado em: 27 Abr 2005 12:04
Localização: sao paulo - jd.brasil

Ajuda com impressao - WIN32.PRN

Mensagem por jcsprog »

Gostaria de passar esta impressao p/ WIN32PRN
Estou usando Harbour X MiniGui - Agradeço a ajuda

Obs: tenho esta impressao -> SELECT BY DIALOG PREVIEW, que o unico erro e que nao pode saltar pg. pois e impressao em bobinas de pizzarias , teria que controlar as linhas, sempre imprimindo na posicao da impressora

agradeço a atenção

Código: Selecionar todos

*******************************
PROCEDURE ImpriMatri
*******************************
Private nFont := 10
Private cArquivo := "" 
 
   VEMP:=EMP->DESCR 
   LCP_2.Btn_SLCP.Enabled := .F. 

   If MsgYesNo ( "Confirma Impressão ?","Impressão Pedido Nº"+STRZERO(NNPEDI,6))
      DO WHILE .T.
  
         Set Printer TO LPT1
         Set Printer ON
         Set Console OFF

        ? REPLICATE("=",48) 
        ? EMP->DESCR 
        ? EMP->END 
        ? "Bairro:"+EMP->BAIRRO+" Fone:"+EMP->TEL 

        CLI->(DBSETORDER(1))
        CLI->(DBSEEK(LCP_2.T_TELRESD.VALUE))

        ? REPLICATE("=",48) 
        ? "Pedido:"+STRZERO(NNPEDI,10)+" Data:"+DTOC(FXP->DTPED)+" Hr:"+SUBSTR(FXP->HRPED,1,5) 
        ? "Cliente :"+ALLTRIM(CLI->CONTATO)+" -Fone:"+CLI->TELRESD 
        ? "Endereco:"+ALLTRIM(CLI->END) 
        ? "Bairro  :"+CLI->BAIRRO 
        ? "Referencia:"+ALLTRIM(CLI->COMPL)+"-"+CLI->CEP 
        ? REPLICATE("=",48) 
        ? " Cod. Qte Descricao           R$Unit.Sb.Total"  
        ? REPLICATE("=",48) 

        LCP->(DBSEEK(STR(NNPEDI,10)))
        DO WHILE LCP->(!EOF()) .AND. STR(LCP->NPEDI,10)=STR(NNPEDI,10)
             ? STR(LCP->CODITE,4,2)+"   "
            ?? STRZERO(LCP->QTEPED,2)+" "
            ?? SUBSTR(LCP->PEDIDO,1,17)+" "
            ?? STR(LCP->PVEND,7,2)+" "
            ?? STR(LCP->QTEPED*LCP->PVEND,7,2)+" "
           IF SUBSTR(LCP->MUDANCA,1,2)#SPACE(02)
              ? "Obs.:"+ALLTRIM(LCP->MUDANCA)
           ENDIF   
           LCP->(DBSKIP())
       ENDDO
         ? REPLIC("=",48)  
         ? "Total Pedido    ->"+TRANSFORM(FXP->TTPD,"@E 9,999.99") 
         ? "Acrescimo       ->"+TRANSFORM(FXP->ACRE,"@E 9,999.99") 
         ? "Desconto        ->"+TRANSFORM(FXP->DESCON,"@E 9,999.99") 
         ? "Taxa de Entrega ->"+TRANSFORM(FXP->FRETE,"@E 9,999.99") 
         ? "Total A Pagar   ->"+TRANSFORM(FXP->TTPD+FXP->FRETE+FXP->ACRE-FXP->DESCON,"@E 9,999.99") 
         ? "Valor Pago      ->"+TRANSFORM(FXP->PAGO,"@E 9,999.99") 
         ? "Troco  ->"+TRANSFORM(FXP->TROCO,"@E 9,999.99") 
        VIPREC:=" "
        FPG->(DBSETORDER(1))
         ? "Forma Pgto ->"+IF(FPG->(DBSEEK(STR(FXP->FGTO,2))),FPG->DSTP,"") 
         VIPREC:=FPG->IPREC
        FPG->(DBSETORDER(1))
         ? "Motoboy->" 
         GCOL=10
         MOT->(DBGOTOP())
         DO WHILE MOT->(!EOF())
            ? "["+STR(MOT->CDMT,2)+"]" 
            GCOL:=GCOL+2
            MOT->(DBSKIP())
         ENDDO
         ? REPLIC("=",20)+"Jcs Soft-ME F:7378-8895 ===" 
         IF VIPREC = "S"
            ? REPLIC("=",48) 
            ? EMP->DESCR 
            ? REPLIC("=",48) 
            ? "*********** CONTRA VALE ***********" 
            ? "Ref.Pedido N§:"+STRZERO(NNPEDI,10)+" Data:"+DTOC(FXP->DTPED) 
            ? REPLIC("*",48) 
            ? "Valor do Contra Vale ->"+TRANSFORM(FXP->TROCO,"@E 9,999.99") 
            ? REPLIC("=",48) 
            ? "ASS........................." 
            ? EMP->DESCR 
            ? REPLIC("=",48) 
         ENDIF
         FOR Y:=1 TO 10
             ? "." 
         NEXT    

         Set Printer TO 
         Set Printer OFF
         Set Console ON

         If MsgYesNo ( "Confirma Reimpressão ?","Deseja Reimpressão Pedido Nº"+STRZERO(NNPEDI,6))
            LOOP
         ELSE
           EXIT
        ENDIF		   
      ENDDO   
 ENDIF	
LCP_2.T_TPPD.SETFOCUS
 :{ RETURN NIL
Nota de Moderação:
por Toledo: Mensagem editada para colocar a tag [ code ]
Veja como utilizar esta tag: faq.php?mode=bbcode#f2r1
A mensagem também foi editada para formatação de texto em letras minúsculas
Veja as Regras do Fórum:
7 - Mensagens em letras MAIÚSCULAS poderão ser editadas sem aviso prévio. Letras maiúsculas equivalem a GRITAR e portanto são consideradas uma falta de respeito com os demais membros do fórum.
Editado pela última vez por jcsprog em 20 Mar 2010 14:58, em um total de 1 vez.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Re: Ajuda com impressao - WIN32.PRN

Mensagem por Toledo »

Amigo, use a busca do fórum.... veja:

https://pctoledo.org/forum/viewto ... f=4&t=6465

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
jcsprog
Usuário Nível 2
Usuário Nível 2
Mensagens: 63
Registrado em: 27 Abr 2005 12:04
Localização: sao paulo - jd.brasil

Re: Ajuda com impressao - WIN32.PRN

Mensagem por jcsprog »

Peguei o exemplo do link so que da erro veja

error: unresolved external "_hb_fun_getprinters" referenc from c:\teste
error: unresolved external "_hb_fun_win32prn" referenc from c:\teste
error: unresolved external "_hb_fun_win32bmp" referenc from c:\teste

como compilar ?

:-O
Nota de Moderação:
por Toledo: Mensagem editada para formatação de texto em letras minúsculas
Veja as Regras do Fórum:
7 - Mensagens em letras MAIÚSCULAS poderão ser editadas sem aviso prévio. Letras maiúsculas equivalem a GRITAR e portanto são consideradas uma falta de respeito com os demais membros do fórum.
jcsprog
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Ajuda com impressao - WIN32.PRN

Mensagem por sygecom »

Qual versão do seu xHarbour ?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
jcsprog
Usuário Nível 2
Usuário Nível 2
Mensagens: 63
Registrado em: 27 Abr 2005 12:04
Localização: sao paulo - jd.brasil

Re: Ajuda com impressao - WIN32.PRN

Mensagem por jcsprog »

estou usando harbour 1.1.0
jcsprog
Avatar do usuário
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Re: Ajuda com impressao - WIN32.PRN

Mensagem por gvc »

Só para manter a memória em dia: O HARBOUR tb tem a classe Win32prn? O xHarbour eu sei que tem.
Vejam que ele esta usando o Harbour.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Ajuda com impressao - WIN32.PRN

Mensagem por sygecom »

Sim, o harbour tem WIN32PRN também, porem essa versão do colega as chamadas da WIN32PRN ficam assim:

Código: Selecionar todos

#ifdef __XHARBOUR__
 local oPrinter := win32prn():New(cPrinter) // para xharbour
#else
 local oPrinter := win_prn():New(cPrinter)  //para harbour =1.1.0
#endif

#ifdef __XHARBOUR__
 oBMP:= Win32BMP():new()
#else
 oBMP:= Win_BMP():new()
#endif
Da getprinters() não tenho certeza, mas tente:
WIN_PRINTERLIST()
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
jcsprog
Usuário Nível 2
Usuário Nível 2
Mensagens: 63
Registrado em: 27 Abr 2005 12:04
Localização: sao paulo - jd.brasil

Re: Ajuda com impressao - WIN32.PRN

Mensagem por jcsprog »

agradeço a ajuda estou testando valeu.

:))
jcsprog
Responder