Ver Mensaje Individual
  #11  
Antiguo 13-11-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola _CALI.

Como lo prometido es deuda, despues de unas pruebas, aca vuelvo.
La unit que tiene el form FBusca (la que cambia el Edit), debe utilizar FMain y FClientes.
Debes respetar cierta regla en la creación de los nombres de los forms FBusca y FClientes. Serán los nombres que decidas; pero seguidos de un número consecutivo. (esto para poder discriminarlos).

Bueno, vamos al código:

FMain (Unit1): Sólo tiene un MainMenu con un item 'Crear'.
Código Delphi [-]
...
type
  TFMain = class(TForm)
    MainMenu1: TMainMenu;
    Organizar1: TMenuItem;
    Crear1: TMenuItem;
    procedure Crear1Click(Sender: TObject);
    procedure Ventanas1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    FNumChild: Integer;
  public
  end;

var
  FMain: TFMain;


implementation  {$R *.dfm}

uses Unit2, Unit3;

procedure TFMain.FormCreate(Sender: TObject);
begin
  FNumChild:= 1;
end;

procedure TFMain.Crear1Click(Sender: TObject);
begin
  with TFCliente.Create(nil) do
  begin
    Name:= 'FCliente'+IntToStr(FNumChild);
    Caption:= Name;
    Show;
  end;
  with TFBusca.Create(nil) do
  begin
    Name:= 'FBusca' + IntToStr(FNumChild);
    Caption:= Name;
    Show;
  end;
  Inc(FNumChild);
  TileMode:= tbVertical;
  Tile;
end;
end.

FCliente (Unit2): Sólo tiene un edit: TEdit1, el receptor que deberá llamarse así . ( no agrego el código)

FBusca (Unit3): Sólo tiene un TButton.
Código Delphi [-]
...
type
  TFBusca = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
  public
  end;

var
  FBusca: TFBusca;

implementation {$R *.dfm}

uses StrUtils, Unit1, Unit2;

procedure TFBusca.Button1Click(Sender: TObject);
var
  i: Integer;
  Nombre: string;
begin
  for i:= 0 to FMain.MDIChildCount -1 do
  begin
    Nombre:= FMain.MDIChildren[i].Name;
   //Si decidis darle otro nombre que FCliente al form Clientes, debes cambiarlo también aqui,
   // lo mismo para Edit1 de FCliente.
    if (Pos('FCliente',Nombre) <> 0)and(RightStr(Nombre,1)=RightStr(Name,1))then
      (FMain.MDIChildren[i] as TFCliente).Edit1.Text:= 'SALUDOS DE '+Name;
  end;
end;
end.


Saludos.

Última edición por ecfisa fecha: 13-11-2010 a las 04:57:42.
Responder Con Cita