Importar arquivo texto maior que 32k

Discussão em 'Outros/Diversos' iniciado por mpdelphi, Março 17, 2010.

  1. mpdelphi

    mpdelphi Membro Participativo

    Tenho um programa bem simples que abre um determinado arquivo texto, porem esse arquivo tem uma unica linha enorme que da mais de 32k

    DEF VAR c-linha AS CHAR.
    INPUT FROM value("nome-doarquico.txt") BINARY NO-ECHO NO-CONVERT.
    IMPORT UNFORMATTED c-linha.


    Ao abrir o arquivo o progress acusa a mensagem
    Nao foi possivel completar a conversao automatica de tipo de dados. Use as funcoes STRING, DECIMAL etc. para conversao explicita. (5731)



    Eu precisava abrir esse arquivo e dar um replace em alguns trechos do conteudo desse linha... alguem tem alguma ideia de como fazer isso ?
  2. pitsa

    pitsa Membro Participativo

    o tipo de dados LONGCHAR não é limitado aos 32K, faça o teste e veja se ele importa utilizando este tipo de dados...
  3. Rogerio

    Rogerio Moderator Moderador Equipe de Suporte

    Alguem conseguiu importar o arquivo com mais de 32K, pois eu estou com o mesmo problema, e mesmo definindo a variavel c-linha como LONGCHAR não esta funionando
  4. jalegria

    jalegria Membro Participativo

    Teste algo do genero
    .
    .
    .

    Código:
    def var m as memptr.
    
    file-info:file-name = 'origem'.
    set-size(m) = file-info:file-size.
    
    input from 'origem' binary no-convert.
    import m.
    input close.
    
    put-string(m,10) = "#########@@@@@@".
    
    output to 'destino'.
    export m.
    output close.
    
  5. Rogerio

    Rogerio Moderator Moderador Equipe de Suporte

    Agora parece que deu certo sim....


    Muito obrigado!!!

Compartilhe esta Página