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 09-08-2008
Avatar de josi
josi josi is offline
Miembro
 
Registrado: feb 2008
Posts: 100
Poder: 17
josi Va por buen camino
ayuda con evento on change de un combobox

hola a todos.

tengo un form de pagos de prestamo
y hay una parte donde se indica el tipo de pago osea si es
efectivo, con cheke o targeta, entonces tngo dos edits uno es cantidad en efectivo y el otro es cambio y tengo un combobox donde se seleciona
el tipo de pago lo que quiero es que si seleciono efectivo el edit cantidad en efectivo se enfoque y el edit cambio se habilite ok eso lo hace muy bien, pero si seleciono otro tipo de pago en el combobox osea los edits antes mencionados se deben deshabilitar esto lo hace bien.El problema esta que cuando vuelvo a selecionar el tipo de pago en efectivo los edits no se vuelven a habilitar ni a enfocarse.





tengo este codigo
Código Delphi [-]
begin
if ComboBox1.Text='efectivo'then
edit18.SetFocus; //editit cantidad en efe
edit17.Enabled:=true;// edit cambio
begin
if combobox1.Text='targeta'then
combobox2.Enabled:=true;
edit18.Enabled:=false;
edit17.Enabled:=false;
if combobox1.Text= 'cheke' then
combobox3.Enabled:=true;
edit18.Enabled:=false;
edit17.Enabled:=false;

end;
end;

No se preocupen por los calculos que ya lo hacen osea si el cambio es en efectivo y la cuota es de 1500 y me paga con 2000 el edit cambio muestra
lo que sobra 500

gracias......
Responder Con Cita
  #2  
Antiguo 09-08-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

A primera vista parece un problema de sintaxis. Supongo que sabrás que del siguiente código:

Código Delphi [-]
if combobox1.Text= 'cheke' then
  combobox3.Enabled:=true;
edit18.Enabled:=false;
edit17.Enabled:=false;

... en caso de que se cumpla la condición, sólo se ejecutará la instrucción inmediatamente posterior, pero, no las siguientes, o, por mejor decir, las siguientes se ejecutarán se cumpla o no se cumpla la condición.

Igual no es ese el problema, pero, pudiera ser que tú quisieras conseguir algo así:

Código Delphi [-]
if combobox1.Text= 'cheke' then
begin
  combobox3.Enabled:=true;
  edit18.Enabled:=false; 
  edit17.Enabled:=false;
end;

En este caso agrupamos las instrucciones en un bloque "begin ... end", de modo que ninguna de ellas se ejecutará si no se cumple la condición, o viceversa, todas se ejecutarán si se cumple la condición. ¿Es eso o estoy equivocado?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 09-08-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola, creo tambien que es como dice dec (y que aparte te falta Edit18.Enabled := true antes del Edit18.SetFocus). Tambien lo puedes hacer asi

Código Delphi [-]

edit17.Enabled := ComboBox1.Text = 'efectivo';
edit18.Enabled := ComboBox1.Text = 'efectivo';
ComboBox2.Enabled := ComboBox1.Text = 'targeta';
ComboBox3.Enabled := ComboBox1.Text = 'cheke';

if edit18.Enabled then edit18.SetFocus;
nada, una sugerencia de estilo
Responder Con Cita
  #4  
Antiguo 09-08-2008
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Off-topic

Josi, ¿qué idioma manejas en tu sistema? En caso de ser español / castellano, te aconsejaría escribir correctamente "tarjeta" y "cheque". Evita que los usuarios / clientes de tu aplicación se lleven una mala imagen del autor.

Saludos.

Al.
Responder Con Cita
  #5  
Antiguo 09-08-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Un poco diferente, para mi mas legible.
Código Delphi [-]
case ComboBox1.ItemIndex of
     0 : begin  //efectivo
          edit18.SetFocus; 
          edit17.Enabled:=true;
         end;
     1 : begin //targeta
          combobox2.Enabled:=true;
          edit18.Enabled:=false;
          edit17.Enabled:=false;
         end;
     2 : begin //cheke
          combobox3.Enabled:=true;
          edit18.Enabled:=false;
          edit17.Enabled:=false;
         end;
Saludos
__________________
Siempre Novato
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
bucle entre edit.change y edit.change alremo81 Varios 2 07-04-2008 15:25:39
mssql another user change the record eureka Conexión con bases de datos 2 21-02-2007 18:55:00
necesito programar un evento en un combobox,pero no se cual de todos es federiconqn21 Varios 7 06-04-2006 17:42:24
Ayuda con el evento OnClick de un ComboBox Striker Varios 1 15-06-2005 16:56:14
TComboBox ItemIndex anterior a la ejecución de Change zemog76 OOP 6 04-02-2005 16:57:37


La franja horaria es GMT +2. Ahora son las 00:33:04.


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