Abstract | |
Interface Prefix | In |
Number of functions | 6 |
Description | Set of functions to manipulate INI files. A maximum of 3 INI files can be simulataneously managed. |
Prototype | long cdecl InOpen(char *file) |
Parameters | [IN] file : INI file name |
Return | If >= 0 : a INI handle If < 0, No more INI handle available |
Description | Reserve a INI handle to operate later on. If file does not exist, a valid handle is returned, file can then be saved by calling InSaveAndClose. |
Comments | |
VAPI Version | 1.02 or greater |
Prototype | long cdecl InClose(long hini) |
Parameters | [IN] hini : A INI handle previously returned by InOpen |
Return | 0 : Success -1 : Invalid handle |
Description | Free INI handle. Does not save modifications, use InSaveAndClose to save them. |
Comments | |
VAPI Version | 1.02 or greater |
Prototype | long cdecl InSaveAndClose(long hini, char *new_name) |
Parameters | [IN] hini : A INI handle previously returned by InOpen [IN] new_name : new filename to use for saving. If NULL, this function will use the one passed to InOpen |
Return | 0 : Success -1 : Invalid handle, won't save. |
Description | Generate a INI file by commiting all modifications made since last call to InOpen |
Comments | |
VAPI Version | 1.02 or greater |
Prototype | long cdecl InGetKey(long hini, char *section, char *key, char *val_key) |
Parameters | [IN] hini : A INI handle previously returned by InOpen [IN] section : section name [IN] key : key name [OUT] val_key : buffer which will hold the key value in ASCII |
Return | 0 : Error : key or section does not exist 1 : Success, ASCII value for this key in the section is hold in val_key |
Description | Retrieves a specific key in a specific section |
Comments | |
VAPI Version | 1.02 or greater |
Prototype | long cdecl InSetKey(long hini, char *section, char *key, char *val_key) |
Parameters | [IN] hini : A INI handle previously returned by InOpen [IN] section : section name [IN] key : key name [OUT] val_key : buffer which holds the key value in ASCII |
Return | 0 : Error : key or section could not be created or changed due to insufficient memory 1 : Success |
Description | Adds or modify a key within a section |
Comments | If section r key does not exist, it is created |
VAPI Version | 1.02 or greater |
Prototype | long cdecl InGetOrSetKey(long hini, char *section, char *key, char *val_key) |
Parameters | [IN] hini : A INI handle previously returned by InOpen [IN] section : section name [IN] key : key name [IN/OUT] val_key : buffer holding the default key value in ASCII [IN] or/and the key value [OUT] |
Return | 0 : Key has been sucessfully retrieved 1 : Key has been created. |
Description | Used to retrieve an existing key in a given section or create it with a default value. |
Comments | Pretty useful! |
VAPI Version | 1.02 or greater |
Example: find a proprietary key in a LDV INI file
long hini, must_save ;
short angle = 90; /* Default value */ char buffer[256] ; char *path_ldv, *language ; path_ldv = Vapi->CoGetLDVPath() ; /* Get LDV current path */ language = Vapi->CoGetCurrentLanguage() ; /* Get current language */ if ( path_ldv && language ) { sprintf( buffer, "%s\\%s\\MYLDV.INI", path_ldv, language ) ; hini = Vapi->InOpen( buffer ) ;
if ( hini >= 0 )
{
sprintf( buffer, "%d", angle ) ; /* Setting default value */ must_save = Vapi->InGetOrSetKey( hini, "Parameters", "Angle", buffer ) ;
angle = atoi( buffer ) ; /* Either angle will be set to 90 (default value), or value retrieved from INI file */ if ( must_save ) Vapi->InSaveAndClose( hini ) ; /* Save if key did not exist */ else Vapi->InClose( hini ) ; /* Else regular close */ } }