Saltar para o conteúdo principal
Versão: 20 R9

Count parameters

Count parameters : Integer

ParâmetroTipoDescrição
ResultadoIntegerNúmero de parâmetros realmente passado

Descrição

O comando Count parameters devolve o número de parâmetros passados a um método de projeto.Count parameters é significativo apenas em um método de projeto que tenha sido chamado por outro método (método de projeto ou outro). Se o método de projeto que chama Count parameters está associado a um menu, Count parameters devolve 0.

Exemplo 1

Os métodos de projeto de 4D aceitam parâmetros opcionais, a partir da direita.
Por exemplo, pode chamar ao método MeuMetodo(a;b;c;d) das seguintes formas:

 MeuMetodo(a;b;c;d) // Todos os parâmetros são passados
MeuMetodo(a;b;c) // O último parâmetro não se passa
MeuMetodo(a;b) // os dois últimos parâmetros não são passados
MeuMetodo(a) // Só é passado o primeiro parâmetro
MeuMetodo // Não se passa nenhum parâmetro

Utilizando Count parameters desde MeuMetodo, pode detectar o número de parâmetros passados e realizar diferentes operações dependendo do que tenha recebido. O exemplo a seguir mostra uma mensagem de texto e pode inserir o texto em uma área 4D Write ou enviar o texto a um documento em disco:

 // Método de projeto AGREGAR TEXTO
// AGREGAR TEXTO ( Texto { ; Inteiro longo { ; Hora } } )
// AGREGAR TEXT ( Texto { ; Área 4D Write { ; RefDoc } } )

#DECLARE ($text : Text ; 4ドルdwp : Object ; $doc : Time)

MESSAGE($text)
If(Count parameters>=3)
SEND PACKET($doc;$text)
Else
If(Count parameters>=2)
WP SET TEXT(4ドルdwp;$text;wk prepend)
End if
End if

Depois de adicionar este método de projeto a sua aplicação, pode escrever:

 AGREGAR TEXTO(vtText) // Mostrar só a mensagem de texto
AGREGAR TEXTO(vtText;$wrArea) // Mostrar a mensagem de texto e adicionar o texto a $wrArea
AGREGAR TEXTO(vtText;0;$vhRefDoc) // Mostrar a mensagem de texto e escrevê-la em $vhDocRef

Exemplo 2

Os métodos de projeto de 4D aceitam um número variável de parâmetros do mesmo tipo, a partir da direita. Para declarar estes parâmetros, utilize as diretivas de compilação às quais você passa ${N} como uma variável, onde N especifica o primeiro parâmetro. Utilizando Count parameters pode referenciar estes parâmetros com um loop For e a sintaxe de indireção de parâmetro. Este exemplo é uma função que retorna o número mais grande recebido como parâmetro:

 // Método de projeto Max de
// Max de ( Real { ; Real2... ; RealN } ) -> Real
// Max de ( Valor { ; Valor2... ; ValorN } ) -> Valor máximo

var 0ドル;${1} : Real // Todos os parâmetros são de tipo REAL assim como o resultado da função
0ドル:=${1}
For($vlParam;2;Count parameters)
If(${$vlParam}>0ドル)
0ドル:=${$vlParam}
End if
End for

Depois de adicionar este método de projeto a sua aplicação, pode escrever:

 vrResult:=Max of(Records in set("Operação A");Records in set("Operação B"))

ou:

 vrResult:=Max of(r1;r2;r3;r4;r5;r6)

Ver também

Comandos de Compilação
Copy parameters

Propriedades

Número do comando259
Thread-seguro

AltStyle によって変換されたページ (->オリジナル) /