Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-03-2010
Litnoiz Litnoiz is offline
Registrado
 
Registrado: mar 2010
Posts: 2
Poder: 0
Litnoiz Va por buen camino
Boton segun valor de un combobox

Veamos, estoy haciendo una aplicacion y tengo un combobox y un boton. Quiero que ese boton, segun el indice escogido en el combobox, me haga la accion asociada en el boton pero a paneles distintos (por ejemplo limpiar los tedits). Pongo lo poco que tengo asi se ve mejor mi duda (todavia no manejo las llamadas y eventos...).

procedure TForm1.ComboBox2Change(Sender: TObject);
begin
if(combobox2.ItemIndex=0) then
begin
llamar al boton y que al pulsarlo me limpie los edits del panel1
end;

if(combobox2.ItemIndex=1) then
begin
llamar al boton y que al pulsarlo me limpie los edits del panel2
end;

if(combobox2.ItemIndex=1) then
begin
llamar al boton y que al pulsarlo me limpie los edits del panel2
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
limpiar edits(panelX);
end;

que seria, mandarle un parametro a la funcion segun el indice para que sepa que panel vaciar o...a ver si alguien me ayuda. Ya de paso, como lo haria con un case en lugar de los "if"?.

Un Saludo. Buenas noches.
Responder Con Cita
  #2  
Antiguo 13-03-2010
BrunoBsso BrunoBsso is offline
Miembro
 
Registrado: nov 2009
Ubicación: Berisso, Buenos Aires, Argentina
Posts: 239
Poder: 15
BrunoBsso Va por buen camino
¡BIENVENIDO AL FORO!
Te recomiendo que leas cómo usar las etiquetas de los lenguajes (etiquetas vB) para que tus códigos se vean más bonitos y entendibles.
Vamos a solucionarte el problema.
Yo en tu lugar haría un nuevo procedimiento que limpie X panel y lo usaría en el evento OnClick del botón.
Veamos uno:
Código Delphi [-]
procedure LimpiarEdits(var Panel:TPanel);
var
  I:Integer;
begin
  with Panel do begin //Para evitar escribir "Panel." en cada línea
    for I := 0 to ControlCount-1 do begin
      //Voy desde el control en la posición 0 en el panel hasta el control final
      if (Controls[i] is TEdit) then
        //Verifico si es un TEdit por cada control que tenga el panel
        //Si es, hago CASTING (así se llama) y lo limpio
        TEdit(Controls[i]).Text:='';
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  case ComboBox2.ItemIndex of
    0: LimpiarEdits(Panel1);
    1: LimpiarEdits(Panel2);
    2: LimpiarEdits(Panel3);
  end;
end;
Ahí estaba usando 3 TPanel con 3 TEdit cada uno.
Espero que sea sencillo de aprender. Cualquier mínima duda, avisanos y te la resolvemos con gusto
Nos vemos!
Responder Con Cita
  #3  
Antiguo 13-03-2010
Litnoiz Litnoiz is offline
Registrado
 
Registrado: mar 2010
Posts: 2
Poder: 0
Litnoiz Va por buen camino
Muchisimas gracias por la respuesta! Estoy empezando y todavia no me llevo bien con el codigo y otras cosas. Gracias por el enlace, le echaré un vistazo a la información aqui disponible. Un saludo y gracias de nuevo. ; )
Responder Con Cita
  #4  
Antiguo 13-03-2010
BrunoBsso BrunoBsso is offline
Miembro
 
Registrado: nov 2009
Ubicación: Berisso, Buenos Aires, Argentina
Posts: 239
Poder: 15
BrunoBsso Va por buen camino
No hay por qué.
Acá hasta los más antiguos y sabios aprenden, y los más nuevos lo hacemos mucho más.
Me alegro que te haya servido mi ayuda
Saludos!
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
Incrementar campo según el valor de otro subzero Firebird e Interbase 3 06-08-2008 21:41:52
Consulta que muestre Si o No segun el valor Cecil SQL 4 17-01-2008 00:49:38
Cambiar el caption de un boton segun el registro nenufer Varios 8 08-06-2006 09:32:48
Cambiar color en panel de DBCtrlGrid segun valor de un atributo akinom38 Varios 4 23-01-2006 14:25:30
Repetir registro segun valor de un campo yusnerqui SQL 2 13-03-2005 02:14:40


La franja horaria es GMT +2. Ahora son las 10:51:20.


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