Importar TXT sem delimitador

Discussão em 'Progress 4GL' iniciado por demetriusbarbosa, Maio 21, 2010.

  1. demetriusbarbosa

    demetriusbarbosa Membro Participativo

    Boa tarde.

    Pessoal estou com dificuldades em importar um arquivo TXT sem delimitador.
    Alguém tem alguma idéia?

    Obrigado.
  2. felix

    felix Membro Participativo

    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
  3. LeandroSantos

    LeandroSantos Membro Participativo

    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.
  4. demetriusbarbosa

    demetriusbarbosa Membro Participativo

    Funcionou perfeitamente.

    Agora, sem querer abusar.
    Vocês sabem como alterar um caracter em uma determinada posição dentro de um arquivo TXT.

    Obrigado.
  5. LeandroSantos

    LeandroSantos Membro Participativo

    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).
  6. Rogerio

    Rogerio Moderator Moderador Equipe de Suporte

    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.

Compartilhe esta Página