Tem no xHarbour, última atualização:
HB_ReadIni()
Reads an INI file from disk
Syntax
HB_ReadIni( <cFileName> , ;
[<lCaseSens>] , ;
[<cDelimiter>], ;
[<lAutoMain>] ) --> hIniData
Arguments
<cFileName>
This is a character string holding the name of the INI file to open. It must include path and file extension. If the path is omitted from <cFileName>, the file is searched in the current directory.
<lCaseSens>
This parameter defaults to .T. (true) causing the function to return a case sensitive Hash(). When set to .F. (false), the returned hash is case insensitive.
<cDelimiter>
This is a character string holding the delimiter(s) recognized as separating character between key and value within the INI file. Bydefault, the characters ":", "=" and "|" are recognized.
<lAutoMain>
This parameter defaults to .T. (true) so that a [MAIN] section is automatically added to the resulting hash. All key/value pairs appearing at the beginning of the INI file outside a [section] are assigned to the hash key "MAIN". Return
The function returns two dimensional hash holding sections and key/value pairs of each section inthe INI file. When the file does not exist, the return value is NIL.
Description
Function HB_ReadIni() reads an INI file and loads the data into a two dimensional Hash, which is returned. INI files are commonly used for configuration data of applications. They are comfortable to use since they can be created and/or changed with a regular ASCII editor.
Código: Selecionar todos
// The example uses the INI file discussed in the function
// description and creates from it a case sensitive Hash.
// The key values of different sections are displayed.
PROCEDURE Main
LOCAL hIniData := HB_ReadIni( "test.ini" )
? Valtype( hIniData["MAIN"] ) // result: H
? Valtype( hIniData["SECTION1"] ) // result: H
? hIniData["MAIN"]["mainKey2"] // result: mainvalue2
? hIniData["SECTION1"]["sectionKey1"] // result: valueA
? hIniData["SECTION1"]["sectionKey2"] // result: valueB
? hIniData["SECTION2"]["sectionKey1"] // result: valueC
? hIniData["SECTION2"]["sectionKey2"] // result: valueD
RETURN