Ver Mensaje Individual
  #3  
Antiguo 06-06-2012
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Reputación: 20
movorack Va camino a la famamovorack Va camino a la fama
Cita:
Empezado por Jere_84 Ver Mensaje
Hola gente del club, en una de mis funciones quiero obtener el componente padre de un dbedit y trabajar con este, mi problema es:
Hola... prueba con este código a ver si te sirve.

Código Delphi [-]
function GetParentOfType(pClassType : TClass;
                       pComponent : TComponent;
                       var vComponent : TComponent) : Boolean;
  var
    lComponent : TComponent;
    lBoFound : Boolean;
begin
  lBoFound := False;
  lComponent := pComponent.GetParentComponent;
  while (not lBoFound) and Assigned(lComponent) do
  begin
    if lComponent.ClassType = pClassType then
    begin
      vComponent := lComponent;
      lBoFound := True;
    end
    else
      lComponent := lComponent.GetParentComponent;
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
  var
    lComponent : TComponent;
    i : Integer;
    lTabSheet : TTabSheet;
begin
  for i := 0 to Self.ComponentCount - 1 do
  begin
    if Self.Components[i] is TEdit then
    begin
      if Length(Trim(TEdit(Self.Components[i]).Text)) = 0 then
      begin
        if GetParentOfType(TTabSheet, Self.Components[i], lComponent) then
        begin
          lTabSheet := TTabSheet(lComponent);
          if GetParentOfType(TPageControl, lTabSheet, lComponent) then
          begin
            TPageControl(lComponent).ActivePage := lTabSheet;
            TEdit(Self.Components[i]).SetFocus;
          end;
        end;
      end;
    end;
  end;
end;
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita