1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Duvida obter nome dos itens selecionados de uma combobox

Discussão em 'Progress 4GL' iniciado por ueluis, Fevereiro 5, 2019.

  1. ueluis

    ueluis Membro Participativo

    Olá pessoal,

    tenho uma combobox com nome de vcombo.

    dentro dela tenho a seguinte informação:
    "001 programa_cb","001",
    "001 programa_qr","002",
    "001 programa_datamatrix","003"

    preciso pegar a parte do label da combo em tempo real, é possivel pegar esta informação em um combobox ou em um inputbox?
    exemplo :
    selecionando o primeiro item com o comando abaixo eu pego "001"
    vcombo:SCREEN-VALUE IN FRAME {&FRAME-NAME}.

    o que quero é pegar separado o texto: "001 programa_cb".

    att,
  2. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    use input-value ao inves de screen-value
  3. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    pra mim a regra é assim, quando eu quero por uma informação em um campo de tela, screen-value, quando eu quero ler uma informação de um campo de tela, input-value, os dados já vem no datatype correto e no caso dos combo-box, vem a informação correta, no caso do list-items-pair, vem o segundo parametro, que é o que te interessa.
  4. ueluis

    ueluis Membro Participativo

    eu preciso ler os dois parâmetros do items-pairs, eu poderia criar uma variavel extent para armazenar esta informação, e indexar o com o combo porém é mais uma variavel no programa pra pegar uma informação simples.
    se eu conseguisse ler tanto o primeiro quanto o segundo parametro do itens pairs me ajudaria em muita coisa é possível?
  5. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    screen-value é o parametro que aparece na tela, input-value é o segundo valor do parametro, só ler os 2 !!!!!!
  6. ueluis

    ueluis Membro Participativo

    Olá @bootstrapmaster , já havia tentado da maneira que você informou mais ambos trazem o mesmo resultado, consegui de uma forma mais grosseira, abaixo um exemplo de como fiz:
    Código:
    DEF VAR teste AS CHAR VIEW-AS COMBO-BOX LIST-ITEM-PAIRS "002 setup_AZ.job", 002,"003 setup amarelo_CB.job",003,"004 setup roxo_CB.job",004,"007 setup inclolor_AZ.job",007,"008 setup cinza.job",008,"010 setup vermelho.job",010.
    
    DEFINE FRAME f teste .
    ENABLE teste WITH FRAME f.
    ON VALUE-CHANGED OF teste DO:
      DISP
         
          teste SKIP
          substring(substring(SELF:LIST-ITEM-PAIRS IN FRAME f,
            INDEX( SELF:LIST-ITEM-PAIRS IN FRAME f,SELF:INPUT-VALUE IN FRAME f),
                LENGTH(SELF:LIST-ITEM-PAIRS IN FRAME f,SELF:INPUT-VALUE IN FRAME f) -
                INDEX( SELF:LIST-ITEM-PAIRS IN FRAME f,SELF:INPUT-VALUE IN FRAME f)),
                INDEX(substring(SELF:LIST-ITEM-PAIRS IN FRAME f,
                INDEX( SELF:LIST-ITEM-PAIRS IN FRAME f,
                SELF:INPUT-VALUE IN FRAME f),
                LENGTH(SELF:LIST-ITEM-PAIRS IN FRAME f,
                SELF:INPUT-VALUE IN FRAME f)-
                INDEX(SELF:LIST-ITEM-PAIRS IN FRAME f,
                SELF:INPUT-VALUE IN FRAME f)),",")- 6,2) FORMAT "x(60)"  SKIP
          WITH FRAME f.
    END.
    WAIT-FOR WINDOW-CLOSE OF CURRENT-WINDOW.
    

Compartilhe esta Página