Visual Basic - como se si guardar o no??

Life is soft - evento anual de software empresarial
 
Vista:

como se si guardar o no??

Publicado por Anibal Lujan (2 intervenciones) el 07/02/2005 23:26:19
Hola. mi situacion es el siguiente... Estoy haciendo una aplicacion con varios formularios... en cada formulario se carga inportante cantidad de datos. Cuando yo salgo de algunos de los formularios pregunto si quiere grabar o no.

Ahora el problema. Aveces los formularis se ocupan solo para ver los datos y se van recorriendo por fecha. y es bastante molesto que te este preguntando si quere graabra o no??

Por lo que pense solo preguntar cuando se realizo algun cambio en el formulario. Pero como se si se realizo algun cambio o no??

Una de las formas que pense es una bandera que se ponga en uno si ocurre un cambio an alguno de los componentes del form. Pero tenindo en cuenta que la cantidad de componentesen el form es muy grande... eso seria una estupidez!!!!!

Existe alguna forma mas facil de saber si ocurrieron cambios en el formularios??
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:como se si guardar o no??

Publicado por wow (1 intervención) el 08/02/2005 16:11:36
caray

debe ser un superformulario como dices

se me ocurre decirte que si hay un Evento Change en un control de los que usas, pues entonces actives un Switch para preguntar si se desea grabar, lo he probado con unos 15 controles, no es la gran cosa, pero es muy rapido y eficiente.

me avisas si te sirve esa opcion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como se si guardar o no??

Publicado por Benjo (679 intervenciones) el 09/02/2005 02:09:05
En relidad la opción más acertada ha de ser poner como tu dices Flags en los eventos change de los controles susceptibles de ser modificados y al cambiar, sólo chequear si ese flags ha cambiado.
También existe una forma bastante ignota para los textBox, utilizando la API SendMessage.
Obviamente tendrías que mandar un sendMessage para cada textBox de tu aplicación. Sigo pensando que la mejor forma es utilizando un flag.
Muchas veces he utilizando la propiedad tag de los controles para almacenar mis flags y no tener que crear nuevas variables.
Da igual.
La álternativa que te dije es así.

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long


Sub Form_Click()
If SendMessage(Text1.hwnd, &HB8, 0, ByVal 0&) = 1 Then
Form1.Caption = "Se ha cambiado el Texto"
Else
Form1.Caption = "Se ha dejado igual el Texto"
End If
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar