Como imprimir caracter ASCII de 179 a 223

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Jan Ribeiro o Aprendiz
Usuário Nível 1
Usuário Nível 1
Mensagens: 11
Registrado em: 31 Dez 2007 15:55
Localização: Rio de Janeiro - RJ

Como imprimir caracter ASCII de 179 a 223

Mensagem por Jan Ribeiro o Aprendiz »

Preciso imprimir caracteres ASCII de 179 a 223 conforme informação de caracter que recebo de um arquivo DBF.
@ nLinha, nColuna SAY chr(220)
No Windows 98 era impresso o correspondente a tabela ASCII
No Windows XP é impresso um U com trema
Como posso obter um caracter unicod?
cUni := ????
@ nLinha, nColuna SAY ( cUni )
Acho que daria certo mas não sei como acessar a tabela. Alguém me ajuda?
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Como imprimir caracter ASCII de 179 a 223

Mensagem por Maligno »

Bem-vindo ao fórum. :)

O Clipper permite operar apenas com os caracteres ASCII de 0 a 255. A impressão em vídeo se dá normalmente. Não há porque utilizar Unicode pra isso, até porque o Clipper é DOS e não utiliza esse sistema. Agora, se for impressão em papel, é possível também imprimir esses caracteres, desde que a impressora tenha tabela correspondente. Aí você precisaria ajustar essa impressora. Portanto, pergunto: onde você vai imprimir; vídeo ou papel? Se vídeo, modo janela ou tela cheia? Caracteres redefinidos ou padrão?
[]'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!
Jan Ribeiro o Aprendiz
Usuário Nível 1
Usuário Nível 1
Mensagens: 11
Registrado em: 31 Dez 2007 15:55
Localização: Rio de Janeiro - RJ

Re: Como imprimir caracter ASCII de 179 a 223

Mensagem por Jan Ribeiro o Aprendiz »

Lendo uma linha de um arquivo com letras que significariam canto superior, inferior etc e mandado cada caracter para a impressora direto. A minha impressora é uma Lexmark E120. Obrigado pela presteza em me ajudar!
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Como imprimir caracter ASCII de 179 a 223

Mensagem por Maligno »

Sim, agora entendi. Você está imprimindo uma tela na impressora. Então é bem aquilo o que eu disse. Qualquer impressora que recebe um caractere, antes da impressão, tem de fazer uma tradução. Aquele caractere precisa ser transformado no mapa de bits que vai "desenhar" o caractere. Pra que essa tradução ocorra da forma que você quer, a impressora precisa ser configurada para a tabela apropriada. Aí você precisará consultar o manual de programação dela, pois eu, particularmente, não conheço essa impressora.
[]'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!
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á

Como imprimir caracter ASCII de 179 a 223

Mensagem por Pablo César »

Jan, para saber quais caracteres você pode imprimir em modo texto em determinada impressora e não possuindo manual da mesma. Faça um aplicativo que imprima todos os caracteres, por exemplo:

Código: Selecionar todos

SET ALTERNATE TO CARACTER.TXT
SET ALTERNATE ON
FOR I=1 TO 255
    IF !(I>7 .AND. I<11)
       ? CHR(I)+" n§ "+ALLTRIM(STR(I))
    ENDIF
NEXT
SET ALTERNATE OFF
SET ALTERNATE TO
E depois mande o arquivo CARACTER.TXT para impressora, se for uma paralela: COPY CARACTER.TXT LPT1 e se for impressora em USB, imprima atarvés do WAPI.EXE.

Daí a tradução como disse o Maligno se dará quando você obtenha todos os códigos correspondentes ao caracteres que você quer imprimir. Um conselho: para estes casos de imprimir os frames, sugiro você utilizar:

Código: Selecionar todos

+------+
|      |
+------+


Desta forma irá evitar aborrecimentos com a tradução. Mas pelo que me parece, se quiser imprimir em modo gráfico, existe o Printer que faz isso.
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.
Jan Ribeiro o Aprendiz
Usuário Nível 1
Usuário Nível 1
Mensagens: 11
Registrado em: 31 Dez 2007 15:55
Localização: Rio de Janeiro - RJ

Re: Como imprimir caracter ASCII de 179 a 223

Mensagem por Jan Ribeiro o Aprendiz »

Grato e um Clip-abraço para Pablo César e Maligno e eu já acompanho as orientações inteligentes dos dois já algum tempo.
Eu já tinha modificado o meu programa para imprimir os caracteres para ver se achava os caracteres desejados mas a partir do ASCII 128 os caracteres não são os mesmos que aparecem na tabela. A minha impressora é uma Lexmark E120.
Para voces terem um idéia o chr(220) é a metade de um quadrado preto e quando mando imprimir sai U com trema.
Valeu mas eu estou dependendo da resolução deste impasse para concluir um programa para um amigo.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Como imprimir caracter ASCII de 179 a 223

