Se vuoi memorizzare una piccola quantità di informazioni tra diverse esecuzioni del gioco c’è un meccanismo più semplice che usare un file.
Puoi usare il registro di sistema.
Si tratta di un grande database che Windows mantiene per tenere traccia di tutte le impostazioni per i programmi.
Una voce ha un nome e un valore.
Puoi utilizzare sia valori stringa che reali.
Esistono le seguenti funzioni:
registry_write_string() | name str |
Crea una voce nel registro con il nome e il valore stringa dati. |
registry_write_real() | name x |
Crea una voce nel registro con il nome e il valore reale dati. |
registry_read_string() | name | Restituisce la stringa che che corrisponde al nome dato. Il nome deve esistere , altrimenti viene restituita una stringa vuota. |
registry_read_real() | name | Restituisce il valore reale che che corrisponde al nome dato. Il nome deve esistere , altrimenti viene restituito il valore 0. |
registry_exists() | name | Restituisce se il nome dato esiste. |
Actually, values in the registry are grouped into keys.
The above routines all work on values within the key that is especially created for your game.
Your program can use this to obtain certain information about the system the game is running on.
You can also read values in other keys.
You can write them also but be very careful.
YOU CAN EASILY DESTROY YOUR SYSTEM this way.
(Write is not allowed in secure mode.)
Note that keys are again placed in groups.
The following routines default work on the group HKEY_CURRENT_USER. But you can change the root group.
So, for example, if you want to find out the current temp dir, use
path = registry_read_string_ext('\Environment','TEMP');
Esistono le funzioni seguenti:
registry_write_string_ext() | key name str |
Creates an entry in the key in the registry with the given name and string value. |
registry_write_real_ext() | key name x |
Creates an entry in the key in the registry with the given name and real value. |
registry_read_string_ext() | key name |
Returns the string that the given name in the indicated key holds. (The name must exist. Otherwise an empty string is returned.) |
registry_read_real_ext() | key name |
Returns the real value that the given name in the indicated key holds. (The name must exist. Otherwise the number 0 is returned.) |
registry_exists_ext() | key name |
Returns whether the given name exists in the given key. |
registry_set_root() | root | Sets the root for the other routines. Utilizza i valori seguenti: 0 = HKEY_CURRENT_USER 1 = HKEY_LOCAL_MACHINE 2 = HKEY_CLASSES_ROOT 3 = HKEY_USERS |