Duvida Utilizar Arrays em Progress

Discussão em 'Comandos Básicos' iniciado por Yasser Rachid, Janeiro 29, 2014.

  1. Yasser Rachid

    Yasser Rachid Sem Pontuação

    Boa tarde, estou com uma dúvida bastante simples a respeito de Arrays. É possível declarar um array no Progress? Se sim, como fazê-lo?


    Desde já agradeço a atenção.
  2. jaisonantoniazzi

    jaisonantoniazzi Membro Ativo

    Boa tarde @Yasser Rachid
    experimente:

    DEFINE VARIABLE contador AS INTEGER EXTENT 10 NO-UNDO.

    DISP contador
    WITH SIDE-LABELS.

    Se você quiser manipular somente um destes use:

    DEFINE VARIABLE contador AS INTEGER EXTENT 10 NO-UNDO.

    contador[3] = 25.

    DISP contador[3]
    WITH SIDE-LABELS.

    Para saber o número de extent use:

    DEFINE VARIABLE contador AS INTEGER EXTENT 10 NO-UNDO.

    DISP
    EXTENT(contador)
    contador[4]
    WITH SIDE-LABELS.

    Caso queira utilizar extent de tamanho dinâmico use:

    DEFINE VARIABLE contador AS INTEGER EXTENT NO-UNDO.

    EXTENT(contador) = 8.

    DISP
    EXTENT(contador)
    contador[8]
    WITH SIDE-LABELS.

    Espero ter ajudado.
    Abraço.
    don.junior e Yasser Rachid curtiram isso.
  3. Guilherme.Moles

    Guilherme.Moles Membro Participativo

    É sim Yasser Rachid segue exemplo.


    Código:
    DEF VAR A AS CHAR EXTENT 10.
    
    ASSIGN A[1] = "A"
          A[2] = "B"
          A[3] = "C"
          A[4] = "D"
          A[5] = "E"
          A[6] = "F"
          A[7] = "G"
          A[8] = "H"
          A[9] = "I"
          A[10] = "J".
    
    DISP A.
    Yasser Rachid curtiu isso.
  4. pedro_lemes

    pedro_lemes Membro Participativo

    As dicas dos colegas acima estão corretas. Apenas friso que em PROGRESS o array sempre inicia em "1" e NUNCA em "0" como outras linguagens, ok?

    abs!
    don.junior e Yasser Rachid curtiram isso.
  5. lwazevedo

    lwazevedo Membro Ativo

    Em minha opinião referente ao extent é que se for maior que 15 acredito que vale mais apena usar temp-table.
    Yasser Rachid curtiu isso.
  6. Yasser Rachid

    Yasser Rachid Sem Pontuação

    Muito obrigado a todos pelos esclarecimentos, me ajudaram bastante.

Compartilhe esta Página