Page 1 of 1
GUARDAR DATOS AUTOMATICAMENTE (YA RESUELTO, MUCHAS GRACIAS)
Posted: Thu Apr 10, 2008 2:54 am
by AIDA
HOLA
NO SE SI SE PUEDA HACER QUE MI PROGRAMA GUARDE LOS DATOS QUE SE ESTAN CAPTURANDO AUTOMATICAMENTE POR PERIODOS DE TIEMPO COMOLO HACE EL
Microsoft Office Word PARA QUE LOS DATOS ESTEN GUARDADOS ANTES QUE EL USUARIO SALGA DEL PROGRAMA POR SI ALGUN CORTE DE LUZ O ATORON DE LA COMPUTADORA Y NO PERDER LO CAPTURADO
.
SALUDOS
AIDA
Re: HOLA COMO PUEDO HACER QUE SE GUARDEN DATOS AUTOMATICAMEN
Posted: Thu Apr 10, 2008 3:26 am
by andresreyes_mzt
AIDA wrote:HOLA
NO SE SI SE PUEDA HACER QUE MI PROGRAMA GUARDE LOS DATOS QUE SE ESTAN CAPTURANDO AUTOMATICAMENTE POR PERIODOS DE TIEMPO COMOLO HACE EL
Microsoft Office Word PARA QUE LOS DATOS ESTEN GUARDADOS ANTES QUE EL USUARIO SALGA DEL PROGRAMA POR SI ALGUN CORTE DE LUZ O ATORON DE LA COMPUTADORA Y NO PERDER LO CAPTURADO
.
SALUDOS
SANDRA
Hola Aida,
Podrias hacerlo de la siguiente manera
Crear un Timer que este guardando los datos en un archivo cada determinado tiempo. Los mas logico seria guardar los datos en un array o un hash y despues utilizar un Hb_Serialize() y MemoWrit() para guardar los datos al disco.
Verificar si al Iniciar tu aplicacion existe ese archivo, en caso de que exista recuperar esos datos con un Memoread() y hb_deserialize(), ahi tienes de vuelta el hash o array con los datos recuperados y eliminar el archivo.
Es algo muy sencillo
Guardar:
Code: Select all
hHash := {=>}
hHash["Dato1"] := 1024
hHash["Dato2"] := "Mi Dato"
hHash["Dato2"] := Date()
MemoWrit( "Salva.dat", hb_serialize( hHash ) )
Recuperar :
Code: Select all
hHash := Hb_deserialize( Memoread("Salva.Dat") )
? hHash["Dato1"] // 1024
? hHash["Dato2"] // "Mi Dato"
? hHash["Dato2"] // Date()
FErase( "Salva.dat" )
HUY GRACIAS
Posted: Thu Apr 10, 2008 4:27 am
by AIDA
GRACIAS
PERO NO ENTENDI NADA
QUE PENA
PERO GRACIAS
Re: HUY GRACIAS
Posted: Thu Apr 10, 2008 6:52 am
by andresreyes_mzt
AIDA wrote:GRACIAS
PERO NO ENTENDI NADA
QUE PENA
PERO GRACIAS
Hola,
Espero esto sea un poco mas ilustrativo, es un ejemplo funcional, ejecutalo, captura los datos, cierralo desde el administrador de tareas, y vuelve a ejecutar el programa .. y ahi estan los datos de nuevo
Code: Select all
STATIC hDatos
STATIC hCtrl
PROCEDURE Main()
LOCAL oDlg
LOCAL oTimer
DEFINE DIALOG oDlg ;
TITLE "Test Guardar Datos Automaticamente";
SIZE 300, 110 ;
PIXEL
ACTIVATE DIALOG oDlg CENTERED ;
ON INIT Dlg_Init( oDlg, @oTimer )
RELEASE TIMER oTimer
// Si al salir Normalmente del Programa existe el Archivo
// Donde Guardamos la Informacion de Emergencia ... Lo Eliminamos
IF File( "Salva.Dat")
FErase( "Salva.Dat" )
ENDIF
RETURN
PROCEDURE Dlg_Init( oDlg, oTimer )
DEFINE TIMER oTimer ;
INTERVAL 5000 ;
ACTION Guardar_Datos_Automaticamente() ;
OF oDlg
ACTIVATE TIMER oTimer
@ 020, 010 SAY "Nombre :";
PIXEL
@ 050, 010 SAY "Direccion :";
PIXEL
@ 080, 010 SAY "Telefono :";
PIXEL
IF File( "Salva.Dat" )
hDatos := Hb_DeSerialize( Memoread("Salva.dat") )
ELSE
hDatos := {=>}
hDatos["Nombre"] := SPACE(50)
hDatos["Direccion"] := SPACE(50)
hDatos["Telefono"] := SPACE(10)
ENDIF
hCtrl := {=>}
hCtrl["Nombre"] := Nil
hCtrl["Direccion"] := Nil
hCtrl["Telefono"] := Nil
@ 020, 070 GET hCtrl["Nombre"] VAR hDatos["Nombre"] ;
SIZE 220, 20 ;
PIXEL
@ 050, 070 GET hCtrl["Direccion"] VAR hDatos["Direccion"] ;
SIZE 220, 20 ;
PIXEL
@ 080, 070 GET hCtrl["Telefono"] VAR hDatos["Telefono"] ;
SIZE 60, 20 ;
PIXEL
RETURN
PROCEDURE Guardar_Datos_Automaticamente()
hCtrl["Nombre"]:Assign()
hCtrl["Direccion"]:Assign()
hCtrl["Telefono"]:Assign()
MemoWrit( "Salva.dat", Hb_Serialize( hDatos ) )
RETURN
Posted: Thu Apr 10, 2008 2:43 pm
by Patricio Avalos Aguirre
un poco de informaciĆ³n no esta de mas..
http://xharbour.wiki.mailxmail.com/hash
GRACIAS!!!!!!
Posted: Thu Apr 10, 2008 3:14 pm
by AIDA
OOOOH
SI YA ENTENDI MAS
ES COMO MAGIA
YA VI QUE HACE UN ARCHIVITO SALVA.DAT PERO CUANDO LO CIERRO DESDE EL ADMINISTRADOR DE TAREAS COMO ME DIJISTE TAMBIEN SE BORRA EL ARCHIVO
SALVA.DAT
PERO YA ABRI EL ARCHIVO DAT ANTES DE CERRAR EL PROGRAMITA Y SI ESTAN LOS DATOS VERE POR QUE SE BORRA EL ARCHIVITO.
MUCHAS GRACIAS QUE LINDO POR AYUDARME
TAMBIEN A PATRICIO MUCHAS GRACIAS
SALUDOS
AIDA
ya ya lo cerre bien con el admintrador y si si si se quedan los datos yuuuupi
muchas gracias!!!!
YA ME QUEDO MUY BIEN!!!!!!!!!!!!
Posted: Thu Apr 10, 2008 10:33 pm
by AIDA
YA IMPLEMENTE EL EJEMPLO QUE AMABLEMENTE ME DISTE Y QUEDO MUY BIEN EN MI PROGRAMA SI QUEDA TODO GUARDADO EN EL .DAT Y SE RECUPERA EN CUANTO EJECUTO EL PROGRAMA.
REALMENTE MUCHAS GRACIAS
HOY ES DIA DE SONRISA PARA MI
GRACIAS POR TODO Y SALUDITOS
AIDA