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 24-04-2008
capo979 capo979 is offline
Miembro
 
Registrado: abr 2007
Posts: 87
Poder: 18
capo979 Va por buen camino
Detectar cambio en componentes

Hola gente!!!

Quisiera preguntarles como detectar cambios en los componentes por ejemplo en un Edit me van a decir que use el evento OnChange pero por ejemplo en un DBLookupComboBox que no tiene un OnChange como se???. Esto lo quiero hacer porque tengo un formulario donde están todos los componentes a guardar y si cierra el formulario y cambio un campo quiero preguntar que ha hecho cambios y si desea guardarlos y si no toco ningún campo que no pregunte nada

Saludos
Responder Con Cita
  #2  
Antiguo 24-04-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola capo979, lo que yo haría sería guardar en variables todos los valores con los que estaría entrando al formulario y una vez que se quiera grabar pregunto esos valores con lo nuevos valores que hay en los componentes. O si quieres usar el OnChange, entonces talvez en vez de usar un DBLookupComboBox, utilizas un ComboBox normal y lo llenas a mano.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 24-04-2008
capo979 capo979 is offline
Miembro
 
Registrado: abr 2007
Posts: 87
Poder: 18
capo979 Va por buen camino
Tengo que usar un componente de base de datos no puedo usar un combobox. Necesito saber si hay alguna forma más facil de preguntarle al componente si cambio

saludos
Responder Con Cita
  #4  
Antiguo 24-04-2008
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Cita:
Empezado por capo979 Ver Mensaje
Tengo que usar un componente de base de datos no puedo usar un combobox. Necesito saber si hay alguna forma más facil de preguntarle al componente si cambio

saludos
Lo que dice Caro esta muy bien, en el evento OnShow, almacenas en variables todos los estados de los componentes, y luego, en OnClose comparas uno a uno con el estado al momento del cierre, si alguno es distinto, es porque ha sido cambiado por lo tanto preguntas si ha de ser guardado o no.

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #5  
Antiguo 24-04-2008
santus santus is offline
Miembro
 
Registrado: ene 2006
Posts: 130
Poder: 19
santus Va por buen camino
Se me ocurre que puedes usar el evento OnDataChange del datasource, si es que lo tienes conectado a un datasource. Este evento se ejecuta cada vez que cambian los datos de un field. En tu caso, me crearia una rutina basica en donde pregunte si el campo se modificó o no y activar una variable booleana en en base a eso mandar un mensaje o no... son ideas..

el evento OnDataChange te pasa como parametro el campo (field) que se está modificando. Quiza te sirva...
__________________
"El ordenador nació para resolver problemas que antes no existían." Bill Gates.
Responder Con Cita
  #6  
Antiguo 24-04-2008
Avatar de Dedalo
Dedalo Dedalo is offline
Miembro
 
Registrado: abr 2008
Ubicación: Albacete (España)
Posts: 32
Poder: 0
Dedalo Va por buen camino
Es mucho mas sencillo que todo eso. Si has alterado algun componente de la base de datos, sea cual sea, el estado del TTable es dsEdit, y si no se ha tocado nada el TTable.Status esta en dsBrowse. Antes de cerrar consultas el estado, si esta en dsBrowse no hay cambios, y si esta en otro estado diferente actuas en consecuencia, pues el estado tambien podria estar en estado dsInsert si se ha metido una linea nueva en un DBGrid.
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
Detectar evento cambio de foco pborges36 OOP 28 26-05-2014 03:34:48
Detectar cambio de posicion en dataset Ezecool Conexión con bases de datos 7 10-07-2007 20:53:19
TBitDBGrid detectar cambio en celda capo979 Varios 2 02-05-2007 15:31:15
Detectar cambio de ItemIndex en ComboBox ixMike OOP 5 19-10-2006 20:39:03
Detectar el cambio de un directorio NeWNeO API de Windows 2 03-01-2005 09:36:48


La franja horaria es GMT +2. Ahora son las 22:03:08.


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