Árvore de páginas

Reapresenta os valores atuais das variáveis do INPUT para os seus respectivos campos da tela (sendo input by name... ou input... from...), e no no INPUT ARRAY ou DISPLAY ARRAY apenas fazer o refresh (reexibir os dados) dos dados da pagina atual em que o cursor estiver posicionado.

Sintaxe

CALL RefreshData()

Observações

  • Função disponível a partir da build 7.00.131227A.

Exemplos

Exemplo 1
DEFINE t_array ARRAY[10] OF RECORD
                            campo1 CHAR(10),
                            campo2 CHAR(10),
                            campo3 INTEGER,
                            campo4 CHAR(1)
                         END RECORD
                         
MAIN
    
    OPEN WINDOW w_tela AT 2,2 WITH FORM "tec-3872"
        ATTRIBUTE (BORDER, MESSAGE LINE LAST, PROMPT LINE LAST)
    
    CALL set_count(10)
        
    MENU "Opções"
    
      COMMAND "Input" "Input"
        Call InputSimples()
    
      COMMAND "Input Array" "Input Array"
        Call InputArray()
        
      COMMAND "Display Array" "Display Array"
        Call DisplayArray()
    
      COMMAND "Sair" "Sair"
        EXIT MENU
            
    END MENU
    
    CLOSE WINDOW w_tela
END MAIN
PRIVATE FUNCTION InputSimples()
    DEFINE i INTEGER
    
    Display "InputArray" AT 03,08
    
    CALL fgl_keysetlabel('F7','Check')
    CALL fgl_keysetlabel('F8','!Check')
    
    INITIALIZE t_array TO NULL
    
    INPUT BY NAME t_array[1].* WITHOUT DEFAULTS
    ON KEY(F7)
      CALL conout("Mudando checks para S")
      FOR i=1 TO 10
        LET t_array[i].campo4 = 'S'
      END FOR 
      CALL RefreshData()
      
    ON KEY(F8)
      CALL conout("Mudando checks para N")
      FOR i=1 TO 10
        LET t_array[i].campo4 = 'N'
      END FOR
      CALL RefreshData()
      
   END INPUT
   
   Display "            " AT 03,08
END FUNCTION
PRIVATE FUNCTION InputArray()
    DEFINE i INTEGER
    
    Display "InputArray" AT 03,08
    
    CALL fgl_keysetlabel('F7','Check')
    CALL fgl_keysetlabel('F8','!Check')
    
    INITIALIZE t_array TO NULL
    
    INPUT ARRAY t_array WITHOUT DEFAULTS FROM st_array.*
    ON KEY(F7)
      CALL conout("Mudando checks para S")
      FOR i=1 TO 10
        LET t_array[i].campo4 = 'S'
      END FOR 
      CALL RefreshData()
      
    ON KEY(F8)
      CALL conout("Mudando checks para N")
      FOR i=1 TO 10
        LET t_array[i].campo4 = 'N'
      END FOR
      CALL RefreshData()
      
   END INPUT
   
   Display "            " AT 03,08
   
END FUNCTION
PRIVATE FUNCTION DisplayArray()
    DEFINE i INTEGER
    
    Display "DisplayArray" AT 03,08
    
    CALL fgl_keysetlabel('F7','Check')
    CALL fgl_keysetlabel('F8','!Check')
    
    FOR i=1 TO 10
      LET t_array[i].campo1 = "TESTE"||i
      LET t_array[i].campo2 = "CAMPO"||i
      LET t_array[i].campo3 = i
      LET t_array[i].campo4 = 'S'
    END FOR
    
    DISPLAY ARRAY t_array TO st_array.*
 
    ON KEY (F7)
      FOR i=1 TO 10
        LET t_array[i].campo1 = "TESTE"||(i+10)
        LET t_array[i].campo4 = 'S'
      END FOR 
      CALL RefreshData()
      
    ON KEY (F8)
      FOR i=1 TO 10
        LET t_array[i].campo1 = "TESTE"||i
        LET t_array[i].campo4 = 'N'
      END FOR 
      CALL RefreshData()
    
    END DISPLAY
      
    Display "            " AT 03,08
      
END FUNCTION
tec-3872.per
DATABASE FORMONLY
SCREEN
{
-----                   -------
     Campo1      Campo2      Campo3  Campo4     
    [a1        ][a2        ][a3    ][a4]
    [a1        ][a2        ][a3    ][a4]
    [a1        ][a2        ][a3    ][a4]
    [a1        ][a2        ][a3    ][a4]
}
END
ATTRIBUTES
a1   = formonly.campo1 TYPE CHAR;
a2   = formonly.campo2 TYPE CHAR;
a3   = formonly.campo3 TYPE INTEGER;
a4   = formonly.campo4 TYPE CHAR, UPSHIFT --# , widget='CHECK', config='S N {}';
INSTRUCTIONS
 screen record st_array[4] (formonly.campo1,formonly.campo2,formonly.campo3,formonly.campo4)
END

 

 

 

  • Sem rótulos