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
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