Ver Mensaje Individual
  #2  
Antiguo 13-02-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Reputación: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
santiago14,

Cita:
Empezado por santiago14
...estoy intentando pasar datos entre formularios...
Revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, Menus;

type
  TForm1 = class(TForm)
    Button1: TButton;
    RichEdit1: TRichEdit;
    MainMenu1: TMainMenu;
    Form21: TMenuItem;
    Exit1: TMenuItem;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Form21Click(Sender: TObject);
    procedure Exit1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

const
  FileComponent = 'FileComponent.cmp';

var
  Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
   i : Integer;
begin

   if FileExists(FileComponent) then
      DeleteFile(FileComponent);

   for i := 1 to 10 do
      RichEdit1.Lines.Add('Texto de Prueba-' + IntToStr(i));
end;

procedure TForm1.Form21Click(Sender: TObject);
begin
   Form2.Show;
end;

procedure TForm1.Exit1Click(Sender: TObject);
begin
   Application.Terminate;
end;

procedure SaveComponent(Component : TComponent; FileName: TFileName);
begin
   if not Assigned(Component) then
      raise Exception.Create('El Objeto No Existe');
   with TFileStream.Create(FileName, fmCreate) do
   try
      WriteComponent(Component);
   finally
      Free
   end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   SaveComponent(RichEdit1,FileComponent);
end;

end.
El código anterior salva la información del Componente RichEdit1 de Form1 en el archivo FileComponent.cmp

Revisa este código:
Código Delphi [-]
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls;

type
  TForm2 = class(TForm)
    Button2: TButton;
    RichEdit1: TRichEdit;
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

const
  FileComponent = 'FileComponent.cmp';

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure LoadComponent(Component : TComponent; FileName: TFileName);
begin
  if not Assigned(Component) then
     raise Exception.Create('El Objeto No Existe');
  if not FileExists(FileName) then
     raise Exception.Create('Archivo de Componente No Existe');
  with TFileStream.Create(FileName, fmOpenRead) do
  try
     ReadComponent(Component);
  finally
     Free
  end;
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
   LoadComponent(RichEdit1,FileComponent);
end;

end.
El código anterior recupera y muestra la información salvada anteriormente en el Componente RichEdit1 de Form2.

Espero sea útil

Nelson.
Responder Con Cita