Fórum Passar Parâmetro para um form e retornar outro #373511
13/08/2009
0
Preciso duma ajuda para desenvolver uma rotina que faça o seguinte:
Tenho dois forms(form1, form2) o form 1 abre o form2 através dum botão e passa um parametro para o form2 ao fechar o form2 passo um outro parametro para o form1; estes forms não são herdados. Os parâmentros são variáveis(string, inteiro). Tem como fazer isso? Alguem poderia ajudar?
Delphi 2007
Obrigado.
Adriherbal
Curtir tópico
+ 0Posts
13/08/2009
Osocram
vc pode fazer algo do tipo
if form2.showmodal = mrOK then begin
form1.parametro := form2.parametro
end;
Gostei + 0
13/08/2009
Alanporto
class function TForm2.FuncaoQualquer(variavel1: String; variavel2: Boolean):Integer; begin //....código interno..... Result := ModalResult; //só exemplo, pode ser retornado qualquer Inteiro. end;
uma dica é colocar o código de criação / abertura do Form2 nessa class function.
no Form1 vc chama a class function:
variavelInteger := TForm2.FuncaoQualquer(variavelString,variavelBooleana);
Gostei + 0
13/08/2009
Adriherbal
// Form2
private
FCodigo: String;
FNome: String;
procedure SetCodigo(const Value: String);
procedure SetNome(const Value: String);
{ Private declarations }
public
{ Public declarations }
function AbreForm(Parametro1: String): String;
property Codigo: String read FCodigo write SetCodigo;
property Nome: String read FNome write SetNome;
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
{ TForm2 }
function TForm2.AbreForm(Parametro1: String): String;
begin
if not Assigned(Form2) then
Application.CreateForm(TForm2, Form2);
Form2.FCodigo := Parametro1;
if Form2.ShowModal = mrOK then
begin
Result := ´Parametro 2 de Retorno OK´;
end;
end;
procedure TForm2.SetCodigo(const Value: String);
begin
FCodigo := Value;
end;
procedure TForm2.SetNome(const Value: String);
begin
FNome := Value;
end;
// Form1 chamo a rotina assim:
var
l_parametro2: String;
begin
inherited;
l_parametro2 := ´codigo de Envio OK!´;
l_parametro2 := Form2.AbreForm(l_parametro2);
end;
Não sei se é o melhor jeito mas pra mim funcionou.
Gostei + 0
21/08/2009
Fausto.malheiros
Então, estou tendo o mesmo problema. Preciso passar....por enquanto...2 parametros do Menu para todos os programas.
Nome do programa = O caption do menu Item
Nome do Usuario = atual usuario logado.
Ckamo os programas atravez da seguinte rotina:
Alguem tem alguma ideia menos complicada?
Gostei + 0
23/08/2009
Firekiller_am
abraços
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)