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

Duvida Tratar string formatada

Discussão em 'Progress 4GL' iniciado por lwazevedo, Fevereiro 11, 2015.

  1. lwazevedo

    lwazevedo Membro Ativo

    Bom dia Pessoal.

    Estou com uma dúvida de como tratar uma string formatada.
    Tenho uma função que quando executada ele me retorna uma string, porém está string quando dou uma mensage ou jogo para um arquivo ele é impressa desta forma.


    Data : 11/02/2015
    -------------------------------------------------------
    titulo1 titulo2 titulo3 titulo4 titulo5
    A 1 A B 3
    A 2 C D 2

    Resumo do dia
    ------------------------------------------------------
    Quantidade 2
    ------------------------------------------------------

    Eu gostaria de fazer um laço onde eu possa jogar as informações dentro de um temp
    aos respectivos nomes do titulo. porem sem precisar jogar para um arquivo e depois
    ler o arquivo linha a linha.

    tentei fazer algo com o import variável que tem o texto mas não deu muito certo.

    se alguém poder ajudar agradeço.
  2. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    tem que usar o comando string:
    Código:
    define variable listaTitulos as character no-undo.
    
    for each tit_acr no-lock:
        assign listaTitulos = listaTitulos + string(tit_acr.cod_tit_acr,(10)).
    end.
    
    Acontece que em tela meu caro, vc não tem uma font mono espaçada, então, vc não consegue alinhar o titulo da coluna com a coluna, porque vc não cria uma frame com um browse nela e joga esses seus dados para uma temp-table e a frame mostra o browse usando uma query com os campos formatados certinho.
    Se vc mandar essa string do jeito que estou sugerindo, pra um arquivo, quando abrir no editor, vc tem que mudar a font pra uma mono espaçada pra ver certinho, tipo uma system alguma coisa .....
  3. lwazevedo

    lwazevedo Membro Ativo

    @bootstrapmaster pelo exemplo que colocaste você esta dando um for each em uma tabela ou temp e alimentando uma variável com seus respectivos valores certo. Bom como citei acima eu tenho os valores em uma string que estão formatados de uma forma que quando jogados em uma mensage ou arquivo são impressos da forma que coloquei no post acima. Outro detalhe é que não estou usando carcter. Mas obrigado pela ajuda.
  4. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    pra formatar um campo numerico, usa-se string(campo,'ZZZ,ZZZ,ZZ9.99', se vc usar > ele vai te devolver o valor alinhado a esquerda, mas se usar o Z, ele vai colocar um branco a esquerda, seria isso que vc quer ?
  5. lwazevedo

    lwazevedo Membro Ativo

    @bootstrapmaster Não.

    Eu recebo uma string com valor certo.
    esta string quando eu jogo ele para um arquivo o valor dela é impresso desta forma:
    Data : 11/02/2015
    -------------------------------------------------------
    titulo1 titulo2 titulo3 titulo4 titulo5
    A 1 A B 3
    A 2 C D 2
    Resumo do dia
    ------------------------------------------------------
    Quantidade 2
    ------------------------------------------------------
    fazendo o input from nomearquivo eu consigo pegar linha a linha sem problemas.

    Mas a minha dúvida é se existe uma outra forma de fazer isso sem precisar jogar num arquivo e depois pegar linha a linha.
  6. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa tá, quebra de linha normalmente é o chr(10), então vc pode fazer o seguinte:
    Código:
    define variable contador as integer no-undo.
    repeat contador = 1 to num-entries(suastring,chr(10)):
        disp entry(contador,suastring,chr(10)).
    end.

Compartilhe esta Página