Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Borrar controles de mi form. (https://www.clubdelphi.com/foros/showthread.php?t=37156)

Bill 04-11-2006 01:20:18

Borrar controles de mi form.
 
Hola gente, hace poco termine un curso de operador de pc, y se me dio por metarme en esto de la programacion.
Ante tanta maraña de lenguajes, opte por aprender uno solo. Lei en una revista un relevamiento de lenguajes y vi que este lenguaje (Delphi) era el que obtenia la mayoria de puntajes a favor. Asi que decidi intentar aprender solo uno, solo un lenguaje (ya que solo lo hago como pasatiempo) y bueno, espero llegar a dominarlo bien algun dia...
Estoy leyendo un libro, y algo voy aprendiendo, despacio y sin apuro... disfrutando la mayoria de las veces, protestando otras :rolleyes:
Bueno, por ahora la cosa viene asi:

Tengo 4 controles del tipo TEdit en mi form. Todos con la propiedad
name con diferente nombre. Y quiero por medio de un boton, borrar todos los
datos introducidos en estos.
Ya se como manejar un bucle for, pero no logro abrir mi mente para encontrar la solucion a mi problema. Me explico?
No se como decirle a mi programa, que quiero borrar el contenido de todo
control, siempre y cuando dicho control sea del tipo TEdit.

dec 04-11-2006 01:25:35

Hola,

Sé bienvenido al ClubDelphi, en primer lugar. Creo que lo que puedes andar necesitando es algo parecido a lo siguiente:

Código Delphi [-]
// Evento "OnClick" de un determinado botón
procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
begin
  // Recorremos todos los controles de "Form1"
  for i := 0 to Self.ComponentCount-1 do
  begin
    // Si damos con un componente TEdit
    if Self.Components[i] is TEdit then
      // Eliminamos el texto que contenga
      TEdit(Self.Components[i]).Clear;
  end;
end;

Podemos ir un poquitín más allá y preparar un procedimiento algo más genérico que se encarge de la tarea:

Código Delphi [-]
// Como su propio nombre indica
procedure ClearFormEdits(form: TCustomForm);
var
  i: integer;
begin
  if not Assigned(form) then
    raise Exception.Create('Es preciso un TForm válido');
  // Recorremos todos los controles de "Form1"
  for i := 0 to form.ComponentCount-1 do
  begin
    // Si damos con un componente TEdit
    if form.Components[i] is TEdit then
      // Eliminamos el texto que contenga
      TEdit(form.Components[i]).Clear;
  end;
end;

// Evento "OnClick" de un determinado botón
// a modo de ejemplo de la función anterior
procedure TForm1.Button1Click(Sender: TObject);
begin
  // Elminamos el texto de los Edits de Form1
  ClearFormEdits(Self);
end;


La franja horaria es GMT +2. Ahora son las 16:33:23.

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