Página 1 de 2
Como imprimir caracter ASCII de 179 a 223
Enviado: 20 Out 2008 16:01
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?
Re: Como imprimir caracter ASCII de 179 a 223
Enviado: 20 Out 2008 16:10
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?
Re: Como imprimir caracter ASCII de 179 a 223
Enviado: 20 Out 2008 16:16
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!
Re: Como imprimir caracter ASCII de 179 a 223
Enviado: 20 Out 2008 17:09
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.
Como imprimir caracter ASCII de 179 a 223
Enviado: 20 Out 2008 17:29
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:
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.
Re: Como imprimir caracter ASCII de 179 a 223
Enviado: 20 Out 2008 20:12
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.
Re: Como imprimir caracter ASCII de 179 a 223
Enviado: 20 Out 2008 22:01
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.
Re: Como imprimir caracter ASCII de 179 a 223
Enviado: 21 Out 2008 21:27
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.
Re: Como imprimir caracter ASCII de 179 a 223
Enviado: 21 Out 2008 23:51
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.
Re: Como imprimir caracter ASCII de 179 a 223
Enviado: 22 Out 2008 09:38
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?
Re: Como imprimir caracter ASCII de 179 a 223
Enviado: 22 Out 2008 11:52
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/
Re: Como imprimir caracter ASCII de 179 a 223
Enviado: 22 Out 2008 14:01
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.
Re: Como imprimir caracter ASCII de 179 a 223
Enviado: 22 Out 2008 15:41
por Maligno
Arquivo recebido. Obrigado. E já está no meu site. Caso alguém precise, é só usar o link que postei anteriormente.
Re: Como imprimir caracter ASCII de 179 a 223
Enviado: 23 Out 2008 07:46
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
Re: Como imprimir caracter ASCII de 179 a 223
Enviado: 23 Out 2008 10:08
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.