Comando clipper para impressoras matricias

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Dayse Oliveira
Usuário Nível 1
Usuário Nível 1
Mensagens: 2
Registrado em: 07 Nov 2012 08:53
Localização: Mogi-Mirim

Comando clipper para impressoras matricias

Mensagem por Dayse Oliveira »

Olá

Estou trabalhando com um código em clipper e estou com uma duvida, o programa gera uma impressão após imprimir ele pergunta se deseja imprimir novamente. se eu digo q sim ele imprime novamente mas ele puxa uma nova folha e eu nao coloquei eject no final, o formulario que eu quero imprimir é pequeno e nao precisa de um folha toda só da metade.
Eu gostaria de saber se existe uma maneira de fazer com q a impressora fique parada.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Comando clipper para impressoras matricias

Mensagem por alxsts »

Olá!

Seja muito bem-vinda a este fórum Dayse.

Durante o processo de impressão, você certamente incrementa um contador de linha e imprime. Vamos supor que você imprima da linha zero até a trinta.

Quando você executa a reimpressão, a impressora está posicionada na linha 31 e você manda imprimir algo na linha zero. Para ajustar a folha para a linha zero ela salta uma folha.

Solução para o problema: antes de imprimir a primeira linha, zere o contador interno de linha e coluna da impressora com o comando abaixo.

Código: Selecionar todos

SetPrc(0,0)
Se o problema persistir, fique à vontade para postar o trecho de código onde você imprime.

Lembrando ainda que o fórum dispõe de um mecanismo de busca no canto superior direito da página.
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Comando clipper para impressoras matricias

Mensagem por Pablo César »

Dayse, seja bem vinda ao fórum !
Dayse Oliveira escreveu:o programa gera uma impressão após imprimir ele pergunta se deseja imprimir novamente. se eu digo q sim ele imprime novamente mas ele puxa uma nova folha e eu nao coloquei eject no final, o formulario que eu quero imprimir é pequeno e nao precisa de um folha toda só da metade.
Eu gostaria de saber se existe uma maneira de fazer com q a impressora fique parada.
Eu tenho certeza que sim, pois eu fiz isso e realmente funciona. Considerando que seja uma impressora Epson, o que você precisa é imprimir em formulário continuo e essas impressoras possuem uma alavanca para alternar a forma de alimentação entre contínuo e folha solta. Mesmo em folha solta irá funcionar. Você não mencionou de quê forma você envia a impressão. Você imprime direto ? Seria com os comandos @ say... ou ? .... Teria como você fazer um teste e gerar a impressão em arquivo para depois copiar para o spooler do Windows ? Esta modificação irá ajudar-nos para reproduzir o mesmo efeito que eu faço aqui com as impressoras matriciais.

Temos também que revisar as micro chaves que servem para alterar o comportamento default da impressora. Elas só devem ser mexidas com a impressora desligadas. Por exemplo nas Epson eu configurei desta forma:
Epson.PNG
Epson.PNG (3.84 KiB) Exibido 1230 vezes
Mas antes de alterar, anote a posição da atuais chaves, caso você precise retornar ao que estava.

Outra questão que eu verifico nessas Epson é a configuração Default da BIOS. É extremamente chato mexer nisso, mas uma vez que acerto, fica como eu quero: padrão de acentuação brasileiro, o zero cortado, Auto Line fee (alimentação de linha) tamanho de folha. E para isso você precisará desligar a impressora, pressionar simultaneamente os dois botões (FONT e PAUSE) e ela irá imprimir um a tabela sobre a linguagem de inteiração com usuário. Ai terá que pular para a seguinte tabela que imprimirá as configurações default da impressora. Para isso dê continuidade aquela impressão de linguagem pressionando uma vez só o botão LF/FF, ai irá imprimir a tabela CURRENT SETTINGS que nos meu clientes tem assim:
Epson1.PNG
Epson1.PNG (7.39 KiB) Exibido 1230 vezes
É muito complicado acertar a tabela de configurações, pois envolve várias outras tabelas que você precisará pular e alterar o item. Muito chato mesmo mexer com isso, mas se você apenas verificar se estiver muito diferente, talvez seria uma possibilidade de mexer nisso. Mas adianto, muito muito chato. Vai gastar muito papel e tempo e haja paciência...
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.
Adalberto
Usuário Nível 3
Usuário Nível 3
Mensagens: 343
Registrado em: 01 Set 2007 01:09
Localização: Santa Cruz de la Sierra - Bolivia

Comando clipper para impressoras matricias

Mensagem por Adalberto »

Ola Dayse,

Teste com o comando que indica o tamanho da folha, ser for tamanho carta (8.5” x 11”) são 66 linhas, ser for tamanho legal (oficio) são 74 linhas, então a metade e...

O comando citado e: @ nRow,ncol SAY CHR(27) + CHR( 67) + CHR(66) // 66 linhas
Faca o teste com 33 linhas, a impressora tomará media folha como tamanho total, começando a nova impressão na outra metade.

O Deus do céu abençoe você.

[] Adalberto
Responder