Página 1 de 1

AJUDA: (DBF) ã = Æ (TXT)

Enviado: 07 Nov 2008 10:36
por theramones
Boa,

Venho pedir ajuda para o seguinte. Estou a transformar um dbf para txt, o problema consiste em que por exemplo: Agadão, no DBF fica AgadÆo no TXT. Estou a fazer TXT's com TAB.

Agradeço desde já a ajuda.

Código: Selecionar todos

DELETE FILE ADRCITY
set device to printer
set console oFF
set printer on
set printer to ADRCITY
USE ADRCITY
IF .NOT. FILE("TC.NTX") 
INDEX ON ind TO TC 
ELSE 
SET INDEX TO TC 
ENDIF 
USE ADRCITY INDEX TC
t = 0
do while .not. eof()
cc = city_name
@ T,00 SAY ind+"	"+ESTRUTURA+"	"+FLAG_STRTS+"	"+REGION+"	"+TIME_ZONE+"	"+REGPOLIT+"	"+CC+"	"+CITY_SHORT+"	"+CITY_SH10+"	"+COUNTRY+"	"+DEF_LANGU+"	"+LANGU+"	"+POST_CODE
T = T + 1
@ T,00 SAY IND+"	"+"&ENDE"
T = T+1
skip
enddo

Caracter Æ gerado em arquivo TXT

Enviado: 07 Nov 2008 12:56
por Pablo César
Bem vindo ao fórum (não sei seu nome) !

Este tipo de situação é perfeitamente contornável. Bastaria você traduzir o campo em questão (campo caracter que contém o acento inadequado para exibição) através de uma função. Dê uma olhada neste tópico:

viewtopic.php?f=43&t=4374

Só não posso recisar qual é o padrão do code page utilizado alí em Portugal. Mas está aí a idéia, é só questão de alterar os códigos como por exemplo o caracter "Æ" para o "ã".

Re: AJUDA: (DBF) ã = Æ (TXT)

Enviado: 07 Nov 2008 13:32
por theramones
Obrigado,
O meu nome é Helder.

Resolveu, apenas tenho um problema, pela tua formula o espaço aparece á.

Sabe como resolver.

Obrigado mais uma vez.

AJUDA: (DBF) ã = Æ (TXT)

Enviado: 07 Nov 2008 22:57
por Pablo César
Helder, primeiramente faça todas as acentuações possíveis desde as vogais acentuadas até cedilhas e sinal numérico "º" e "ª" uma no vídeo, isto é num editor de texto, grave e faça um teste de como você quer que fique, ora seja para impressão: você poderia utilizar esta função para verificar os caracteres ora impressos e que desejas:

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
Depois é só mandar para impressora: COPY CARACTER.TXT LPT1

Re: AJUDA: (DBF) ã = Æ (TXT)

Enviado: 08 Nov 2008 09:28
por theramones
Muitíssimo obrigado, já consegui.