Anterior  Sumário  Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!

PARAMETERS

Propósito

Declarar os parâmetros que serão recebidos por programas e subrotinas (proc ou func).

Sintaxe

PARAMETERS <nome>[(tipo)][,<nome>[(tipo)]]
ou em proc/func
PARAMETERS <nome>[][(tipo)][,<nome>[][(tipo)]]

Argumentos

<nome>     representa o nome do parâmetro formal (parâmetro a ser recebido).

<tipo>         representa o tipo da variável que constitui o parâmetro:

[ ]        declara que o parâmetro é um vetor.

Em OPUS, parâmetros são passados por referência. Isto quer dizer que é passado o endereço de memória do parâmetro e não seu valor. Com esta característica a linguagem permite alterar os valores dos parâmetros passados, alterando os valores recebidos pelo comando PARAMETERS.

Utilização

Em programas, procedimentos ou funções que necessitem receber parâmetros.

Para cada parâmetro deve ser declarado o seu tipo. Se isto não ocorrer, a OPUS assume que o parâmetro é do tipo cadeia.

Funções e procedimentos podem receber vetores como parâmetros, bastando indicar com os símbolos "[]" após o nome do vetor.

Exemplo

O exemplo a seguir mostra-nos uma rotina que efetua a alteração do valor da variável passada como parâmetro.

numero = 3    && Atribuição da  variável numero.

cadeia = "teste"     && Atribuição da  variável cadeia.

DO proce WITH numero,cadeia     && Invoca a PROCEDURE proce

? numero, " " ,cadeia

QUIT     && Fim do programa

PROCEDURE proce     && Declaração da PROCEDURE

PARAMETERS num(n),cad(c)     && Declaração dos parâmetros recebidos

? num, " " ,cad, " dentro da PROCEDURE"

++num

cad = "alterei o valor dos parâmetros"

RETURN

O exemplo a seguir mostra-nos como não alterar os valores passados.

Para isso, basta criar variáveis locais que recebam os valores passados.

numero = 3

cadeia = "teste"

DO proce WITH numero,cadeia

numero, " " ,cadeia

QUIT

PROCEDURE proce

PARAMETERS num(n),cad(c)

* Declara variáveis locais para trabalhar com os 

* parâmetros

num2 = num

cad2 = cad

? num, " " ,cad, " dentro da PROCEDURE"

++num2

cad2 = "ano alterei o valor dos parâmetros"

RETURN

Consulte

$LIBRARY, FUNCTION, PRIVATE, PROCEDURE, PROGRAM, PUBLIC.

Anterior  Sumário  Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!