Clipper On Line • Ver Tópico - Create Error..impressão.

Create Error..impressão.

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

Moderador: Moderadores

 

Create Error..impressão.

Mensagempor scom » 07 Abr 2014 11:08

Ola amigos.

Estou com um prolema e já busquei solução em vários tópicos e ainda não consegui.

tem uma impressora capturada na LPT3 capturo direto no no comando NET USE LPT3 \\ESTOQUE\LX /YES

Quando vou no CMD e mando DIR>LPT3 imprime normal mas no sistema toda vez que preciso imprimir nela da o seguinte erro

error term/2014 create error lpt3.prn

ja quebrei a cabeça e não consegui resolver...por favor alguem tem uma luz pra me dar?

O sistema é em Xharbour modo Console.
S COM INFORMÁTICA
CLIPPER 5.3 / FIVEWIN 2.0 / BLINKER 7
XHARBOUR/ BCC582
scom
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 133
Data de registro: 15 Nov 2004 09:49
Cidade/Estado: Dourados/MS
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Create Error..impressão.

Mensagempor Itamar M. Lins Jr. » 07 Abr 2014 11:46

Cadê o código ?

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6951
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 312 vezes
Mens.Curtidas: 508 vezes

Create Error..impressão.

Mensagempor Kapiaba » 07 Abr 2014 12:39

Kapiaba
Colaborador

Colaborador
 
Mensagens: 1766
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 311 vezes
Mens.Curtidas: 119 vezes

Create Error..impressão.

Mensagempor Itamar M. Lins Jr. » 08 Abr 2014 14:06

Essas são forma arcaicas de imprimir.
Use PrintFileRaw() e se livre desses bats, arquivo bat p/ imprimir é coisa do passado.
Tem n recursos prontos p/ usar todo potencial das impressoras modernas, inclusive usando as DLL fornecida pelos fabricantes.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6951
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 312 vezes
Mens.Curtidas: 508 vezes

Create Error..impressão.

Mensagempor Kapiaba » 08 Abr 2014 17:02

Veja se ajuda, co

FUNCTION ImpSpool( cFileTxt, cPorta, lErase )

    LOCAL CPRINTER

    LOCAL cImpPadrao := GetDefaultPrinter()   // É a impressora que esta como padrão no momento anterior a vc setar onde quer imprimi

    //cPorta := PrnGetPort()
    Default cPorta := Alltrim( PrnGetPort() ), lErase:= .t.

    cPrinter := PrinterPortToName( cPorta )

    IF EMPTY( cPrinter )

       cPrinter := PrinterPortToName( "USB002" )

       IF EMPTY( cPrinter )

          cPrinter := PrinterPortToName( "USB001" )

       ENDIF

    ENDIF
   
    IF .NOT. EMPTY( cPrinter )  // TEM USB

       PrintFileRaw( cPrinter, TrueName( "CUPOM.TXT" ), "Impressão de Vendas" )

    ELSEIF LEN( cPorta ) <= 5 .and. Left( Upper(cPorta), 4 ) = "LPT1"

       //--- Spool Local - Matricial em LPT1
       cPorta:= "PRN"

       WAITRUN("COMMAND.COM /C COPY /B " + cFileTxt + " " + cPorta, 0 )

   // Impressao na PORTA COM 1 ou 2
   ELSEIF Left( Upper(cPorta),4) = "BEMA" .OR. Left( Upper(cPorta),3) = "COM" )   // Impressao em impressoras de rede COM1/2

      Set Printer To ( cPorta ) // Somente para setar a impressora
      PrintFileRaw( cPorta , cFileTxt )
      Set Printer To ( cImpPadrao )

    ELSE

       //--- Spool Remoto - Matricial em LPT1
       WAITRUN("COMMAND.COM /C COPY /B " + cFileTxt + " " + cPorta, 0 )

    ENDIF

    IF lErase // Vem .T. da tela de vendas
       FERASE( cFileTxt )
    ENDIF

RETURN( .T. )


Kapiaba
Colaborador

Colaborador
 
Mensagens: 1766
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 311 vezes
Mens.Curtidas: 119 vezes

Create Error..impressão.

Mensagempor JoséQuintas » 08 Abr 2014 17:33

Não lembro exatamente o que pertence a qual versão, mas tem diferença entre os Windows:

LPT3
LPT3:

Dependendo da versão do Windows, pode precisar ou não dos dois pontos.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18152
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Create Error..impressão.

Mensagempor Pablo César » 08 Abr 2014 17:51

Muito bom o seu exemplo Kapiaba, gostei !

Se bem, que teria que ter como opção, quando não tiver impressora alguma instalada.

Obrigado por compartilhar. :)

Dependendo da versão do Windows, pode precisar ou não dos dois pontos.
Eu acredito que sem os dois pontos deve funcionar perfeitamente.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes

Create Error..impressão.

Mensagempor Itamar M. Lins Jr. » 08 Abr 2014 18:06

Tudo isso ai, pode ser simplificado apenas com printfileraw() caso use apenas texto puro p/ imprimir.
Não importa se é USb, COM, LPT, ou rede.
Caso queira simplificar p/ o usuário, aparecer um combobox já pré configurado p/ escolher qual impressora imprimir, gravar em algun arquivo INI, para ler onde está cada impressora.
Tipo impressora de cheques, impressora balcão, impressora padrão...

P/ usar basta apenas uma linha:
imprime("MEUARQTXT","IMPRESSORATAL","RELATORIO X ")

**********************************
Function Imprime(cArq,cPrint,cTit)
**********************************
*
*
Local oPrn, aPrn:=WIN_PRINTERLIST()
hb_default(@cPrint,win_PrinterGetDefault())
hb_default(@cTit,"PEDIDO")

If Empty(cArq)
   hwg_Msginfo('Informe algo p/ imprimir.')
   Return .F.
EndIf
If empty(aPrn)
   hwg_Msginfo('Não há impressoras instaladas')
   Return .F.
EndIf

nRet := Win_PrintFileRaw(cPrint,cArq,cTit)
if nRet < 1
    cMsg := 'Erro Imprimindo: '
   SWITCH nRet
      CASE -1
         cMsg += "Parâmetro inválido passado" ; EXIT
      CASE -2
         cMsg += "WinAPI OpenPrinter() Falha na chamada"      ; EXIT
      CASE -3
         cMsg += "WinAPI StartDocPrinter() Falha na chamada"  ; EXIT
      CASE -4
         cMsg += "WinAPI StartPagePrinter() Falha na chamada" ; EXIT
      CASE -5
         cMsg += "WinAPI malloc() of memory failed"      ; EXIT
      CASE -6
         cMsg += "Arquivo " + cArq + " não Localizado"   ; EXIT
      //DEFAULT
      //   cMsg += cFile + " PRINTED OK!!!"
      END

     hwg_Msgstop(cMsg)
EndIf

Return .T.


Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6951
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 312 vezes
Mens.Curtidas: 508 vezes

Create Error..impressão.

Mensagempor Kapiaba » 09 Abr 2014 09:39

Kapiaba
Colaborador

Colaborador
 
Mensagens: 1766
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 311 vezes
Mens.Curtidas: 119 vezes

Create Error..impressão.

Mensagempor ziul » 30 Mar 2021 12:08

TST_IMPR.prg
Código
(1.37 KiB) Baixado 43 vezes
Boa tarde Itamar.
Testei Function Imprime(cArq,cPrint,cTit).
Tentei compilar, mas deu erros:
undefined reference to ´HB_FUN_WHG_MSGINFO´ e ´HB_FUN_WHG_MSGSTOP´
Poderia me ajudar?

Veja em anexo o código compilado e a msg de erro.

Obrigado.
Atenciosamente,

Luiz Fernandes
ziul
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 14
Data de registro: 20 Out 2009 15:35
Cidade/Estado: Rio de Janeiro
Curtiu: 2 vezes
Mens.Curtidas: 0 vez

Create Error..impressão.

Mensagempor Itamar M. Lins Jr. » 30 Mar 2021 12:42

Olá!
É HWG_*...
Mude para ALERT()
São funções da Hwgui, basta trocar por ALERT() ou "@ x,y say..."

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6951
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 312 vezes
Mens.Curtidas: 508 vezes

Create Error..impressão.

Mensagempor ziul » 30 Mar 2021 18:33

Boa noite Itamar.
Obrigado. Acertei.
Poderia me ajudar de novo?
Estava testando em uma impressora da rede.
Aparecia a impressão em "DISPOSITIVOS E IMPRESSORAS", mas não saia disso. Não imprimia.

Coloquei uma impressora local,
Aparece em "DISPOSITIVOS E IMPRESSORAS", some, mas nada sai na impressora.

Abs,
Luiz Fernandes
ziul
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 14
Data de registro: 20 Out 2009 15:35
Cidade/Estado: Rio de Janeiro
Curtiu: 2 vezes
Mens.Curtidas: 0 vez

Create Error..impressão.

Mensagempor Itamar M. Lins Jr. » 30 Mar 2021 22:40

Olá!
Estava testando em uma impressora da rede.

Não tem importância onde está a impressora se local ou em rede.
Basta ela aparecer quando vc usa Word, Excel, Notepad etc... Que vai aparecer para o Harbour também.
Coloque a impressora que vc quer imprimir como "padrão" (default) lá na caixa(aba) de impressoras do windows.
Deve está setado para alguma virtual...
Ou se desejar ver quais estão cadastradas basta imprimir o conteúdo de aPrn.
For n:=1 to len(aPrn)
? aPrn[n]
next


Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6951
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 312 vezes
Mens.Curtidas: 508 vezes

Create Error..impressão.

Mensagempor Jairo Maia » 31 Mar 2021 09:12

ziul escreveu:Aparece em "DISPOSITIVOS E IMPRESSORAS", some, mas nada sai na impressora.
Outra coisa também: Informe qual é a impressora. Win_PrintFileRaw(cPrint,cArq,cTit) Imprime somente em impressoras compatíveis com o modo RAW. Se a impressora não tem esse recurso disponível ou está desativado, ocorre o que você disse: "Some mas não imprime".
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

Create Error..impressão.

Mensagempor ziul » 21 Abr 2021 18:08

Boa noite Jairo.
A Minha impressora é compatível com RAW. Veja o print.
Mesmo assim, não sai da fila de impressão.
Tem alguma dica?

Luiz Fernandes
Anexos
Erro Impr.png
Modo RAW
ziul
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 14
Data de registro: 20 Out 2009 15:35
Cidade/Estado: Rio de Janeiro
Curtiu: 2 vezes
Mens.Curtidas: 0 vez

Próximo



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 8 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro