Como crio uma funcao global para acessar em vários forms

Delphi

27/12/2004

Olá amigos, gostaria de criar uma unit para gerenciar funções de acesso e validação de dados.

Seria assim:

funcao ExisteProduto
if produto existe
editcodpro.text := produtos.codigodoproduto
labelnomedoproduto := produtos.nomedoproduto

O problema é que de dentro desta unit não consigo enxergar o edit que chamou a função e nem o label para mostrar o nome do produto.
Não posso inserir na uses desta unit todos os forms que a utilizarão pois ficaria imenso.

Como posso saber quem chamou a função e retornar o codigoproduto e no label o nomeproduto?

Obrigado

Mario


Aldus

Aldus

Curtidas 0

Respostas

Aldus

Aldus

27/12/2004

Preciso de ajuda amigos, poderiam me sugerir uma solução.

Mario


GOSTEI 0
Cabelo

Cabelo

27/12/2004

Colega..

Vc pode criar uma nova UNIT, e chamá - la na seção uses do form que for usar a função..

pode criar uma function que retornará uma string para o label que vc deseja, e nela vc passará os parâmetros do edit..

assim :

function ExisteProduto(l_cod_produto : string) : string;
begin
if l_cod_produto ´´ then
begin
result := produtos.codigodoproduto
end;
end;

e no evento que vc desejar..

editcodpro.text := ExisteProduto(Código do produto que deseja verificar) ;

espero ter ajudado..


GOSTEI 0
Bruno_fantin

Bruno_fantin

27/12/2004

function ExisteProduto(var TextoEdit: String; var TextoLabel: String): Boolean;
begin
...

if produto existe then
begin
TextoEdit := produtos.codigodoproduto;
TextoLabel := produtos.nomedoproduto;
end;

...
end;


Para chamar a função faz assim...

ExisteProduto(Edit.Text, Label1.Caption);


GOSTEI 0
Andremuller

Andremuller

27/12/2004

pela que entendi da tua descrição o mais aconselhável seria utilizar um frame.

Mas segue mais uma forma de tu fazer isso seguindo a mesma lógica.

procedure TForm1.AtualizaProduto(AEdt: TEdit; ALbl: TLabel);
begin
  if ProdutoExiste then
  begin
    AEdt.Text := ´codigoproduto´;
    ALbl.Caption := ´nomeproduto´;
  end;
end;



GOSTEI 0
POSTAR