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 12-10-2007
lejia lejia is offline
Miembro
 
Registrado: sep 2007
Posts: 25
Poder: 0
lejia Va por buen camino
onvalidate

Ya me comentaron que esto obtiene cuando se modifica un dato en un dbgrid, pero como se cuando tengo que capturarlo, por ejemplo, yo tengo un dbgrid donde se me muestra una consulta sql, con un query,, pues kiero saber que celda se modifica, ya que en el dbgrid, no viene ningun cellupdate, o algo parecido, y en que lugar de mi programa tengo que invocar a esa funcion onvalidate. Se que es de tipo field, campo, pero la cuestion es como la uso, gracias.
Responder Con Cita
  #2  
Antiguo 12-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
mmm, OnValidate es un evento que esta asociado al TField, para programar en él basta con ir al editor de campos del dataset, seleccionar el campo deseado e ir en el object inspector a la pestaña events, buscar OnValidete, hacer doble click y allí es donde comienzas a trabajar lo que necesites .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 12-10-2007
lejia lejia is offline
Miembro
 
Registrado: sep 2007
Posts: 25
Poder: 0
lejia Va por buen camino
perdona, pero yo tengo un dbgrid, donde muestro un query, asi que lo que tengo es un query, y un datasource relacionado con el dbgrid, asi que no entiendo muy bien donde tengo que empezar a usarlo, me entiendes?, perdona mi torpeza.
Responder Con Cita
  #4  
Antiguo 12-10-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Query = Dataset

Doble click al query, Selecciona Add All Fields

Ubica el campo que quieres y en el inspector de objetos mira sus eventos
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #5  
Antiguo 12-10-2007
lejia lejia is offline
Miembro
 
Registrado: sep 2007
Posts: 25
Poder: 0
lejia Va por buen camino
Angry

hola de nuevo, no es posible, porque la consulta la creo en tiempo de ejecucion. asi que no que campos tengo hasta que la lanzo.
Responder Con Cita
  #6  
Antiguo 12-10-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
pero si ya conoces los campos puedes incluir en la consulta la clausula AS y los puedes crear manualmente, luego borras la consulta y los campos quedan, lo unico que tienes que hacer es asegurarte que los nombres coincidan
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #7  
Antiguo 12-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por lejia Ver Mensaje
hola de nuevo, no es posible, porque la consulta la creo en tiempo de ejecucion. asi que no que campos tengo hasta que la lanzo.
En ejecución puedes hacerlo asi, si conoces los nombres de los campos en cuestión:

1. Creas un procedimiento asi, por ejemplo:

Código Delphi [-]
procedure TForm1.validador(Sender: TField);
begin
  //Escribes el codigo que debe ejecutar el OnValidate
end;

2. Despues de traer los datos en el Query que esta en ejecución haces lo siguiente:

Código Delphi [-]
DataSetEnCuestion.FieldByName('CampoEnCuestion').OnValidate := validador;

De esa manera ya debe disparase dicho evento debido a que esta asignado .

Espero te sirva .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #8  
Antiguo 12-10-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Esa no me la sabia, todos los dias se aprende algo nuevo gracias jhonny
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #9  
Antiguo 12-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por eduarcol Ver Mensaje
Esa no me la sabia, todos los dias se aprende algo nuevo gracias jhonny
Creia que a eso era a lo que te referias .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #10  
Antiguo 12-10-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
si pero no sabia como asignarlo en ejecucion siempre habia realizado la asignacion Estatica...

Me refiero no sabia que podia referenciarse de esa manera el objeto TField
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #11  
Antiguo 12-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por eduarcol Ver Mensaje
si pero no sabia como asignarlo en ejecucion siempre habia realizado la asignacion Estatica...

Me refiero no sabia que podia referenciarse de esa manera el objeto TField
¿Te refieres a la forma de asignar el evento en ejecución o a la llamada al campo por medio del FieldByName?
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #12  
Antiguo 12-10-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
a la forma de asignar el evento a un TField, yo siempre crei qe solo se consideraban como objetos si tenias la forma MitablaMicampo pero ahora que lo razono por supuesto que es ilogico lo que yo pensaba... que falta de imaginacion tengo
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #13  
Antiguo 12-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por eduarcol Ver Mensaje
a la forma de asignar el evento a un TField, yo siempre crei qe solo se consideraban como objetos si tenias la forma MitablaMicampo pero ahora que lo razono por supuesto que es ilogico lo que yo pensaba... que falta de imaginacion tengo
Ahhh, bueno asignar un evento en ejecución es mas común a la hora de crear componentes . Pero a veces tambien es necesario en otras ocaciones como esta.

En cuanto a lo de MiTablaMiCampo... pues como los dataset tienen una propiedad de tipo TFields(Que es un arreglo de campos), pues por allí es que se pueden acceder en ejecución, de manera pues que en determinados casos tambien puedes usar MiTabla.Fields[0].AsLoQueSea.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/

Última edición por jhonny fecha: 12-10-2007 a las 22:11:06.
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
onValidate de un campo (Excepciones) Caro Conexión con bases de datos 2 06-06-2006 22:33:22
OnValidate .. No funciona en IB? PINO72 Firebird e Interbase 4 12-04-2005 16:15:17
Onvalidate Como se usa servicomp Conexión con bases de datos 1 16-02-2005 04:46:05
OnValidate javiermorales OOP 5 13-11-2003 15:52:52
OnValidate y Foco javiermorales OOP 9 21-05-2003 08:10:16


La franja horaria es GMT +2. Ahora son las 08:53:32.


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