void load( char * nombre_archivo, int * dato)


Descripción:

Carga un bloque de datos de un archivo en el disco a la memoria del programa.

Para ello la función requiere el nombre del archivo y el desplazamiento dentro de la memoria del ordenador de la variable, tabla o estructura guardada en el disco.

Se debe especificar el desplazamiento del mismo dato que se especificó al guardar el archivo con la función save().

Los nombres de archivo se pueden dar especificando una ruta de acceso, que debe ser la misma que la utilizada con la función save() para guardar el archivo. No obstante no es necesario especificar una ruta.

Es importante que el archivo que se pretende cargar se haya creado anteriormente, pues se producirá un error si se intenta cargar un archivo que no existe (si bien éste puede ser ignorado y continuar la ejecución del programa).


MAIN_PROGRAM_CDIV

PRIVATE
 int tabla[9],
     contador;

BEGIN_PROGRAM

 set_gfx(GFX_AUTODETECT_WINDOWED);
 set_mode(m320x200);

 write (0, 0, 0, 0, "Pulse [ENTER] para borrar los datos.");
 write (0, 0, 10, 0, "Pulse [ESPACIO] para cargar los datos del disco");
 write (0, 0, 30, 0, "Valores actuales de los datos:");

 for( contador = 0; contador < 9; contador++){
  tabla[contador] = rand(0, 100);
  write_int(0, 0, 40 + (contador * 10), 0, OFFSET tabla[contador]);
 }

 save("../help.dat", tabla, sizeof(tabla));

 LOOP{
        if (key(_enter)){
            for( contador = 0; contador < 9; contador++)
                tabla[ contador ]=0;
        }
        if (key(_space)){
            load("../help.dat", tabla); // Se cargan los datos del disco
        }
        FRAME;
 }

END_PROGRAM

Al inicio del ejemplo se crea una tabla de 10 posiciones (del 0 al 9) con valores aleatorios. Esta tabla se graba en el disco con la función save().

Cuando se pulsa la tecla ENTER se borran los valores de la tabla (se ponen a 0 las 10 posiciones).

Cuando se pulsa la barra espaciadora se cargan los valores de la tabla del disco con la función load().


Ver: save() - sizeof()