Fórum Passar dados de um campo de um formulário pra outro formulário... #486747
25/07/2014
0
[img:descricao=exemplo]http://arquivo.devmedia.com.br/forum/imagem/378260-20140725-032710.png[/img]
pessoal me ajudem...
Alexsandro
Curtir tópico
+ 0Post mais votado
25/07/2014
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
Label1: TLabel;
Label2: TLabel;
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
RecebeCodigo :String; //vai passar o conteúdo de outro forme
RecebeNome :String;
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.FormActivate(Sender: TObject);
begin
Label1.Caption := RecebeCodigo;
Label2.Caption := RecebeNome;
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
//formulário que vai enviar os dados
try
Form2 :=TForm2.Create(Application);
Form2.RecebeCodigo := '12213';
Form2.RecebeNome := 'nome';
Form2.ShowModal;
Finally
FreeAndNil(Form2);
end;
end;
end.
Itamar Souza
Gostei + 1
Mais Posts
25/07/2014
Alexsandro
Gostei + 0
25/07/2014
Itamar Souza
Você tem varias formas de fazer isso
Um exemplo: na tela que vai receber as informações, você criar duas variáveis publicas.
public
{ Public declarations }
recebeCodigo :string;
recebeNome :string;
end;
E no onActivate deste formulário você passar o conteúdo delas para os campos que precisa.
No formulário que vai passar a informação você consegue passar as informações para a variável.
Veja se ajuda
Gostei + 0
25/07/2014
Alexsandro
não sei se seria pedir muito, mas teria como disponibilizar um exemplo?
Gostei + 0
25/07/2014
Alexsandro
[Error] uPrincipal.pas(255): Unknown directive: 'private'
[Error] uPrincipal.pas(257): Unknown directive: 'public'
[Error] uPrincipal.pas(259): Unknown directive: 'RecebeCodigo'
[Error] uPrincipal.pas(259): Declaration expected but ':' found
[Error] uPrincipal.pas(269): Identifier redeclared: 'TfrmPrincipal.FormActivate'
[Error] uPrincipal.pas(270): Undeclared identifier: 'RecebeCodigo'
[Error] uPrincipal.pas(271): Undeclared identifier: 'RecebeNome'
[Error] uPrincipal.pas(273): '.' expected but ';' found
[Fatal Error] UClientes.pas(82): Could not compile used unit 'C:\Users\alex\Desktop\Exemlo_Scanner\uPrincipal.pas'
o que foi que eu fiz de errado agora! rsrs
Gostei + 0
25/07/2014
Alexsandro
unit uPrincipal;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, AcquireImage, ClipBrd, Jpeg, FMTBcd, DBXpress, DB,
Buttons, Grids, DBGrids, DBClient, Provider, SqlExpr, DBCtrls, Mask,
Menus;
type
TfrmPrincipal = class(TForm)
aiScanearImagem: TAcquireImage;
sdsDocumentos: TSQLDataSet;
sqlConexao: TSQLConnection;
dspDocumentos: TDataSetProvider;
cdsDocumentos: TClientDataSet;
dtsDocumentos: TDataSource;
DBGrid1: TDBGrid;
sdsDocumentosDESCRICAO: TStringField;
sdsDocumentosNOME_ARQUIVO: TStringField;
cdsDocumentosDESCRICAO: TStringField;
cdsDocumentosNOME_ARQUIVO: TStringField;
dbImagem: TDBImage;
sdsDocumentosDOCUMENTO: TBlobField;
cdsDocumentosDOCUMENTO: TBlobField;
Panel1: TPanel;
Bevel2: TBevel;
Bevel3: TBevel;
btnIncluir: TSpeedButton;
btnAlterar: TSpeedButton;
btnGravar: TSpeedButton;
btnCancelar: TSpeedButton;
btnExcluir: TSpeedButton;
btnSair: TSpeedButton;
DBNavigator1: TDBNavigator;
btnCaptura: TSpeedButton;
GroupBox1: TGroupBox;
dbeDescricao: TDBEdit;
dbeArquivo: TDBEdit;
Label2: TLabel;
Label3: TLabel;
MainMenu1: TMainMenu;
Arquivo1: TMenuItem;
mnuSair1: TMenuItem;
Editar1: TMenuItem;
mnuInserir1: TMenuItem;
mnuAlterar1: TMenuItem;
N1: TMenuItem;
mnuGravar1: TMenuItem;
mnuCancelar1: TMenuItem;
N2: TMenuItem;
mnuExcluir1: TMenuItem;
rdgTipoImagem: TRadioGroup;
Shape1: TShape;
sdsDocumentosCODIGO_CLIENTE: TStringField;
sdsDocumentosIMG_NOMECLIENTE: TStringField;
cdsDocumentosCODIGO_CLIENTE: TStringField;
cdsDocumentosIMG_NOMECLIENTE: TStringField;
Panel2: TPanel;
codigo: TDBEdit;
nome: TDBEdit;
Label1: TLabel;
Label4: TLabel;
procedure aiScanearImagemTwainError(Sender: TObject; state,
error: Integer);
procedure btnCapturaClick(Sender: TObject);
procedure btnIncluirClick(Sender: TObject);
procedure btnAlterarClick(Sender: TObject);
procedure btnGravarClick(Sender: TObject);
procedure btnCancelarClick(Sender: TObject);
procedure btnExcluirClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure btnSairClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormActivate(Sender: TObject);
private
procedure AtivaDesativaBotoes(AAcao: Char);
end;
var
frmPrincipal : TfrmPrincipal;
implementation
uses UClientes;
{$R *.DFM}
procedure TfrmPrincipal.aiScanearImagemTwainError(Sender: TObject; state,
error: Integer);
begin
raise Exception.Create('Error from state: ' + IntToStr(State)
+ '. Error type: ' + IntToStr(Error));
end;
procedure TfrmPrincipal.btnCapturaClick(Sender: TObject);
var
Jpg : TJpegImage;
Bmp : TBitmap;
Flag : Boolean;
S : string;
begin
Flag := False;
with aiScanearImagem do
begin
if LoadTWainModule then
begin
try
OpenSourceManager;
S := GetSource(false);
SelectSource(S);
OpenSource;
case rdgTipoImagem.ItemIndex of
0: AcquireBmp(Bmp);
1: AcquireJpg(Jpg, 50);
2: AcquireToClipboard;
end;
Flag := True;
finally
CloseTWainSession;
UnloadTWainModule;
end;
end
else
MessageDlg('Erro ao carregar a biblioteca TWAIN_32.DLL', mtError, [mbOk], 0);
end;
if Flag then
case rdgTipoImagem.ItemIndex of
0: dbImagem.Picture.Bitmap := Bmp;
1: dbImagem.Picture.Bitmap.Assign(Jpg);
2: dbImagem.Picture.Bitmap.LoadFromClipboardFormat(cf_BitMap,
ClipBoard.GetAsHandle(cf_Bitmap), 0);
end;
end;
procedure TfrmPrincipal.btnIncluirClick(Sender: TObject);
begin
cdsDocumentos.Append;
dbeDescricao.SetFocus;
AtivaDesativaBotoes('I');
end;
procedure TfrmPrincipal.AtivaDesativaBotoes(AAcao: Char);
begin
case AAcao of
'I', 'A':
begin
btnIncluir.Enabled := False;
btnAlterar.Enabled := False;
btnGravar.Enabled := True;
btnCancelar.Enabled := True;
btnExcluir.Enabled := False;
btnSair.Enabled := False;
btnCaptura.Enabled := True;
mnuSair1.Enabled := False;
mnuInserir1.Enabled := False;
mnuAlterar1.Enabled := False;
mnuGravar1.Enabled := True;
mnuCancelar1.Enabled := True;
end;
'G', 'C':
begin
btnIncluir.Enabled := True;
btnAlterar.Enabled := True;
btnGravar.Enabled := False;
btnCancelar.Enabled := False;
btnExcluir.Enabled := True;
btnSair.Enabled := True;
btnCaptura.Enabled := False;
mnuSair1.Enabled := True;
mnuInserir1.Enabled := True;
mnuAlterar1.Enabled := True;
mnuGravar1.Enabled := False;
mnuCancelar1.Enabled := False;
end;
end;
end;
procedure TfrmPrincipal.btnAlterarClick(Sender: TObject);
begin
if cdsDocumentos.IsEmpty then
Exit;
cdsDocumentos.Edit;
dbeDescricao.SetFocus;
AtivaDesativaBotoes('A');
end;
procedure TfrmPrincipal.btnGravarClick(Sender: TObject);
begin
with cdsDocumentos do
begin
if Trim(FieldByName('NOME_ARQUIVO').AsString) <> '' then
begin
cdsDocumentos.Post;
cdsDocumentos.ApplyUpdates(0);
sqlConexao.CloseDataSets;
AtivaDesativaBotoes('G');
end
else
begin
MessageDlg('O campo "Nome do Arquivo" é de preenchimento obrigatório.', mtError, [mbOk], 0);
dbeArquivo.SetFocus;
end;
end;
end;
procedure TfrmPrincipal.btnCancelarClick(Sender: TObject);
begin
cdsDocumentos.Cancel;
AtivaDesativaBotoes('C');
end;
procedure TfrmPrincipal.btnExcluirClick(Sender: TObject);
begin
if cdsDocumentos.IsEmpty then
Exit;
if MessageDlg('Confirma exclusão do documento selecionado?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
cdsDocumentos.Delete;
cdsDocumentos.ApplyUpdates(0);
end;
end;
procedure TfrmPrincipal.FormShow(Sender: TObject);
begin
sqlConexao.Connected := True;
cdsDocumentos.Open;
cdsDocumentos.First;
end;
procedure TfrmPrincipal.btnSairClick(Sender: TObject);
begin
Close;
end;
procedure TfrmPrincipal.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
cdsDocumentos.Close;
sqlConexao.Connected := False;
end;
procedure TfrmPrincipal.FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
RecebeCodigo:String; //vai passar o conteúdo de outro forme
RecebeNome:String;
end;
var recebe:TfrmPrincipal;
procedure TfrmPrincipal.FormActivate(Sender: TObject);
codigo := RecebeCodigo;
nome := RecebeNome;
end;
end.
Gostei + 0
25/07/2014
Alexsandro
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)