Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Daniel Sanches

parâmetros opcionais...

Recommended Posts

alguém sabe se no Delphi existe uma forma fazer uma função com alguns parâmetros opcionais ???

 

pensei em fazer um array como parâmetro, porém, não ficaria muito bom ....

 

 

abraços !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exatamente o que você precisa fazer para omitir parâmetros? As vezes montar uma procedure usando overryde já pode resolver seu problema.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz uma função que passa 4 parametros:

 

(CorComFoco, FontComFoco, CorSemFoco, FontSemFoco)

 

porém, se o usuário não passar o parâmetro, ele simplesmente deixa como está e não altera a Cor/Fonte ... ou seja, o usuário pode digitar apenas os parametros 1 e 3, 1 3 e 4 ...

 

 

espero ter conseguido explicar ...

 

 

obrigado !!!

 

 

abraços !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para você criar parametros opcionais, você declara o parametro e atribui um valor a ele (ex: paramtro: integer =1);

 

veja alguns exemplos (os parametros opcionais estão em azul):

 

função so com parametros opcionais

 

procedure teste1(parametroopcional1: string = ''; parametroopcional2: string = 'valor default do parametro opcional 2');

 

função com parametros obrigatorios e opcionais

 

procuete teste2(parametroobrigratorio: string; parametroopcional: string = 'valor default');

 

Nota: os parametros obrigatórios devem ser declarados antes dos opcionais, ou seja, não podem existir parametos obrigatorios depois dos parametros opcionais

 

 

espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá Raficcha, mas infelizmente isso não dá certo pelo seguinte:

 

as vezes, precisarei digitar os parametros 1,2 e 4; ou 1,3 e 4; ou 1 e 4...

 

assim, o proposto não dá certo ... resolvi o problema passando

o parâmetro como (0) quando for para desconsiderar ...infelizmente não é do jeito

mais desejado, mas resolveu ...

 

mesmo assim obrigado !!!

 

abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas e se você colocar todos os parametros como opcionais, acho que da certo

 

você pode utilizar somente parametros opcionais

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu testei, e não dá (em partes)... porque não posso pular um parâmetro sem passar valor ..

 

tipo:

 

tenho a seguinte função:

 

teste(par1: string = ''; par2, par3, par4: integer = 0);

 

para chamar esta função, poderia apenas dessas maneiras:

 

teste('teste');

teste('teste',0,1);

teste('teste',0,0,1);

 

 

entendeu ?? deixar os ultimos sem valor pode, sem problemas, mas se tenho que utilizar os parametros 1 e 4 por exemplo, já não adianta, pq terei que digitar o 2 e o 3 obrigatoriamente ...

 

 

abraços !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, como eu disse anteriormente, não podem ter parametros obrigatorios apos os opcionais. O que eu tinha falado é colocar todos os parametros como opcionais:

 

teste(par1: string = ''; par2: string = '', par3: string = '', par4: integer = 0);

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.