Formularios
Bom dia turminha.......
Bom, é o seguinte....
Eu tenho um formulário de pesquisa....e tenho mais tres formulários que utilizando o de pesquisa..ok.... e eu gostaria de saber como eu sei qual dos tres formularios ´chamou´ o formulario de pesquisa...(qual é que esta utilizando o de pesquisa)....
Desde já agradeço a ajuda de todos....
Bom, é o seguinte....
Eu tenho um formulário de pesquisa....e tenho mais tres formulários que utilizando o de pesquisa..ok.... e eu gostaria de saber como eu sei qual dos tres formularios ´chamou´ o formulario de pesquisa...(qual é que esta utilizando o de pesquisa)....
Desde já agradeço a ajuda de todos....
Cristiane
Curtidas 0
Respostas
Okama
04/06/2003
Tive esse problema uma vez e tentei utilizar parametros para chamar o formulário, mas não consegui.
Fiz um procedimento que recebe o parametro e abre o formulário:
Para abrir o form2 use o codigo abaixo:
Fiz um procedimento que recebe o parametro e abre o formulário:
var
Form2: TForm2;
FORM_ORIGEM: String;
implementation
{$R *.dfm}
procedure TForm2.Abre(Parametro: String);
begin
FORM_ORIGEM := Parametro;
Form2.Show;
end;Para abrir o form2 use o codigo abaixo:
procedure TForm1.Button1Click(Sender: TObject); begin Form2.Abre(´Form1´); end;
GOSTEI 0
Rômulo Barros
04/06/2003
Declare uma variável na sessao publica do seu formulario de pesquisa:
type
TfrmPesquisa = class(TForm)
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
[color=red:71fb61cd6b] FormName: String;[/color:71fb61cd6b]
end;
No evento OnCreate do formulário de pesquisa digite:
procedure TfrmPesquisa.FormCreate(Sender: TObject);
begin
frmPesquisa.FormName := name;
end;
Agora, basta vc colocar no evento OnShow do formulário Pesquisa:
procedure TfrmPesquisa.FormShow(Sender: TObject);
begin
ShowMessage(FormName);
end;
[color=red:71fb61cd6b]Pronto, AMORZINHO................ O nome do formulário será exibido. UM BEIJAO................[/color:71fb61cd6b]
type
TfrmPesquisa = class(TForm)
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
[color=red:71fb61cd6b] FormName: String;[/color:71fb61cd6b]
end;
No evento OnCreate do formulário de pesquisa digite:
procedure TfrmPesquisa.FormCreate(Sender: TObject);
begin
frmPesquisa.FormName := name;
end;
Agora, basta vc colocar no evento OnShow do formulário Pesquisa:
procedure TfrmPesquisa.FormShow(Sender: TObject);
begin
ShowMessage(FormName);
end;
[color=red:71fb61cd6b]Pronto, AMORZINHO................ O nome do formulário será exibido. UM BEIJAO................[/color:71fb61cd6b]
GOSTEI 0
Cristiane
04/06/2003
Bom dia a todos..........
Sera que alguem mais pode me dar uma dica sobre os formularios?
Desde ja agradeço a todos....
E obrigado ajudas que eu ja recebi......
Sera que alguem mais pode me dar uma dica sobre os formularios?
Desde ja agradeço a todos....
E obrigado ajudas que eu ja recebi......
GOSTEI 0
Vasques
04/06/2003
Olá!
eu nas minhas aplicacões tenho tambem situações parecidas.
um formeLista é chamado por vários outros formes, e como não uso formes showmodal, esse formeLista pode ser aberto por vários formes ao mesmo tempo.
não sei se é o seu caso, no entanto pensso que a solução que eu tenho deve resolver o seu problema.
no forme apartir do qual abre o formeLista, crie uma instancia para o formeLista e antes de fazer o show do formeLista passe uma referencia ao forme que o abriu.
essa referencia pode ser uma variavel public do formeLista. se a declaração dessa variavel for do tipo TForm depois é fácil ter acesso ao form apartir do qual o FormeLista foi aberto
if ObjForm as TNomeClassDoFormeQueOAbriu then
TNomeClassDoFormeQueOAbriu(ObjForm).xxxxx terá acesso a todos os metodos e atributos do forme que abriu o formeLista
espero não ter sido muito confuso?
se pretender um pequeno exemplo mande-me um email, que com mais tempo eu preparo para si.
vasques@aeiou.pt
eu nas minhas aplicacões tenho tambem situações parecidas.
um formeLista é chamado por vários outros formes, e como não uso formes showmodal, esse formeLista pode ser aberto por vários formes ao mesmo tempo.
não sei se é o seu caso, no entanto pensso que a solução que eu tenho deve resolver o seu problema.
no forme apartir do qual abre o formeLista, crie uma instancia para o formeLista e antes de fazer o show do formeLista passe uma referencia ao forme que o abriu.
essa referencia pode ser uma variavel public do formeLista. se a declaração dessa variavel for do tipo TForm depois é fácil ter acesso ao form apartir do qual o FormeLista foi aberto
if ObjForm as TNomeClassDoFormeQueOAbriu then
TNomeClassDoFormeQueOAbriu(ObjForm).xxxxx terá acesso a todos os metodos e atributos do forme que abriu o formeLista
espero não ter sido muito confuso?
se pretender um pequeno exemplo mande-me um email, que com mais tempo eu preparo para si.
vasques@aeiou.pt
GOSTEI 0
Vmotta
04/06/2003
Cristiane, acho que a maneira mais fácil de fazer isso seria como o pessoal já disse, informando ao formulario aberto qual formulário o chamou, essa é apenas mais uma maneira de fazer isso:
begin
Fpesquisa.tag := 1;
Fpesquisa.show;
end;
em cada formulario que chama sua pesquisa, vc coloca um valor diferente para a propriedade tag, dai no formulario de pesquisa basta tratar a propriedade tag ...
t+
Vitor Hugo <vmotta@eep.br>
begin
Fpesquisa.tag := 1;
Fpesquisa.show;
end;
em cada formulario que chama sua pesquisa, vc coloca um valor diferente para a propriedade tag, dai no formulario de pesquisa basta tratar a propriedade tag ...
t+
Vitor Hugo <vmotta@eep.br>
GOSTEI 0