Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-11-2022
steelha steelha is offline
Miembro
 
Registrado: mar 2012
Posts: 158
Poder: 13
steelha Va por buen camino
Ayuda limpiar contenido de controles

Buenas, como el titulo dice necesito ayuda para limpiar los valores que contengan los controles como edit, memo, checkbox. Es como un reset para que todo este limpio. Se que debo hacer un bucle para cada control contenido en tab del page. El problema es que en el tab tengo tres (3) groupbox los cuales contienen los edit memo y dblookcombobox. Como le hago me conocimiento solo llega hasta el tab.

Código Delphi [-]
procedure TfrmPacientes.limpiar;
var
  sheet : TTabSheet;
  a,i   : Integer;
begin
   for i := 0 to PageControl1.ControlCount-1 do
   begin
      sheet := TTabSheet(PageControl1.Controls[i]);
      for a := 0 to sheet.ControlCount-1 do
      begin
        if sheet.Controls[a] is TMemo then
          (sheet.Controls[a] as TMemo).Text := '';

        if sheet.Controls[a] is TEdit then
          (sheet.Controls[a] as TEdit).Text := '';

        if sheet.Controls[a] is TDBComboBox then
          (sheet.Controls[a] as TDBComboBox).ItemIndex := -1;

        if sheet.Controls[a] is TCheckBox then
          (sheet.Controls[a] as TCheckBox).Checked := False;
      end;
   end;
end;

Encontré este código parecido al que busco pero no me limpia los valores

cualquier ayuda o comentario será de mucha ayuda
Responder Con Cita
  #2  
Antiguo 04-11-2022
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
¡Hola, steelha!

Cuando estás recorriendo los controles del control padre (PageControl), el solo puede observar los controles contenidos en el, los que en este caso serán los TabSheet. Para manipular los controles que se encuentran dentro de cada TabSheet debes volver a llamar la función pasando como parámetro el control padre correspondiente.

Este código puede que te sea de ayuda:

Código Delphi [-]
procedure TfrmPacientes.ResetControlValues(Parent: TWinControl);
  var
    i: integer;
begin
  if Parent.ControlCount <= 0 then
    Exit;

  for i := 0 to Parent.ControlCount - 1 do
  begin
    if Parent.Controls[i] is TMemo then
      (Parent.Controls[i] as TMemo).Lines.Clear
    else
    if Parent.Controls[i] is TEdit then
      (Parent.Controls[i] as TEdit).Clear
    else
    if Parent.Controls[i] is TComboBox then
      (Parent.Controls[i] as TComboBox).ItemIndex := -1
    else
    if Parent.Controls[i] is TCheckBox then
      (Parent.Controls[i] as TCheckBox).Checked := False
    else
    if Parent.Controls[i] is TWinControl then
      ResetControlValues((Parent.Controls[i] as TWinControl));
  end;
end;

procedure TfrmPacientes.limpiar;
begin
  ResetControlValues(PageControl1);
end;
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #3  
Antiguo 04-11-2022
steelha steelha is offline
Miembro
 
Registrado: mar 2012
Posts: 158
Poder: 13
steelha Va por buen camino
Muchas gracias movorack, lo hice como dices y funciono perfectamente ademas creo que me sera utili cuando quiera limpiar los de los demas tabsheet cuando lo necesite.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Controles RichEdit y campos Blob - Ayuda el-mono OOP 2 11-05-2012 16:20:06
Ayuda con controles Jedi VCL CarlosAldia Varios 3 16-01-2012 22:06:08
Ayuda con controles TRichViewEdit r1d2m3 OOP 0 11-02-2010 19:03:05
Limpiar contenido carpeta Chupi OOP 3 28-12-2004 23:28:34
ayuda con color en controles activos squenda OOP 6 11-05-2004 10:33:23


La franja horaria es GMT +2. Ahora son las 14:37:34.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi