1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Anuncie Aqui
    Anuncie aqui você Também: fdantas@4each.com.br

Ler linhas de um campo CHAR

Discussão em 'Progress 4GL' iniciado por andreluisbrandao, Maio 4, 2015.

  1. andreluisbrandao

    andreluisbrandao Membro Participativo

    Gostaria de saber como faço para ler linhas de um campo CHAR.

    Exemplo campo Roteiro :

    Gavião - BA
    Capim Grosso - BA
    Quixabeira - BA
    Serrolandia - BA
    Várzea do Poço - BA
    Jacobina - BA

    Obrigado mais uma vez.
  2. fernandofarah

    fernandofarah Membro Participativo

    Essas informações estão em um mesmo campo!?
  3. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    quebra de linha no progress é o chr(10) então
    Código:
    define contador as integer no-undo.
    
    
    repeat contador = 1 to num-entries(conteudo, chr(10)):
        disp entry(contador,conteudo, chr(10)).
    end.
    
    rafael.andrade e fernandofarah curtiram isso.
  4. rafael.andrade

    rafael.andrade Membro Master Moderador Equipe de Suporte

    Supondo que a quebra de linha seja CHR(13) então

    Código:
    DEF VAR texto AS CHAR.
    DEF VAR xi AS INTEGER.
    
    texto = "Gavião - BA" + CHR(13) +
            "Capim Grosso - BA" + CHR(13) +
            "Quixabeira - BA" + CHR(13) +
            "Serrolandia - BA" + CHR(13) +
            "Várzea do Poço - BA" + CHR(13) +
            "Jacobina - BA".
    
    Bloco:
    DO WHILE TRUE:
       DO ON ERROR UNDO, LEAVE:
       
          xi = xi + 1.
          MESSAGE ENTRY(xi,texto,CHR(13))
              VIEW-AS ALERT-BOX INFO BUTTONS OK.
       
          CATCH erro AS Progress.Lang.ProError: /* Executa somente quando ocorre erro Progress */
             LEAVE Bloco.
          END CATCH.
          FINALLY: 
          END FINALLY. 
       END.
    END.
    
    Se não trazer 1 por 1, use o CHR(10) ou outro caracter de quebra de linha.

    o correto não é usar TRY...CATCH
    Use a função NumEntry que postei no Procedures e Funções Uteis para fazer um DO xi = 1 to NumEntry(texto,CHR(13))

    Abraço

    Rafael
  5. rafael.andrade

    rafael.andrade Membro Master Moderador Equipe de Suporte

    Não conhecia a função NUM-ENTRIES... e olha que cacei ela, acabei fazendo uma, rsrsrs
  6. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    eu digo chr(10) porque é o padrão do progress, se vc abre um campo com view-as text e dá ENTER, o progress coloca CHR(10).

Compartilhe esta Página