Registro

Si deseas almacenar una pequeña cantidad de información entre cada ejecución del juego hay un mecanismo más simple que el emplear un archivo. Puedes usar el registro. El registro es una gran base de datos de Windows para mantener todo tipo de configuraciones para los programas. Una entrada tiene un nombre, y un valor. Puedes usar tanto cadenas como valores reales. Tenemos las siguientes funciones:

registry_write_string(name,str) Crea una entrada en el registro con el nombre name y como valor la cadena str.

registry_write_real(name,x) Crea una entrada en el registro con el nombre name y el valor real x.

registry_read_string(name) Devuelve la cadena almacenada con el nombre name. (El nombre debe existir, de otra forma se devuelve una cadena vacía).

registry_read_real(name) Devuelve el valor real almacenado en la entrada name. (El nombre debe existir, de otra forma se devuelve el número 0).

registry_exists(name) Indica si la entrada name existe.

 

En realidad, los valores en el registro están agrupados en claves. Las rutinas anteriores trabajan con valores dentro de la clave que está creada especialmente para tu juego. Tu programa puede usar esto para obtener cierta información sobre el sistema en el que se está ejecutando el juego. También puedes leer valores en otras claves. Puedes escribir valores en ellas pero ten mucho cuidado. PUEDES FÁCILMENTE DESTRUIR TU SISTEMA de esta forma. (La escritura no se permite en modo seguro). Nota que las claves también están colocadas en grupos. Las siguientes rutinas trabajan por defecto con

el grupo HKEY_CURRENT_USER. Pero si quieres puedes cambiar este grupo raíz de trabajo. Por ejemplo, para obtener el directorio temporal actual, usa:

 

 
  path = registry_read_string_ext('\Environment','TEMP'); 

 

Las siguientes funciones existen para moverte por el registro con libertad:

 

registry_write_string_ext(key,name,str) Crea una entrada en el registro dentro de la clave key con el nombre name y como valor la cadena str.

registry_write_real_ext(key,name,x) Crea una entrada en el registro dentro de la clave key con el nombre name y el valor real x.

registry_read_string_ext(key,name) Devuelve la cadena con el nombre name dentro de la clave key (el nombre debe existir, de otra forma se devuelve una cadena vacía).

registry_read_real_ext(key,name) Devuelve el valor real con el nombre name en la clave key (el nombre debe existir, de otra forma se devuelve el número 0).

registry_exists_ext(key,name) Indica si el nombre name existe dentro de la clave key.

registry_set_root(root) Configura la raíz para las otras rutinas. Usa los siguientes valores:

0 = HKEY_CURRENT_USER

1 = HKEY_LOCAL_MACHINE

2 = HKEY_CLASSES_ROOT

3 = HKEY_USERS