Fórum Passagem de parametros?? #195200
15/11/2003
0
Estou desenvolvendo uma aplicação que utiliza uma mesma funcao varias vezes mas o conteudo de cada variavel muda por exemplo no cadastro de clientes chamo uma funcao para validar o codigo do cliente, e no cadastro de fornecedores faço uma outra para validar o codigo do fornecedor mas o conteudo eh o mesmo
function validarcodigoFor : boolean;
begin
DM1.TTemp.TableName := DM1.TFornecedores.tableName;
DM1.TTemp.IndexFieldNames := DM1.TFornecedores.IndexfieldNames;
DM1.TTemp.Open;
Result:= DM1.TTemp.Locate(´Codigo_Fornecedor´,
DM1.TFornecedoresCodigo_Fornecedor.AsInteger, []);
DM1.TTemp.close;
if result then
Begin
Messagebox(0,´Codigo já está cadastrado.´,
´Falha na validação de Dados´, MB_Iconstop or Mb_Ok);
End;
Result := Not Result;
end;
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
function validarcodigocli : boolean;
begin
DM1.TTemp.TableName := DM1.TClientes.tableName;
DM1.TTemp.IndexFieldNames := DM1.TClientes.IndexfieldNames;
DM1.TTemp.Open;
Result := DM1.TTemp.Locate (´Codigo_cliente´,
DM1.TClientesCodigo_Cliente.AsInteger, []);
DM1.TTemp.close;
if result then
Begin
Messagebox(0,´Codigo já está cadastrado.´,
´Falha na validação de Dados´, MB_Iconstop or Mb_Ok);
End;
Result := Not Result;
end;
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
este codigo esta em uma unit funcoes gostaria de saber uma maneira de passar somente os valores que mudam de uma unit para outra
ou seja quando eu clicar em salvar ele passar os valores DM1.TClientes.tableName;
ou
DM1.TFornecedores.tableName;
para a funcao
se alguem puder me ajudar agradeço
aguardo resposta pois isso irá minimizar e muito meu sistema...
grato desde já.
:?:
function validarcodigoFor : boolean;
begin
DM1.TTemp.TableName := DM1.TFornecedores.tableName;
DM1.TTemp.IndexFieldNames := DM1.TFornecedores.IndexfieldNames;
DM1.TTemp.Open;
Result:= DM1.TTemp.Locate(´Codigo_Fornecedor´,
DM1.TFornecedoresCodigo_Fornecedor.AsInteger, []);
DM1.TTemp.close;
if result then
Begin
Messagebox(0,´Codigo já está cadastrado.´,
´Falha na validação de Dados´, MB_Iconstop or Mb_Ok);
End;
Result := Not Result;
end;
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
function validarcodigocli : boolean;
begin
DM1.TTemp.TableName := DM1.TClientes.tableName;
DM1.TTemp.IndexFieldNames := DM1.TClientes.IndexfieldNames;
DM1.TTemp.Open;
Result := DM1.TTemp.Locate (´Codigo_cliente´,
DM1.TClientesCodigo_Cliente.AsInteger, []);
DM1.TTemp.close;
if result then
Begin
Messagebox(0,´Codigo já está cadastrado.´,
´Falha na validação de Dados´, MB_Iconstop or Mb_Ok);
End;
Result := Not Result;
end;
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
este codigo esta em uma unit funcoes gostaria de saber uma maneira de passar somente os valores que mudam de uma unit para outra
ou seja quando eu clicar em salvar ele passar os valores DM1.TClientes.tableName;
ou
DM1.TFornecedores.tableName;
para a funcao
se alguem puder me ajudar agradeço
aguardo resposta pois isso irá minimizar e muito meu sistema...
grato desde já.
:?:
Dilele
Curtir tópico
+ 0
Responder
Posts
15/11/2003
Koplin
Acrescente o parâmetro como abaixo:
function validarcodigoFor(Tabela:TTable) : boolean;
depois use assim:
If not ValidarCodigoFor(DM1.TFornecedores) then TFornecedores.cancel;
fica +- assim:
function validarcodigoFor(Tabela:TTable) : boolean;
begin
DM1.TTemp.Open;
Result:= DM1.TTemp.Locate(´Codigo_Fornecedor´,
DM1.TFornecedoresCodigo_Fornecedor.AsInteger, []);
DM1.TTemp.close;
if result then
Messagebox(0,´Codigo já está cadastrado.´,
´Falha na validação de Dados´, MB_Iconstop or Mb_Ok);
End;
Obeserve que uso a variavel result para definir o caminho a tomar.
É o que diferencia uma função de uma procedure. A função retorna um valor que pode e deve ser usado.
function validarcodigoFor(Tabela:TTable) : boolean;
depois use assim:
If not ValidarCodigoFor(DM1.TFornecedores) then TFornecedores.cancel;
fica +- assim:
function validarcodigoFor(Tabela:TTable) : boolean;
begin
DM1.TTemp.Open;
Result:= DM1.TTemp.Locate(´Codigo_Fornecedor´,
DM1.TFornecedoresCodigo_Fornecedor.AsInteger, []);
DM1.TTemp.close;
if result then
Messagebox(0,´Codigo já está cadastrado.´,
´Falha na validação de Dados´, MB_Iconstop or Mb_Ok);
End;
Obeserve que uso a variavel result para definir o caminho a tomar.
É o que diferencia uma função de uma procedure. A função retorna um valor que pode e deve ser usado.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)