Autor Tema: Saber si se hicieron cambios es los TextBox  (Leído 12223 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Ever Cerna

  • Megabyte
  • ***
  • Mensajes: 113
  • Reputación: +1/-1
  • anarkia99-Soft.
    • Ver Perfil
Saber si se hicieron cambios es los TextBox
« en: Marzo 04, 2010, 03:29:51 am »
Wenas una consultilla, saben que api puedo usar para poder detectar los cambios que se realizaron en un control textbox. estuve buscando por google y no encontre mucha info, bueno tengo un formularios con varios text la cual muestro mi contenido de la BDD MySQL, bueno ahora si yo modifico algunos datos de los text necesariamente tengo k hacerle click en un boton que puse de actualizar y weno k pasaria si cerrara el prog sin haber guardado los cambios realizados obviamente no se guardarian entonces aqui vino mi inquietud de saber si se hiso cambios en el los text cosa que asi me avisara mediante un msgbox que "se hisieron cambios ¿desea usted guardarlos?",  :P weno esa es la idea haber si me dan una manito. Slu2.

erbuson

  • Kilobyte
  • **
  • Mensajes: 75
  • Reputación: +11/-1
    • Ver Perfil
Re:Saber si se hicieron cambios es los TextBox
« Respuesta #1 en: Marzo 04, 2010, 04:01:49 am »
Te cuento lo que yo hago, no se si lo mas apropiado pero me funciona.
Debes definir una variable tipo Boolean que comprobarás antes de Salir y modificarla en el evento Change del Text

Private Modificado As Boolean

Cuando visualizas en pantalla los valores procedentes del Registro de datos, Modificado = False

En el evento Change como te decia antes Modificado = True

En la salida, If Modificado Then ...



YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Saber si se hicieron cambios es los TextBox
« Respuesta #2 en: Marzo 05, 2010, 02:45:24 am »
Wenas una consultilla, saben que api puedo usar para poder detectar los cambios que se realizaron en un control textbox. estuve buscando por google y no encontre mucha info, bueno tengo un formularios con varios text la cual muestro mi contenido de la BDD MySQL, bueno ahora si yo modifico algunos datos de los text necesariamente tengo k hacerle click en un boton que puse de actualizar y weno k pasaria si cerrara el prog sin haber guardado los cambios realizados obviamente no se guardarian entonces aqui vino mi inquietud de saber si se hiso cambios en el los text cosa que asi me avisara mediante un msgbox que "se hisieron cambios �desea usted guardarlos?",  :P weno esa es la idea haber si me dan una manito. Slu2.

Hola, ojo no solo con clicks llegas a un TextBox, también llegas usando la tecla Tab.
Pero es cierto, como dijo erbuson seria bueno uses una variable bolean, yo hago lo mismo.
Para reafirmar, al iniciar, la variable modificado será False, y en evento Unload si la variable es false mandas un msgbox advirtiendo, si es true no manda nada.

Sin embargo, esto lo aplicaría si se tratase de un formulario destinado a la edición de registros, sino en todo caso te recomiendo parametrizar el tema.

Otra alternativa seria poner un sólo label mas o menos grande y de un color llamativo que diga: "Datos sin Modificar", al modificar uno de ellos cambiar a "Datos Modificados", y si tienes un botón "Grabar" al ejecutarlo el label cambiara a "Datos Modificados y Grabados".
Es una idea.

Saludos

Me encuentras en YAcosta.com

Ever Cerna

  • Megabyte
  • ***
  • Mensajes: 113
  • Reputación: +1/-1
  • anarkia99-Soft.
    • Ver Perfil
Re:Saber si se hicieron cambios es los TextBox
« Respuesta #3 en: Marzo 05, 2010, 08:46:31 pm »
Wenas gracias por las ayudas pero, tengo una ultima duda por ejemplo si yo escribo o modifico algo en el text y luego se me ocurre dejarlo como estava anteriormente, alli en ese caso en el evento change estaria en false, pero ya escribi algo en el texto por lo tanto ya esta en true y como dije anteriormente cambie el texto y luego lo volvi a dejar como estava entonces igual me va a decir que guarde los cambio cuando en realidad lo deje como estava anteriormente, weno no se si se entienda mi inquietud.

Slu2..

erbuson

  • Kilobyte
  • **
  • Mensajes: 75
  • Reputación: +11/-1
    • Ver Perfil
Re:Saber si se hicieron cambios es los TextBox
« Respuesta #4 en: Marzo 05, 2010, 09:36:36 pm »
Hola, personalmente pienso que estas liando demasiado la madeja, ya que de este modo, no te basta un indicador de modificado sino que por lo menos necesitarias 1 para cada campo, por otra parte al presentar los datos deberías saber lo que tienes inicialmente ya que puedes modificarlo, salir del campo, volver a entrar, dejarlo como estaba y ¿ que pasa con el Modificado = True ? y si en el campo uno si lo modificaste y dejaste True y en el 2 entras lo modificas y despues lo dejas como estaba ¿ lo pondras en false ? si es así se va a ir al carajo la modificación del campo1

Creo que lo estas complicando, no es imposible, pero si complicado. Depende de lo que prtendas conseguir y cuando quieras complicarte la existencia.

Ever Cerna

  • Megabyte
  • ***
  • Mensajes: 113
  • Reputación: +1/-1
  • anarkia99-Soft.
    • Ver Perfil
Re:Saber si se hicieron cambios es los TextBox
« Respuesta #5 en: Marzo 05, 2010, 11:05:47 pm »
 ;D ok weno gracias por sus respuestas solo era una duda weno voy haber que consigo con sus ayudas brindadas gracias.
« última modificación: Marzo 06, 2010, 01:01:19 am por jack06 »

cobein

  • Moderador Global
  • Gigabyte
  • *****
  • Mensajes: 348
  • Reputación: +63/-0
  • Más Argentino que el morcipan
    • Ver Perfil
Re:Saber si se hicieron cambios es los TextBox
« Respuesta #6 en: Marzo 06, 2010, 09:53:29 pm »
Lo que yo uso en algunos codigos para tener autosave es un hash de los datos originales y al salir calculas nuevamente el hash de los datos que tenes, si difiere simplemente guardas o advertis al usuario; de esa manera se guarda unicamente cuando los datos realmente difieren de los originales.

Ever Cerna

  • Megabyte
  • ***
  • Mensajes: 113
  • Reputación: +1/-1
  • anarkia99-Soft.
    • Ver Perfil
Re:Saber si se hicieron cambios es los TextBox
« Respuesta #7 en: Marzo 07, 2010, 05:31:28 pm »
@ cobein
Me podrias poner un ejemplo, claro si no fuera molestia  :-\

ssccaann43

  • Terabyte
  • *****
  • Mensajes: 970
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Re:Saber si se hicieron cambios es los TextBox
« Respuesta #8 en: Marzo 08, 2010, 11:16:01 am »
Puedes usar un módulo de clase MD5, con eso haces la comparación...! No es complicado, y es la mejor solución...! Grande Cobein...! No se me había ocurrido esto...!
Miguel Núñez.

cobein

  • Moderador Global
  • Gigabyte
  • *****
  • Mensajes: 348
  • Reputación: +63/-0
  • Más Argentino que el morcipan
    • Ver Perfil
Re:Saber si se hicieron cambios es los TextBox
« Respuesta #9 en: Marzo 08, 2010, 11:22:53 pm »
Una aclaracion, lo del hash es simplemente para no tener una copia de los datos originales en memoria en el caso de que sean muchos.

Ejemplo... no hay mucho que hacer simplemente busca algun modulo para calcular hashes y le pasas los datos ... creo que los que estan por ahi afuera no soportan "streaming" pero pasas los datos de a uno y los vas concatenando con el ultimo hash.

ssccaann43

  • Terabyte
  • *****
  • Mensajes: 970
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Re:Saber si se hicieron cambios es los TextBox
« Respuesta #10 en: Marzo 09, 2010, 12:33:34 pm »
Una aclaracion, lo del hash es simplemente para no tener una copia de los datos originales en memoria en el caso de que sean muchos.

Ejemplo... no hay mucho que hacer simplemente busca algun modulo para calcular hashes y le pasas los datos ... creo que los que estan por ahi afuera no soportan "streaming" pero pasas los datos de a uno y los vas concatenando con el ultimo hash.

Cobein, con una clase que obtenga el MD5 funcionaría?
Miguel Núñez.

coco

  • Administrador
  • Terabyte
  • *****
  • Mensajes: 548
  • Reputación: +63/-3
    • Ver Perfil
Re:Saber si se hicieron cambios es los TextBox
« Respuesta #11 en: Marzo 09, 2010, 04:24:02 pm »
Una aclaracion, lo del hash es simplemente para no tener una copia de los datos originales en memoria en el caso de que sean muchos.

Ejemplo... no hay mucho que hacer simplemente busca algun modulo para calcular hashes y le pasas los datos ... creo que los que estan por ahi afuera no soportan "streaming" pero pasas los datos de a uno y los vas concatenando con el ultimo hash.

Cobein, con una clase que obtenga el MD5 funcionaría?

MD5, MD4, CRC32, SHA1, lo que quieras! ya que son todos hash, y si la variable que le pasas es igual, el hash deberia ser el mismo!. para cerrar la idea MD5(txtCampo1.text & txtCampo2.text) y asi sucecivamente. eso ni bien lo cargan lo guardan en una variable estatica, y luego a la hora de ver si se modifico, se vuelve a hacer el MD5 y se compara con el anteriormente guardado.

saludos
'-     coco
(No me cabe: Java, Python ni Pascal)
SQLite - PIC 16F y 18F - ARM STM32 - ESP32 - Linux Embebido - VB6 - Electronica - Sonido y Ambientacion

ssccaann43

  • Terabyte
  • *****
  • Mensajes: 970
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Re:Saber si se hicieron cambios es los TextBox
« Respuesta #12 en: Marzo 09, 2010, 04:31:11 pm »
Entonces he acertado...! Que use el MD5 para mi es mejor..! XD
Miguel Núñez.

wolf_kof

  • Visitante
Re:Saber si se hicieron cambios es los TextBox
« Respuesta #13 en: Marzo 10, 2010, 06:34:27 pm »
Demasiado para una sola cosa Mejor Que Comience de Nuevo JEJEJEJEJEJE

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Saber si se hicieron cambios es los TextBox
« Respuesta #14 en: Marzo 16, 2010, 11:46:53 am »
Hola, para hacer el simple "se hisieron cambios ¿desea usted guardarlos?" simplemente implementas una clase que tenga cargados los datos y despues te haces un metodo que chequee todas las propiedades si estan como cuando la cargaste y si llega a diferir una , mostrar el msgbox, mas simple imposible...

saludos.