Passagem de parametros??
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
Curtidas 0
Respostas
Koplin
15/11/2003
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.
GOSTEI 0