Impressão em Impressora Serial (COM1) em Clipper
Moderador: Moderadores
-
Dilson José
- Usuário Nível 1

- Mensagens: 24
- Registrado em: 06 Jun 2007 08:09
- Localização: www.pop.com.br
- Contato:
Impressão em Impressora Serial (COM1) em Clipper
Não consigo imprimir comandas usando SET PRINT TO COM1, impressora PROCOMP, pelo DOS eu imprimo ex. DIR > COM1 sai, mas dentro de minha aplicação não, álguem pode por gentileza ajudar-me? Se puder dar exemplos agradeço muito! Obrigado!
Sds
Dilson José
Sds
Dilson José
Código: Selecionar todos
SET PRINTER TO COM1
SET DEVICE TO PRINTER // direciona p/ printer
? "IMPRIME" // imprime
* outros comandos de impressão
SET PRINT TO // zera buffer de impressão
SET DEVICE TO SCREEN // direciona p/ tela-
Maurício Elias
- Usuário Nível 3

- Mensagens: 304
- Registrado em: 12 Mai 2005 08:48
Sob DOS imprime mas sob Windows não? Por acaso seu mouse não está ocupando a COM1? Ou sua aplicação roda apenas sob DOS?
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Mas ele não especificou como fez o SET DEVICE. Talvez o problema seja outro.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Olá Colegas... se o colega Dilson não especificou o Set Device to Print pode ser 2 coisas ou ele realmente não direcionou a saída e nesse caso o nosso Colega Eolo esta correto, ou pode ser tb que ele tenha especificado e o problema seja outro como disse corretamente o nosso Colega Maligno....
Posso compartilhar com os colegas o seguinte... Trabalho muito com Ecf´s de diversas marcas e já passei por inúmeras situações... dentre elas explanando um pouco mais o que talvez seja a linha de pensamento do nosso colega Maligno... No Windows 98 se vc manda imprimir direto no prompt DIR >COM1 o Windows "cede" a vez para o prompt por isso imprime. Agora, não sei exatamente o pq, mas em alguns computadores rodando com o sistema em Clipper mesmo estando tudo ok (talvez algo relacionado a IRQ), segue abaixo o exemplo do colega Eolo (Corretamente "SETADO"), para base do teste:
O sistema não imprime, repito isso em alguns micros com Windows98, um macete para o colega testar ver se esse é o caso, partindo do princípio q esteja tudo "SETADO" corretamente, é no Iniciar -> Executar -> MSCONFIG -> Na guia Win.Ini -> Expandir a pasta Windows -> lá dentro tem um linha falando sobre o mouse é a 5ª ou a 6ª ela vai estar com o valor 0 ou 1 não lembro agora aí vc inverte... isso é para qdo vc ligar o micro aparecer aquela mensagem q não encontrou o Mouse e pressionar para não aparecer mais a mensagem... mas vc não clica em nada qdo reiniciar e aparecer a mensagem vc clica simplesmente em OK e faz o teste, pq qdo vc escolhe para não aparecer mais a mensagem do mouse, em alguns micros com o Win98 gera este vamos dizer assim "conflito" na COM1.... caso seja isto q estaja bloqueando a com, repito partindo do princípio q no seu sistema esteja como no exemplo do colega Eolo, tudo vamos dizer assim "SETADO" corretamente, ele com certeza vai funcionar, lembrando isso tb se for Windows 98.
Vlw, espero ter contribuido, mesmo q talvez pouco com alguém...
Sucesso a todos nós!!!
:)Pos
Posso compartilhar com os colegas o seguinte... Trabalho muito com Ecf´s de diversas marcas e já passei por inúmeras situações... dentre elas explanando um pouco mais o que talvez seja a linha de pensamento do nosso colega Maligno... No Windows 98 se vc manda imprimir direto no prompt DIR >COM1 o Windows "cede" a vez para o prompt por isso imprime. Agora, não sei exatamente o pq, mas em alguns computadores rodando com o sistema em Clipper mesmo estando tudo ok (talvez algo relacionado a IRQ), segue abaixo o exemplo do colega Eolo (Corretamente "SETADO"), para base do teste:
Código: Selecionar todos
SET PRINTER TO COM1
SET DEVICE TO PRINTER // direciona p/ printer
? "IMPRIME" // imprime
* outros comandos de impressão
SET PRINT TO // zera buffer de impressão
SET DEVICE TO SCREEN // direciona p/ tela
Vlw, espero ter contribuido, mesmo q talvez pouco com alguém...
Sucesso a todos nós!!!
:)Pos
Imprimir para COM1
Eu tive esse problema para imprimir na COM1 no XP. Na linha de comando e no Edit imprimia ok dentro do programa tentei de tudo, Set Printer to COM1, __CopyFile(arq.prn,'Com1'), nada funcionou aí me lembrei de redirecionar a impressão de uma porta paralela para porta serial:
MODE LPT2=COM1
agora mando imprimir para a porta LPT2 com o comando
Set Printer to LPT2
e a impressão é feita normalmente para a COM1
Espero ter ajudado.
MODE LPT2=COM1
agora mando imprimir para a porta LPT2 com o comando
Set Printer to LPT2
e a impressão é feita normalmente para a COM1
Espero ter ajudado.
Também tive esse problema no 98 e XP e a solução foi como o Barreto postou. Fiz um BAT que antes do sistema chama as seguintes linhas :
MODE COM1:9600,N,8,1
MODE LPT2:=COM1:
Assim roda blz e inclusive compartilho normalmente.
Coloquei num BAT porque as vezes perdia a configuração ao entrar e sair do sistema.
Ps. Um negócio estranho que não consegui resolver é o seguinte :
Consigo imprimir pela rede de todos o computadores, mas não consigo imprimir do próprio computador onde a impressora está conectada, acontece é que ela imprime a primeira vez e depois não mais, fica dizendo que a porta COM1 está ocupada, já tentei de tudo, tirei mouse, botei mouse, desintalei COM, instalei COM. Como prar meu cliente não é tão importante imprimir deste computador para a impressora que está nele dexei pra lá.
Até logo.
Marcelo
MODE COM1:9600,N,8,1
MODE LPT2:=COM1:
Assim roda blz e inclusive compartilho normalmente.
Coloquei num BAT porque as vezes perdia a configuração ao entrar e sair do sistema.
Ps. Um negócio estranho que não consegui resolver é o seguinte :
Consigo imprimir pela rede de todos o computadores, mas não consigo imprimir do próprio computador onde a impressora está conectada, acontece é que ela imprime a primeira vez e depois não mais, fica dizendo que a porta COM1 está ocupada, já tentei de tudo, tirei mouse, botei mouse, desintalei COM, instalei COM. Como prar meu cliente não é tão importante imprimir deste computador para a impressora que está nele dexei pra lá.
Até logo.
Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Impressão na saída serial
Eu não conseguí que funcionasse normal em modo compartilhada em rede, por essa questão que disse que a porta estava ocupada (algo assim). Mas na mesma estação onde está instalada a impressora resolví fazendo da seguinte forma:
1. Criei o arquivo chamado SERIAL.BAT que contém:
2. No arquivo BAT que chama o sistema coloquei o chamado de um aplicativo que verifica o status da serial que chama-se STATUS.EXE:
3. O STATUS.PRG, tem:
Foi desta forma que resolví. Só tem que verificar se o comando MODE do SO está em português para que dê a mensagem ": nÆo redirecionada" (mas isto não seria problema porque poderia ser colocado a frase do idioma correspondente. E o outro detalhe é que em WINXP e VISTA não deixa utilizar o caracter direcionador ">".
Quem sabe o Maligno consiga ver o status da COM e criar mais uma função no WAPI ? Mas para mim resolve direitinho.
1. Criei o arquivo chamado SERIAL.BAT que contém:
Código: Selecionar todos
@ECHO OFF
MODE COM1:9600,N,8,1,P
MODE LPT2:=COM1Código: Selecionar todos
@ECHO OFF
STATUS COM1 LPT2
CALL SERIAL.BAT
PROGRAMA.EXECódigo: Selecionar todos
SET CONSOLE OFF
SET SCOREBOARD OFF
PARAMETERS VCOM,VLPT
IF VCOM=NIL .OR. VLPT=NIL
CLS
SET CURSOR OFF
@ 12,28 SAY "Sintaxe: STATUS COM1 LPT2" COLOR "W+/N"
INKEY(3)
SET CURSOR ON
QUIT
ENDIF
VRODA:="MODE "+VLPT+" /STATUS > ST"
RUN (VRODA)
VST:=MEMOREAD("ST")
IF VLPT+": nÆo redirecionada" $ VST
SET ALTERNATE TO SERIAL.BAT
SET ALTERNATE ON
?? "@ECHO OFF"
? "MODE COM1:9600,N,8,1,P"
? "MODE "+VLPT+":="+VCOM
SET ALTERNATE OFF
SET ALTERNATE TO
ELSE
MEMOWRIT("SERIAL.BAT","@ECHO OFF")
ENDIF
DELETE FILE("ST")Quem sabe o Maligno consiga ver o status da COM e criar mais uma função no WAPI ? Mas para mim resolve direitinho.
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.
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.
Que negócio estranho !
Comigo ela funciona compartilhada, mas não funciona no micro onde está instalada, ou melhor, até funciona mas seu eu imprimir no micro local então passa a não funcionar na rede, como pra meu cliente é mais importante a impressão pela rede então ele desistiu da impressão na serial local, mesmo porque ele já tem outra impressora na LPT1.
Até logo.
Marcelo
Comigo ela funciona compartilhada, mas não funciona no micro onde está instalada, ou melhor, até funciona mas seu eu imprimir no micro local então passa a não funcionar na rede, como pra meu cliente é mais importante a impressão pela rede então ele desistiu da impressão na serial local, mesmo porque ele já tem outra impressora na LPT1.
Até logo.
Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
É... quando eu disse "(algo assim)", é porque não lembro de exatamente qual era a dificuldade. Só sei que não teve jeito de usá-la em modo compartlhado em rede. Mas esse aplicativo resolveu direitinho. Eu mencioneu sobre a dificuldade de utilização do caracater direcionador ">" de acordo a versões do Windows. Mas existe a combinação de "2>" substituindo o ">" para WIN XP (no VISTA, creio que é ">"). Daria para fazer uma BAT mais inteligente que utilizasse o caracter direcionador de acordo a versão do Windows. Por isso, eu tenho como padrão ter uma variável de ambiente que guarda a versão do Windows atualmente instalado.
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.
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.
O WAPI não te dá essa informação facilmente?Pablo César escreveu:de acordo a versão do Windows. Por isso, eu tenho como padrão ter uma variável de ambiente que guarda a versão do Windows atualmente instalado.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Também... O WAPI, tem a função -GETWINDOWSINFO que dá a versão do Windows. Mencionei da existência de uma variável de ambiente, pois fica uma coisa mais padronizada e mais prática de trabalhar, pois é só ler a variável e obter o resultado. Lembro-me que alguns testes com -GETWINDOWSINFO tinham dado erroneamente o seu resultado (tem mensagens minhas sobre isso), isto é: no meu WINXP estava dando resultado como: "9X,Windows 95,,4.0.950" mas o engraçado, agora não está dando mais esse resultado... E eu não formatei o WINXP ainda. Eu visto a essa dificuldade, tinha criado uma rotina que verificasse e criasse a versão do Windows. Foi por isso que mencionei da variável de ambiente.
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.
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.

