Ver Mensaje Individual
  #4  
Antiguo 05-04-2007
Byfed Byfed is offline
Miembro
 
Registrado: oct 2006
Posts: 18
Reputación: 0
Byfed Va por buen camino
solución parcial.. una vuelta de tuerca más..

Encontré la solución haciendo lo siguiente:

Código:
procedure TFrameClientes.limpiar_detalle;
var
   i : integer;
begin
   for i:=0 to FormPrincipal.FrameClientes1.ComponentCount-1 do
      begin
         if (FormPrincipal.FrameClientes1.Components[i] is TEdit) then
            Tedit(FormPrincipal.FrameClientes1.Components[i]).text := '';
         if (FormPrincipal.FrameClientes1.Components[i] is TCheckBox) then
            TcheckBox(FormPrincipal.FrameClientes1.Components[i]).checked := false;
         if (FormPrincipal.FrameClientes1.Components[i] is TMemo) then
            TMemo(FormPrincipal.FrameClientes1.Components[i]).text := '';
         if (FormPrincipal.FrameClientes1.Components[i] is TComboBox) then
            begin
               TComboBox(FormPrincipal.FrameClientes1.Components[i]).text := '';
               TComboBox(FormPrincipal.FrameClientes1.Components[i]).itemindex := -1;
            end;
      end;
end;
Ahora quedaría otro reto.. y es hacer este procedimiento más general aún...
Que no lo tenga que escribir para cada frame.. sino que el frame fuera un parámetro y poder llamar al procedimiento como:

limpiar_detalle(FrameClientes1);

¿Alguien sabe cómo?

Salu2
Responder Con Cita