Saída USB

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

Saída USB

Mensagem por Josmar dos Santos »

Caros colegas, sei que ja foi muito discotido esse assunto aqui, mas como eu ja comentei em outras situações, sou iniciante e voces terao que ter paciencia comigo..rs..rs.

Bom, para eu imprimir em usb...eu fiz um atalho no meu sistema, em vez de em mandar para uma impressora eu mando para uma saída de aquivo txt...porém, toda vez que eu mando para esse arquivo, tenho que sair do sistema, abrir o bloco de notas e so assim consigo imprimir..Será que tem algum jeito de eu imprimir esse relatório sem sair do sistema, ou seja, ao desviar para o arquivo, ele ja imprimir direto....Nota...Vale lembrar que tambem consigo criar esses arquivos em extensao prn ...sem mais ..um abraço....Josmar
Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

Saída Usb

Mensagem por Josmar dos Santos »

Para reforçar esse assunto, queria imprimir do prg...pois tive que fazer um filtro do bloco de notas para imprimir o mesmo...ok ...fuiii
Avatar do usuário
hauch
Usuário Nível 2
Usuário Nível 2
Mensagens: 56
Registrado em: 17 Ago 2004 17:23
Localização: Rio Grande do Sul

Mensagem por hauch »

Eu Utilizo o PRWIN do Wagner


té +
Marcelo Pereira
Usuário Nível 1
Usuário Nível 1
Mensagens: 1
Registrado em: 25 Jan 2006 08:24

Imprimir USB

Mensagem por Marcelo Pereira »

Eu usei um programa chamado nodosimp encontrado na internet.
Dércio_Luiz_Zanatta
Usuário Nível 3
Usuário Nível 3
Mensagens: 153
Registrado em: 11 Jan 2006 15:37
Localização: Ibirubá - RS

Impressão em USB

Mensagem por Dércio_Luiz_Zanatta »

amiguinho.
Eu tb uso o PRWIN do Wagner. Funciona muito bem.
Para vc imprimir sem sair do programa basta vc chamar o prwin com o comando RUN ou SwPRun(), este último se vc linka com BLINKER.
Um abraço...
Avatar do usuário
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Mensagem por gvc »

Se a sua impressora imprime texto direto, coloque no seu sistema:
SET PRINTER TO USB001 (ou a porta criada para a sua impressora USB).
Grings
Usuário Nível 3
Usuário Nível 3
Mensagens: 340
Registrado em: 18 Ago 2004 13:51

Mensagem por Grings »

Posso estar enganado mas se vc colocar Set Printer To USB001 será gerado um arquivo chamado USB001.PRN com o conteúdo do seu relatório. Não seria Set Device To USB001 ? Vou testar...
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Mensagem por rochinha »

Amiguinhos

O SET DEVICE TO e SET DEVICE TO PRINTER apenas fazem uma alteração interna na resposta do comando @...SAY.

Se voce fizer isto:

@ 10,10 SAY 'Sai na tela'
SET DEVICE TO PRINTER
@ 12,10 SAY 'Sai na impressora'

Assim:

SET DEVICE TO PRINTER
@ 10,10 SAY 'Sai na tela'
SET DEVICE TO
@ 12,10 SAY 'Sai na impressora'

Voce verá como funciona o comando.

Para imprimir em USB é melhor usar um aplicativo que trabalhe e, background e capture em algum diretorio a saida de seu impresso no formato .TXT.

Ao final do relatorio repita os comandos de desligamento de impressão:

SET PRINTER TO arquivo.txt
SET DEVICE TO PRINTER
...
corpo do relatorio
...
SET DEVICE TO
SET PRINTER TO
SET PRINTER TO

Desta forma voce forcou um desligamento do comando de impressão:

Outra dica é voce escrever em arquivo .TXT em modo baixo nivel usando fcreate, fwrite e fclose, como:

Código: Selecionar todos

// Cria arquivo
errfile      := "arquivo.txt"
ret_line    := "chr(13)+chr(10)"
errhandle := fcreate(errfile)
lin           := 1
//
USE arquivo
GO TOP
DO while .not. eof()
      @ 24,0 say 'Imprimindo a linha '+str(lin,3)
      VariavelAImprimir := SUBSTR(campoC,1,30) + " " + ;
                                      STR(campoN,5) + " " + ;
                                      TRANSF(campoN,"@e 999,999.99") + " " + ;
                                      DTOC(campoD)
      fwrite(errhandle, VariavelAImprimir + &ret_line.)
      lin := lin + 1
ENDDO
fclose(errhandle)

Depois basta usar comando de envio à impressora através do RUN do Clipper ou do RUN do BLinker.

RUN "COPY "+errfile+" LPT1"

Neste caso eu suponho que LPT1 seja usada pela impressora USB.

Continuo frizando que ''e melhor usar um utilitário extra sistema e parar de quebrar a cabeça.

@braços :?)
Responder