Résumé | |
Préfixe de l'interface | In |
Nombre de fonctions | 6 |
Description | Ensemble de fonctions permettant de manipuler des fichiers au format INI. Le nombre de fichiers INI pouvant être gérés sumultanément est de 3. |
Prototype | long cdecl InOpen(char *file) |
Paramètres | [IN] file : Nom du fichier INI |
Retour | Si >= 0 : un identifiant de fichier
INI Si < 0, il n'y a plus d'identifiant INI disponible (les 3 sont déjà utilisés) |
Description | Réserve un identifiant INI en vue d'opérations sur un fichier INI. Si le fichier file n'existe pas, un identifiant est tout de même renvoyé, le fichier devra ensuite être sauvé par la fonction InSaveAndClose. |
Remarques | |
Version VAPI | 1.02 ou supérieure |
Prototype | long cdecl InClose(long hini) |
Paramètres | [IN] hini : un identifiant de fichier INI précédemment renvoyé par InOpen |
Retour | 0 : Succès -1 : Identifiant invalide |
Description | Libère l'identifiant de fichier INI. Ne sauve pas les modifications, pour cela utiliser InSaveAndClose. |
Remarques | |
Version VAPI | 1.02 ou supérieure |
Prototype | long cdecl InSaveAndClose(long hini, char *new_name) |
Paramètres | [IN] hini : un
identifiant de fichier INI précédemment renvoyé par InOpen [IN] new_name : nouveau nom de sauvegarde. NULL si inchangé par rapport à l'appel à InOpen |
Retour | 0 : Succès -1 : Identifiant invalide ou sauvegarde impossible |
Description | Génère un fichier INI en validant définitivement toutes les modifications apportées depuis l'appel à InOpen |
Remarques | |
Version VAPI | 1.02 ou supérieure |
Prototype | long cdecl InGetKey(long hini, char *section, char *key, char *val_key) |
Paramètres | [IN] hini : un
identifiant de fichier INI précédemment renvoyé par InOpen [IN] section : nom de la section [IN] key : nom de la clé [OUT] val_key : buffer destiné à recevoir la valeur de la clé en ASCII |
Retour | 0 : Echec : la clé ou la section n'ont
pas été trouvées 1 : Succès, la valeur ASCII de la clé de cette section est présente dans val_key |
Description | Recherche une clé particulière dans une section particulière |
Remarques | |
Version VAPI | 1.02 ou supérieure |
Prototype | long cdecl InSetKey(long hini, char *section, char *key, char *val_key) |
Paramètres | [IN] hini : un
identifiant de fichier INI précédemment renvoyé par InOpen [IN] section : nom de la section [IN] key : nom de la clé [IN] val_key : buffer contenant la valeur de la clé en ASCII |
Retour | 0 : Echec : la clé ou la section n'ont
pas pu être crées ou modifiées par manque de mémoire 1 : Succès |
Description | Ajoute ou modifie une section et/ou une clé |
Remarques | Si la section ou la clé nexiste pas, elle est crée |
Version VAPI | 1.02 ou supérieure |
Prototype | long cdecl InGetOrSetKey(long hini, char *section, char *key, char *val_key) |
Paramètres | [IN] hini : un
identifiant de fichier INI précédemment renvoyé par InOpen [IN] section : nom de la section [IN] key : nom de la clé [IN/OUT] val_key : buffer contenant la valeur par défaut de la clé en ASCII ([IN]) et/ou la valeur lue de la clé ([OUT]) |
Retour | 0 : La clé a été relue avec succès 1 : La clé a du être créee. |
Description | Permet de retrouver la valeur d'une clé dans une section et, si cette clé ou cette section n'existe pas de la mettre en place avec une valeur par défaut. |
Remarques | Très pratique ! |
Version VAPI | 1.02 ou supérieure |
Exemple d'utilisation: retrouver une clé propriétaire dans un LDV
long hini, must_save ;
short angle = 90; /* Valeur par défaut */ char buffer[256] ; char *path_ldv, *language ; path_ldv = Vapi->CoGetLDVPath() ; /* Récupère le chemin courant des LDV */ language = Vapi->CoGetCurrentLanguage() ; /* Récupère la langue actuelle */ if ( path_ldv && language ) { sprintf( buffer, "%s\\%s\\MYLDV.INI", path_ldv, language ) ; hini = Vapi->InOpen( buffer ) ;
if ( hini >= 0 )
{
sprintf( buffer, "%d", angle ) ; /* Mise en place de la valeur par défaut */ must_save = Vapi->InGetOrSetKey( hini, "Parameters", "Angle", buffer ) ;
angle = atoi( buffer ) ; /* Soit angle vaudra 90 (valeur par défaut), soit la valeur donnée par le fichier INI */ if ( must_save ) Vapi->InSaveAndClose( hini ) ; /* Sauvegarde si la clé n'existait pas */ else Vapi->InClose( hini ) ; /* Fermeture normale sinon */ } }