Fórum passar valores de variaveis de um form para outro no delphi 7 #420745
30/07/2012
0
Carlos Cabral
Curtir tópico
+ 0Posts
30/07/2012
Marco Salles
Vc não utiliza DataModulo ???
Gostei + 0
30/07/2012
Carlos Cabral
Gostei + 0
30/07/2012
Wilton Júnior
No evento onshow do forma inicie elas.
Espero ter ajudado
Deus o abençoe.
Gostei + 0
30/07/2012
Carlos Cabral
Form2
public
passacampo: Integer;
Form1
botaoclick
Tform2.create(Self)
form2.passacampo := 001;
form2.showmodal;
Freeandnill(form2);
Sem contar outras várias formas que tentei, mas toda vez que vou ver a variavel esta sem valor
Gostei + 0
30/07/2012
Marco Salles
form2:=Tform2.create(nil);
try
form2.passacampo := 001;
form2.showmodal;
finally
Freeandnill(form2);
end;
Gostei + 0
30/07/2012
William
Gostei + 0
30/07/2012
Carlos Cabral
Gostei + 0
30/07/2012
William
Gostei + 0
30/07/2012
Carlos Cabral
unit CtpagarDigitacaoTitulos;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, StdCtrls, Buttons, DBCtrls, Mask, ExtCtrls,
DBClient;
type
Tfrmctpagartitulos = class(TForm)
bbinclusao: TBitBtn;
bbalteracao: TBitBtn;
bbexclusao: TBitBtn;
bbimpressao: TBitBtn;
bbconfirmacao: TBitBtn;
bbcancela: TBitBtn;
bbsair: TBitBtn;
bbconsulta: TBitBtn;
gbfiltros: TGroupBox;
dsctpfornecedor: TDataSource;
dstitulo: TDataSource;
dsitem: TDataSource;
dsvencimento: TDataSource;
dsdesconto: TDataSource;
gbtitulos: TGroupBox;
dbtitulos: TDBGrid;
gbitens: TGroupBox;
dbitems: TDBGrid;
gbvencimentos: TGroupBox;
dbvencimentos: TDBGrid;
gbdescontos: TGroupBox;
dbdescontos: TDBGrid;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure bbsairClick(Sender: TObject);
procedure dbtitulosCellClick(Column: TColumn);
procedure dbvencimentosCellClick(Column: TColumn);
procedure bbexclusaoClick(Sender: TObject);
procedure bbinclusaoClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmctpagartitulos: Tfrmctpagartitulos;
var empaux : Integer;
var fornecaux : Integer;
var notaaux : Integer;
var serieaux : String;
var dataaux : TDate;
var tituloatual : String;
var transporte : String;
implementation
uses CtpagarDM, CtpagarDigitacaoTitulos2;
{$R *.dfm}
procedure Tfrmctpagartitulos.FormCreate(Sender: TObject);
begin
.
.
.
.
.
.
.
.
.
.
.
end;
Aqui neste ponto é a chamada do outro formulario. Eu preciso passar o valor de uma variavel para o outro form.
Exemplo:
numero_nota_fiscal := 00001;
serie_nota_fiscal : U;
procedure Tfrmctpagartitulos.bbinclusaoClick(Sender: TObject);
begin
with Tfrmctpagartitulos2.Create(Self) do
try
frmctpagartitulos2.ShowModal;
finally
FreeAndNil(frmctpagartitulos2);
end;
.
.
.
.
.
.
end;
end.
Aqui o Outro form.
unit CtpagarDigitacaoTitulos2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBCtrls, StdCtrls, Buttons, Mask, Grids, DBGrids, ExtCtrls, DB,
DBClient;
type
Tfrmctpagartitulos2 = class(TForm)
pnprincipal: TPanel;
lbcodfornec: TLabel;
lbnumerotitulo: TLabel;
lbserietitulo: TLabel;
lbdataemissao: TLabel;
lbvalortitulo: TLabel;
lbdescontos: TLabel;
lbjuros: TLabel;
lbmulta: TLabel;
lbliquido: TLabel;
lbqtdeitens: TLabel;
lbqtdecobranca: TLabel;
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
procedure trazregistrotitulo;
procedure trazregistroitem;
procedure trazregistrovencimento;
procedure trazregistrodesconto;
public
{ Public declarations }
end;
var
frmctpagartitulos2: Tfrmctpagartitulos2;
opcaon : Integer;
opcaoprocura : Integer;
opcaovalidar : Boolean;
contador : Integer;
contador3 : Integer;
contadoritem : Integer;
contadorvencimento : Integer;
contadordesconto : Integer;
valorauxiliar : Currency;
codigoempresa : Integer;
implementation
uses CtpagarDM, DateUtils;
{$R *.dfm}
procedure Tfrmctpagartitulos2.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
key := #0;
perform(WM_NEXTDLGCTL, 0, 0);
end;
end;
Neste ponto eu imagino que seja onde vou pegar os valores das variaveis
procedure Tfrmctpagartitulos2.FormCreate(Sender: TObject);
begin
dmCtpagar.cdsCtpFornecedor.Open;
dmCtpagar.cdsCtpGrupo.Open;
dmCtpagar.cdsCtpTitulo.Open;
dmCtpagar.cdsCtpItem.Open;
dmCtpagar.cdsCtpVencimento.Open;
dmCtpagar.cdsCtpDesconto.Open;
cdsctpprincipaltitulo.Open;
cdsctpprincipalitem.Open;
cdsctpprincipalvencimento.Open;
cdsctpprincipaldesconto.Open;
codigoempresa := 001;
opcaon := 1;
end;
procedure Tfrmctpagartitulos2.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
dmCtpagar.cdsCtpFornecedor.Close;
dmCtpagar.cdsCtpGrupo.Close;
dmCtpagar.cdsCtpTitulo.Close;
dmCtpagar.cdsCtpItem.Close;
dmCtpagar.cdsCtpVencimento.Close;
dmCtpagar.cdsCtpDesconto.Close;
cdsctpprincipaltitulo.Close;
cdsctpprincipalitem.Close;
cdsctpprincipalvencimento.Close;
cdsctpprincipaldesconto.Close;
end;
procedure Tfrmctpagartitulos2.dbeprincipalcodigoExit(Sender: TObject);
begin
.
.
.
.
.
end;
.
.
.
.
end.
Gostei + 0
30/07/2012
William
procedure Tfrmctpagartitulos.bbinclusaoClick(Sender: TObject);
begin
with Tfrmctpagartitulos2.Create(Self) do
try
numero_nota_fiscal := 00001;
serie_nota_fiscal : U;
frmctpagartitulos2.ShowModal;
finally
FreeAndNil(frmctpagartitulos2);
end;
Gostei + 0
30/07/2012
Carlos Cabral
Gostei + 0
30/07/2012
Carlos Cabral
Gostei + 0
30/07/2012
William
// Unit do form1
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, FMTBcd;
type
TForm1 = class(TForm)
btn1: TButton;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.btn1Click(Sender: TObject);
begin
try
Form2 := TForm2.Create(self);
//Passo o valo 001 para variável que está no form2
campo := 001;
Form2.ShowModal;
finally
FreeAndNil(form2);
end;
end;
end.
//Unit do form2
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
btn1: TButton;
procedure btn1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
end;
var
Form2: TForm2;
campo: Integer; // Declaração da variável
implementation
{$R *.dfm}
procedure TForm2.btn1Click(Sender: TObject);
begin
ShowMessage(IntToStr(campo));
end;
procedure TForm2.FormShow(Sender: TObject);
begin
ShowMessage(IntToStr(campo));
end;
end.
Note que testo 2 vezes, uma no evento OnShow do form2 e outra no evento OnClick do botão. Funcionou normalmente....
Gostei + 0
30/07/2012
Carlos Cabral
Gostei + 0
30/07/2012
Carlos Cabral
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)