Mensagem por Maligno »

Se não conseguir resolver da forma que deseja ou se a busca pela situação não valer muito a pena (parece ser o caso), uma sugestão é você converter os caracteres semi-gráficos para caracteres imprimíveis (ASCII 32 a 126), tipo traço horizontal para hífen, etc. Em impressões eu sempre prefiro usar esses caracteres imprimíveis. Me poupa o trabalho de configurar impressora. Ou seja, o ideal é simplificar.
[]'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!
Jan Ribeiro o Aprendiz
Usuário Nível 1
Usuário Nível 1
Mensagens: 11
Registrado em: 31 Dez 2007 15:55
Localização: Rio de Janeiro - RJ

Re: Como imprimir caracter ASCII de 179 a 223

Mensagem por Jan Ribeiro o Aprendiz »

Bem lembrado Malígno mas o pior é que eu preciso também do Upper Half Block e este aí fica difícil.
Eu entrei en contacto com a Lexmark e eles me informaram que a E120 é o mesmo da E230 e eu copiei o catálogo de referência técnica e numa leitura rápida eu observei que dá pra mandar caracteres de comando chr(27)+... como se fazia na matricial. São mais de 400 páginas e eu vou dar uma olhada fazer alguns testes e depois eu digo o que aconteceu.
Maligno mais uma vez grato pelo apoio um clip-abraço.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Como imprimir caracter ASCII de 179 a 223

Mensagem por Maligno »

Se quiser e puder me enviar este manual (PDF?), posso subir pro meu site, no local que reservo para compartilhar esse tipo de documentação. Poderia ser proveitoso para mais alguém. Meu endereço: news/AT\buzinello.com.
[]'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!
Jan Ribeiro o Aprendiz
Usuário Nível 1
Usuário Nível 1
Mensagens: 11
Registrado em: 31 Dez 2007 15:55
Localização: Rio de Janeiro - RJ

Re: Como imprimir caracter ASCII de 179 a 223

Mensagem por Jan Ribeiro o Aprendiz »

Maligno
Estou com o arquivo Pdf pra mandar. Verifiquei todos os endereços constantes da sua resposta mas não vi meios de enviar. Por favor mande-me um endereço para o jan1939@gmail.com para que eu possa enviar o Pdf. Falou?
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Como imprimir caracter ASCII de 179 a 223

Mensagem por Maligno »

Já enviei. Verifique sua caixa postal. Assim que receber o arquivo, postarei na página http://pub.buzinello.com/index.php?d=./manuals/
[]'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!
Jan Ribeiro o Aprendiz
Usuário Nível 1
Usuário Nível 1
Mensagens: 11
Registrado em: 31 Dez 2007 15:55
Localização: Rio de Janeiro - RJ

Re: Como imprimir caracter ASCII de 179 a 223

Mensagem por Jan Ribeiro o Aprendiz »

Tentei por duas vezes e como na primeira a comunicacao não concluia eu derrubei e enviei novamente com sucesso.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Como imprimir caracter ASCII de 179 a 223

Mensagem por Maligno »

Arquivo recebido. Obrigado. E já está no meu site. Caso alguém precise, é só usar o link que postei anteriormente.
[]'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!
Jan Ribeiro o Aprendiz
Usuário Nível 1
Usuário Nível 1
Mensagens: 11
Registrado em: 31 Dez 2007 15:55
Localização: Rio de Janeiro - RJ

Re: Como imprimir caracter ASCII de 179 a 223

Mensagem por Jan Ribeiro o Aprendiz »

Maligno
Fiz um teste abrindo o bloco de notas teclei Alt 220 e apareceu o Upper Half Block, tentei salvar o arquivo e recebí o aviso de que perderia pois continha carater Unicod. Mandei imprimir e na impressão saiu o título arquivo sem título mas o bendito Upper Half Block estava impresso. Tentei a linha @ nLinha, nColuna SAY eval({|| chr(220)}) e foi impresso o velho conhecido U com trema.
Como acessar a tabela Unicod? No mapa de caracteres aparece U+2580 eu tentei colocar numa variável mas não consegui.
Um Clip-Abraço Jan
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Como imprimir caracter ASCII de 179 a 223

Mensagem por Maligno »

O Clipper não foi feito para nada além da tabela ASCII simples; caracteres de 0 a 255, em oito bits. O Unicode, por outro lado, foi feito para suportar milhares de caracteres. Não foi feito para DOS. Melhor esquecer esse caminho.
[]'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!
Responder