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 :shock: .

SALUDOS

AIDA :wink:

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 :shock: .

SALUDOS

SANDRA :wink:
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 :shock:

QUE PENA :oops:

PERO GRACIAS :D

Re: HUY GRACIAS

Posted: Thu Apr 10, 2008 6:52 am
by andresreyes_mzt
AIDA wrote:GRACIAS


PERO NO ENTENDI NADA :shock:

QUE PENA :oops:

PERO GRACIAS :D
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 :shock: SI YA ENTENDI MAS

ES COMO MAGIA :D 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 :shock: 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 :D

TAMBIEN A PATRICIO MUCHAS GRACIAS :D

SALUDOS

AIDA :wink:

ya ya lo cerre bien con el admintrador y si si si se quedan los datos yuuuupi :D muchas gracias!!!! :wink:

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



GRACIAS POR TODO Y SALUDITOS

AIDA :wink: