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

Selection List

Discussão em 'Progress 4GL' iniciado por fdantas, Março 13, 2009.

  1. fdantas

    fdantas Administrator Moderador

    /******************** STATEMENTS**************************************
    **
    ** variavel-logica = selection-list-1:ADD-LAST(string-1) (Method)
    ** Adiciona uma determinada string na
    ** ultima linha de uma SELECTION-LIST
    **
    ** variavel-logica = selection-list-1:DELETE(item-1) (Method)
    ** Exclui uma das linhas da SELECTION-LIST.
    **
    **********************************************************************/

    Código:
    
    /*----------DEFINICAO DE VARIAVEIS--------*/
    DEF VAR x AS LOGICAL.
    /*----------DEFINICAO DE BUTTONS----------*/              
    DEF BUTTON bt-fim   LABEL "&Fim".
    DEF BUTTON bt-mais  LABEL "&Destino >>".
    DEF BUTTON bt-menos LABEL "&Origem  <<".
    /*----------DEFINICAO DE SELECTION-LIST----------*/
    DEF VAR origem AS CHARACTER
        VIEW-AS SELECTION-LIST
        INNER-CHARS 25 INNER-LINES 10 SORT 
        SCROLLBAR-VERTICAL MULTIPLE. 
    DEF VAR destino AS CHARACTER 
        VIEW-AS SELECTION-LIST
        INNER-CHARS 25 INNER-LINES 10 SORT 
        SCROLLBAR-VERTICAL MULTIPLE. 
    /*----------DEFINICAO DA INTERFACE---------*/
    DEFINE FRAME a    
            "Origem"  VIEW-AS   TEXT
                      AT ROW 1  COLUMN 1 
            "Destino" VIEW-AS   TEXT
                      AT ROW 1  COLUMN 48           
            origem    AT ROW 2  COLUMN 1                                               
            bt-mais   AT ROW 2  COLUMN 32
            bt-menos  AT ROW 5  COLUMN 32
            destino   AT ROW 2  COLUMN 48 
            bt-fim    AT ROW 10 COLUMN 48 SKIP(1)
            WITH FRAME a CENTERED ROW 4 NO-LABEL.
    /*-----------BLOCO PRINCIPAL------------*/      
    FOR EACH state: 
        X = origem:ADD-LAST(state.state-name).
    END.     
    FOR EACH state BY state.state-name:
       origem:SCREEN-VALUE = state.state-name.
       LEAVE.
    END.
    ENABLE ALL WITH FRAME a.
    /*-----------TRIGGER--------------------*/
    ON CHOOSE OF bt-mais
    DO:
       IF origem:SCREEN-VALUE <> ? THEN
          DO:
           X=destino:ADD-LAST(origem:SCREEN-VALUE).
           X=origem:DELETE(origem:SCREEN-VALUE).
          END.
       ELSE 
          MESSAGE "Nenhum item foi escolhido na origem"
                   VIEW-AS ALERT-BOX ERROR.      
    END.    
    
    ON CHOOSE OF bt-menos
    DO: 
       IF destino:SCREEN-VALUE <> ? THEN
          DO:
             X=origem:ADD-LAST(destino:SCREEN-VALUE).
             X=destino:DELETE(destino:SCREEN-VALUE).
          END.
       ELSE 
          MESSAGE "Nenhum item foi escolhido no destino"
                   VIEW-AS ALERT-BOX ERROR.  
    END.
    /*-----------FIM DO PROGRAMA------------*/
    WAIT-FOR CHOOSE OF bt-fim.
            
                
    
     

Compartilhe esta Página