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.

Sintaxe

PARAMETERS <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.

Utilização

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

Em OPUS, parâmetros são passados por referência. Isto quer dizer que é passado o endereço de memória do parâmetro real 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.

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

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, $PUBLIC, FUNCTION, PRIVATE, PROCEDURE, PROGRAM, PUBLIC, ASC( ), CHR( ), STR( ) e VAL( ).

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