Boa tarde. Pessoal estou com dificuldades em importar um arquivo TXT sem delimitador. Alguém tem alguma idéia? Obrigado.
Ola. voce pode usar o quoter e fazer por partes: exemplo: unix silent value(search("quoter")) -c 1-70 value(x-a) > value(x-a + ".q"). input from value(x-a + ".q") no-echo. repeat: set x-dad with width 100 no-box. create tt. assign tt.w_codigo = substring(x-dad,1,6) tt.w_descr = substring(x-dad,7,35). end. Espero ter ajudado
Se seu arquivo tiver um padrão, por exemplo: Código: 001 Antonio 011 2222-1111 002 Manoel 011 4444-3333 003 Joao 011 9999-8888 Seu codigo ficaria assim: Código: def var linha as char. def temp-table tt-dados field codigo as int format ">>9" field nome as char format "X(20)" field ddd as int format "999" field telefone as char format "X(9)". input from value("d:\arquivo.txt"). repeat: import unformat linha. create tt-dados. assign tt-dados.codigo = int(substring(linha,1,3)) tt-dados.nome = substring(linha,5,15) tt-dados.ddd = int(substring(linha,22,3)) tt-dados.telefone = substring(linha,25,9). end. input close. for each tt-dados: disp tt-dados. end. Espero ter ajudado. Abs.
Funcionou perfeitamente. Agora, sem querer abusar. Vocês sabem como alterar um caracter em uma determinada posição dentro de um arquivo TXT. Obrigado.
Para alterar dentro do TXT direto não tem como, voce tera que importar o arquivo e depois exportar substituindo os characters que voce quizer. Voce pode usar Substring para isso: substring(cadeia_de_character,posição_inicial,tamanho).
Você tambem pode usar a Função REPLACE sintaxe: <string> = REPLACE(string,string anterior,nova string). Exemplo: DEF VAR teste AS CHAR INIT "isso não é apenas teste". MESSAGE teste VIEW-AS ALERT-BOX INFO BUTTONS OK. teste = REPLACE(teste,"não é","é"). MESSAGE teste VIEW-AS ALERT-BOX INFO BUTTONS OK.