Import com erro tipo de arquivo.

Discussão em 'Progress 4GL' iniciado por arnaldoclima, Junho 21, 2010.

  1. arnaldoclima

    arnaldoclima Membro Participativo

    Boa Noite.

    É o seguinte tenho um arquivo que é gerado por uma balança no qual gera o peso e o status do comando
    ficando em um arquivo texto de nome c:\peso.txt e o conteudo é uma unica linha da seguinte forma " 86.41/01" ,
    sem as aspas q e só para identificar o conteudo sendo antes dos numeros 5 espaços.
    Acontece que executo a rotina descrita abaixo e a variavel vem em branco, ja tentei com uma string grande e nada,
    ai é o seguinte abri o arquivo peso.txt no edit e salvei , e quando executo a rotina aparece os valores, então acho
    que o arquivo vem com algum caracter especial que não deixa mostrar, tem algum comando no DOS/WIndows que
    posso ler o texto e cnverter para o formato texto normal.

    def var w-reg as char format "x(100)".

    input from c:\peso.txt.

    repeat:

    import unformatted w-reg.

    disp w-reg .

    end.
  2. Rogerio

    Rogerio Moderator Moderador Equipe de Suporte

    Tente alterar a linha do input para

    input from c:\peso.txt NO-CONVERT.
  3. mcarril

    mcarril Membro Participativo

    no disp w-reg coloque um Format "x(30)".
  4. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

    Caro colega,


    Coloque o arquivo anexado para a gente validar aqui...
  5. arnaldoclima

    arnaldoclima Membro Participativo

    Amigos, tentei as duas opções e nada.

    Vou enviar o arquivo em anexo, é pequeno e simples.

    O arquivo esta com nome peso.doc mas é um texto simples não é word.

    Arnaldo Cavalcante

    Arquivos Anexados:

    • peso.doc
      Tamanho:
      13 bytes
      Visitas:
      10
  6. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

    Caro colega,

    Olhando o arquivo achei o seu problema, trata-se da seguinte questão.

    Para que o progress consiga identificar a ultima linha como uma linha válida, deve-se ter o character de ENTER (PARAGRAFO) informdo no final, no caso o CHR(13) ou CHR(10).

    No seu arquivo, existe apenas uma linha, para que o Progress consiga importar corretamente deve-se ter um ENTER no firnal, assim você terá a primeira linha toda preenchida e a segunda (ultima) somente a marca de parágrafo, sem nada escrito, por isto quando você abre o arquivo e manda salvar e executa a rotina funciona sem problema.

    Simule as rotinas abaixo para você ver, a primeira estou dando um OUTPUT sem SKIP, o IMPORT não funciona e na segunda já tem um SKIP e funciona.

    Código:
    
    def var w-reg as char format "x(40)".
    
    /****** SEM O SKIP NO OUTPUT *****/
    output to c:\temp\peso.txt.
    put "   eduardo/0101".
    output close.
    
    input from c:\temp\peso.txt.
    
    repeat:
    
    import unformatted w-reg.
    
    disp "Opção sem o SKIP " w-reg .
    
    end.
    
    /****** SEM O SKIP NO OUTPUT *****/
    output to c:\temp\peso.txt.
    put "   eduardo/0102" skip.
    output close.
    
    input from c:\temp\peso.txt.
    
    repeat:
    
    import unformatted w-reg.
    
    disp "Opção com o SKIP " w-reg .
    
    end.
    
    
    Para que funcione corretamente a leitura do arquivo da balança, ao gerar o arquivo pela balança coloque para dar um ENTER ou MARCA DE PARÁGRAFO no final, assim irá funcionar corretamente.

Compartilhe esta Página