![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Cita:
El valor antiguo será "a". si usas Dataset.cancel es como si no hubieras hecho nada. si usas Dataset.Post estarás actualizando un registro con los mismos valores que tenías antes. Entiendo que es lo que quieres evitar, pero sigue leyendo. El punto aquí, sería poner una webcam, para ver el usuario cuantas veces entra y sale de un DBEdit cambiando los valores, y adivinar cual de todas esas modificaciones, considera "estable". Una letra de más, una tilde, un espacio... y todos nuestros esfuerzos por la borda. Si un usuario hace esos 3 pasos que has indicado, yo le explico cuando debe hacer un Post y cuando un Cancel . Como en muchas ocasiones, el problema está entre el teclado y la silla .Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#2
|
||||
|
||||
|
Cita:
En el mío, pretendo eliminar tabulaciones y espacios indeseados, autocorregir la capitalización, y comparar ese valor formateado con el original para reducir aún más los accesos a la BD, con lo que debo comparar los valores yo mismo. Vale, puedo ser un poco maniático (quizá soy informático por ello, no sé, ), pero me parece que lo interesante sigue sin respuesta:Cita:
De todas formas, el código que me diste me va a ser muy útil, claro. No daría por zanjada la cuestión , pero gracias por la sugerencia. |
|
#3
|
||||
|
||||
|
El DBEdit es una mera representación visual. Si quieres capturar cuando cambian los datos, antes de que los valores vayan a parar a la base de datos, o al recibirlos, tendrás que pelearte con el TFieldDataLink. Dicha clase tiene:
Los métodos protegidos serán los que tienes que modificar. Aparte, tendrías que crearte un nuevo TDBEdit que use tu TFieldDatalink modificado. Espero me equivoque y haya un método más fácil. Pero dudo que sea trabajando sobre el TDBEdit, porque te dará falsos positivos (por ejemplo, al cambiar de registro, se producirá un evento DBedit.OnChange y "no podrías diferenciarlo de cuando el usuario modifica el registro" (este caso es un mero ejemplo, no lo tomes al pie de la letra, porque no he estudiado el caso a fondo). En respuesta a tu pregunta directa: Si, si lo hay, en el evento afterScroll de tu Dataset, pero no será viable hacerlo allí. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#4
|
||||
|
||||
|
Creo que esto me supera con creces.
Y tienes razón con el DBedit.OnChange, lo había probado y salta al cargar valores, ¡rayos! Mi gozo en un pozo. Al menos, de momento. Supongo que ya volveré sobre esto, pero así me va costar demasiado avanzar... Me pregunto si alguien se ha currado algo similar que pueda y quiera aportar alguna idea. Creo que sería un componente útil para todo en esta vida, jeje. Un saludillo y gracias por responder tan rápidamente . |
|
#5
|
||||
|
||||
|
Te voy a contar un secreto que espero sepas guardar
.A veces, en lugar de heredar de TDBEdit, lo que hago es crear mis propios objetos, mapeando los datos a ellos cuando lo necesito. Ejemplo simplificado: Ahora en mi aplicación, en el OnCreate de la ventana Clientes (típico tópico donde los haya ):Nada del otro mundo, Simplemente guardar los valores en el AfterScroll y cuando quiera sobreescibir alguno con un "valor estable", modifico mi objeto. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#6
|
||||
|
||||
|
Gracias, Lepe.
Bueno, sin afán de restar méritos, se aproxima a cómo pensaba yo solucionar en plan "simple", es decir, renunciando a la automatización que deseaba para cada campo (al tener que centralizar el control campo a campo en un mismo punto y despreciando la comodidad de los DBEdit). Como consuelo, veo que no voy tan desencaminado ![]() Ya volveré sobre esto y, si consigo algún avance interesante, ya lo contaré. Ahora necesito progresar con el desarrollo... Un saludo y gracias de nuevo. |
|
#7
|
||||
|
||||
|
En mi delphi 7 los datafields no tienen esta propiedad tan útil(Modified),sino que aparece como un atributo del TDataset para saber si se ha modificado el rejistro actual.
Alguien sabe a partir de que versión está incorporada?. Gracias
__________________
Lo importante no es llegar primero, sino saber llegar. Para que puedas llegar mejor lee la Guia de Estilo |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Calcular un valor antes de guardar en una tabla | FGarcia | Varios | 11 | 21-11-2007 05:22:07 |
| Guardar el valor de un EDIT en un fichero de texto | creus | Varios | 2 | 16-01-2007 23:02:56 |
| Guardar valor en una variable... | hademon | SQL | 1 | 14-09-2005 17:16:57 |
| Algun componente para guardar jpg en mysql? | delphivan | Gráficos | 1 | 30-05-2005 16:48:08 |
| Algun componente para solo listar el valor de un campo? | nefy | OOP | 15 | 22-11-2004 14:01:36 |
|