|  | Documentation VISION (VAPI) |  | Dernière mise à jour : 19/05/18
Télécharger la doc | INI INTERFACE |

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

Prototype | long cdecl InGetKeyFromFile(char *file, char *section, char *key, char *val_key)
Paramètres | [IN] file : Nom du fichier INI [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é n'a pu être retrouvée (fichier/section/clé inexistant) 1 : La clé a été relue avec succès.
Description | Permet de retrouver la valeur d'une clé dans une section directement sans crérer la clé comme dans la fonction précédente (pratique pour juste relire une valeur ponctuellement)
Remarques | Très pratique !
Version VAPI | 1.04 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 */
      }
    }

|  | Documentation VISION (VAPI) |  | Dernière mise à jour : 19/05/18
Télécharger la doc | INI INTERFACE |