Página 1 de 1

Sobre parâmetros

Enviado: 12 Mar 2008 16:57
por Netavin
Boa tarde a todos!
Estou lendo sobre o tema e tenho a seguinte questão para esclarecer:
Tenho uma função "fCPF" e "fCPF_II". A primeira fiz para criticar a entrada do cpf na rotina de inclusão. A segunda para checar o cpf na alteração. Os colegas já me disseram que não há necessidade de duas funções. Que posso usar apenas uma usando Parâmetros.
Na rotina de entrada está assim (resumidamente):
... get ncpf valid(fCPF).
Na rotina de alteração:
... get cpf valid(fCPF_II) (editando a variável diretamente).
Percebam que as variáveis são diferentes. Então como eu faria para usar apenas a primeira função e eliminar a segunda?

Obrigadoooo!!

Netavin

Enviado: 12 Mar 2008 17:32
por Maligno
Faça uma só função e passe a variável como parâmetro da função. Exemplo:

Código: Selecionar todos

...GET cCPF VALID ValidCPF(cCPF)
Mas se quiser emitir um alerta, o ideal é manter essa função apenas para checagem e usar uma função (talvez estática) de alerta no VALID. Assim,...

Código: Selecionar todos

...GET cCPF VALID CheckCPF(cCPF)

function CheckCPF(c)
local lRet := ValidCPF(c)
if !lRet
   // alerte o infeliz
end
return lRet

Enviado: 14 Mar 2008 08:22
por Netavin
Bom dia !
Valeu malígno. Eliminei uma função com a ajuda de parâmetros.
Não só essa mas muitas outras que eu havia feito em outros procedimentos.
Porém confesso que ainda não está claro para mim essa técnica de passar parâmetros.

Um abraço!

Netavin.

Enviado: 14 Mar 2008 11:18
por gvc
Vamos ver se eu consigo ajudar.

Código: Selecionar todos

a := 1
b := 2
c := a + b // c := 3

a := 10
b := 55
c := a + b // c := 65

///

c := somar(1, 2) // c := 3
c := somar(10, 55) // c := 65

function somar(par_1, par_2)
local x

x := par_1 + par_2

return(x)
Quaisquer dois valor que vc passar como parâmetro na função somar, serão somados e o resultado é o que a função retorna.

Imagine que vc criou uma função para retornar o nome do cliente, passando o nº do CPF.

Código: Selecionar todos

? ver_nome(xCPF) // xCPF é uma variável que vc já carregou/entrou com o valor pelo sistema.

...

function ver_nome(qual_cpf)

cadcli->(dbsetorder(3)) // ordem por cpf
if !cadcli->(dbseek(qual_cpf))
   return('CPF não cadastrado!!!')
end
return(cadcli->(nome))
Não importa aonde, dentro do sistema, vc chame a função. Vc informa o CPF desejado e a função procura e retorna se não encontrou ou o nome do cliente.
Veja se ainda tem dúvidas. Se tiver, avise.

Enviado: 14 Mar 2008 16:30
por Netavin
...
Valeu gvc.
Vou dominar este animal.

Obrigado demais!!

Netavin