Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Limpiar un panel (https://www.clubdelphi.com/foros/showthread.php?t=84474)

er96 23-10-2013 07:51:29

Limpiar un panel
 
hola
en una calculadora puse un panel para que visualize los datos
quiero saber como limpiar el panel cundo haga click en un boton

ecfisa 23-10-2013 08:35:45

Hola er96 y bienvenido a Club Delphi :)

Como a todos los que se inician te invitamos a que leas nuestra guía de estilo.

El como limpiar los datos del panel depende si los datos a visualizar residen en él o en otro control que esté dentro.

En el primer caso basta con:
Código Delphi [-]
procedure TForm1.btnClearClick(Sender: TObject);
begin
  Panel1.Caption := '0'; // ó := '';
end;
podrías aprovechar el mismo evento para poner en cero a la variable que contiene el resultado (si utilizas una y así lo deseas).


Si se trata del segundo caso, tendrías que especificar cuál es el control que visualiza los datos.

Saludos :)

er96 23-10-2013 09:56:15

gracias por la bienvenida
soy nuevo en esto y no entiendo muy bien de esto pero
cuando uso el:

procedure TForm1.Button5Click(Sender: TObject);
begin
panel1.caption:=' ';
end;

ejecuto y solo oculta los datos y al querer ingresar nuevos datos vuelven a aparecer

Neftali [Germán.Estévez] 23-10-2013 10:05:23

¿Exactamente cuando dices "limpiar el panel" a qué te refieres?
Eliminar el contenido, ocultarlo,.. :confused::confused:

er96 23-10-2013 15:56:48

eliminarlo

er96 23-10-2013 15:59:20

quiero eliminarlo pero solo lo oculta
puede ayudarme??????

ecfisa 23-10-2013 16:04:47

Hola er96.

Paciencia, paciencia que también tenemos que ir al baño... :D
Código Delphi [-]
...
begin
  Panel1.Free;
...

Saludos :)

er96 23-10-2013 16:06:58

muchas gracias

ecfisa 23-10-2013 16:13:53

Hola er96.

En realidad con esa línea eliminas el panel. Pero ampliando la respuesta, previamente deberías controlar que exista para evitar una excepción:

Código Delphi [-]
...
begin
  if Assigned(Panel1) then
    Panel1.Free;
  ...

Saludos :)

er96 23-10-2013 16:30:14

quiero eliminar solo el contenido de panel


gracias

Neftali [Germán.Estévez] 23-10-2013 16:50:43

Cita:

Empezado por er96 (Mensaje 468826)
quiero saber como limpiar el panel

Cita:

Empezado por er96 (Mensaje 468842)
eliminarlo

Cita:

Empezado por er96 (Mensaje 468854)
quiero eliminar solo el contenido de panel

Deberías esforzarte en explicar qué es lo que quieres, porque sino estamos dando palos de ciego.
:(

ecfisa 23-10-2013 17:10:23

Cita:

Empezado por Neftali (Mensaje 468857)
Deberías esforzarte en explicar qué es lo que quieres, porque sino estamos dando palos de ciego.:(

Eso es una gran verdad, por que: Limpiar los datos visualizados por el panel, eliminar el panel y eliminar el contenido del panel, son tres cosas bién distintas...

Saludos :)

Theluar 25-10-2013 06:40:20

Los compañeros tienen razón, debes definir lo que realmente quieres hacer:

*Si quieres Limpiar el contenido del panel.
*Si quieres eliminarlo
*Si quieres eliminar su contenido, etc.

Ya que definas bien lo que quieres hacer de acuerdo a tu necesidad. Expones el tema para que sea mas fácil proporcionarte la ayuda y así facilitarle el entendimiento a las demás personas que tengan una duda similar.

Entrando en Tema.

No nos has dicho que datos se visualizan en el panel. Esto es:

*Si solo usas el caption del panel para mostrar, por ejemplo, el resultado de una suma.
*Si el panel contiene otros componentes, como TEdit's, etc.

Si es el primer paso solo vasta con cambiar la propiedad del panel, y se puede mandar llamar el procedimiento en un Tbutton :

Código Delphi [-]
Procedure button1click()
begin
  Panel1.caption:= ' ' ;
end

Si lo que quieres el limpiar un panel en donde existen varios componentes lo que puedes hacer es:

*Limpiar cada componente desde un Tbutton:

Código Delphi [-]
Procedure button1click()
begin
  Edit1.clear;
  MEmo1.clear;
  // O de la siguiente manera:
  Edit1.text:=' ';
  MEmo1.text:=' ';
end

*O Eliminar el panel completo con todo y sus componentes:
Código Delphi [-]
Procedure button1click()
begin
 if Assigned(Panel1) then Panel1.Free;
end

y para crearlo de nuevo solo basta con :

Código Delphi [-]
Procedure button1click()
begin
 if not (Assigned(Panel1)) then 
   begin
     panel1 := TPanel.Create(Form1);
     panel1.Parent := Form1;
     ////Si queres modificar su ubicacion y tamaño solo cambia las propiedades a tu gusto:
     panel1.Width := 100;
     panel1.Height := 100;
     panel1.Top := 100;
     panel1.Left := 100;
   end;
end

Nos avisas y si ya solucionaste el problema ayudaría mucho al foro que lo dijeras para que despejes dudas de otros compañeros con tu misma duda.

Saludos y Suerte.

ecfisa 25-10-2013 09:14:37

Hola.

Y para no dejar la consulta del mensaje #10 sin respuesta...
Código Delphi [-]
procedure TForm1.btnDelPanelCtrlsClick(Sender: TObject);
var
  i: Integer;
begin
  with Panel1 do
  begin
    Caption := EmptyStr;
    for i := ControlCount-1 downto 0 do
      Controls[i].Free;
  end
end;

Saludos :)


La franja horaria es GMT +2. Ahora son las 16:57:56.

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