User Tools

Site Tools


en:code:data:inifile

Differences

This shows you the differences between two versions of the page.


Previous revision
en:code:data:inifile [2023/10/14 17:20] (current) jmgr
Line 1: Line 1:
 +====== IniFile ======
 +This object allows you to read and write to a INI file.
  
 +===== Quick Use =====
 +Usable example:
 +<code javascript>
 +var myObject= new IniFile();
 +myObject.load("config.ini");
 +myObject.setSection("SomeSettingsSection");
 +if (myObject.keyExists("SomeKey")){
 + mytext = myObject.keyValue("SomeKey");
 + newtext = mytext + "Bar";
 + myObject.setKeyValue("SomeKey", newtext);
 +}else{
 + myObject.setKeyValue("SomeKey", "Foo" );
 + mytext = cfgini.keyValue("SomeKey");
 +}
 +myObject.save("config.ini");
 +</code>
 +Will result in value "Bar" being appended ever run, except first.  Defaults to "Foo" if Key is unset:
 +===== Functions =====
 +
 +==== IniFile ====
 +Constructor function.
 +
 +=== Syntax ===
 +<code javascript>
 +var myObject = new IniFile();
 +</code>
 +<code javascript>
 +var myObject = new IniFile(parameters);
 +</code>
 +
 +=== Arguments ===
 +  - parameters - (object) parameters
 +    * <del>delimiter - (char) the delimiter to use</del>
 +    * <del>commentchar - (char) the comment character</del>
 +    * encoding - ([[en:code:core:global#encoding|Encoding]]) the encoding to use
 +
 +=== Exceptions ===
 +  * (ParameterTypeError) incorrect parameter type
 +  * (ParameterCountError) incorrect parameter count
 +
 +=== Example ===
 +Create a IniFile object.
 +<code javascript>
 +var myObject = new IniFile();
 +</code>
 +Create a IniFile object with parameters.
 +<code javascript>
 +var myObject = new IniFile({
 + delimiter: "=",
 + commentCharacter: "$"
 +});
 +</code>
 +
 +===== Methods =====
 +
 +==== load ====
 +Loads a file.
 +
 +=== Syntax ===
 +<code javascript>
 +myObject.load(filename);
 +</code>
 +
 +=== Arguments ===
 +  - filename - (string) the filename of the file to open
 +
 +=== Returns ===
 +  * (IniFile) this IniFile
 +
 +=== Exceptions ===
 +  * (LoadFileError) cannot load the file
 +
 +==== save ====
 +Saves a file.
 +
 +=== Syntax ===
 +<code javascript>
 +myObject.save(filename);
 +</code>
 +
 +=== Arguments ===
 +  - filename - (string) the filename of the file to save
 +
 +=== Returns ===
 +  * (IniFile) this IniFile
 +
 +=== Exceptions ===
 +  * (SaveFileError) cannot save the file
 +
 +==== clear ====
 +Clear the file.
 +
 +=== Syntax ===
 +<code javascript>
 +myObject.clear();
 +</code>
 +
 +=== Returns ===
 +  * (IniFile) this IniFile
 +
 +==== preserveDeletedData ====
 +Preserve the deleted data as comments.
 +
 +=== Syntax ===
 +<code javascript>
 +myObject.preserveDeletedData(preserve);
 +</code>
 +
 +=== Arguments ===
 +  - preserve - (boolean) should the deleted data preserved as comments
 +
 +=== Returns ===
 +  * (IniFile) this IniFile
 +
 +==== setDelimiter ====
 +Set the value/data delimiter. Default is =.
 +
 +=== Syntax ===
 +<code javascript>
 +myObject.setDelimiter(delimiter);
 +</code>
 +
 +=== Arguments ===
 +  - delimiter - (char) the delimiter to use
 +
 +=== Returns ===
 +  * (IniFile) this IniFile
 +
 +==== setCommentCharacter ====
 +Set the comment character. Default is #.
 +
 +=== Syntax ===
 +<code javascript>
 +myObject.setCommentCharacter(commentchar);
 +</code>
 +
 +=== Arguments ===
 +  - commentchar - (char) the comment character
 +
 +=== Returns ===
 +  * (IniFile) this IniFile
 +
 +==== setSection ====
 +Sets the current INI section.
 +
 +=== Syntax ===
 +<code javascript>
 +myObject.setSection(sectionName);
 +</code>
 +<code javascript>
 +myObject.setSection(sectionName, create);
 +</code>
 +
 +=== Arguments ===
 +  - sectionName - (string) the section name
 +  - create - (boolean) create the section if it doesn't exists (default: true)
 +
 +=== Returns ===
 +  * (IniFile) this IniFile
 +
 +=== Exceptions ===
 +  * (FindSectionError) cannot find the section
 +
 +==== setEncoding ====
 +Sets the encoding to use.
 +
 +=== Syntax ===
 +<code javascript>
 +myObject.setEncoding(encoding);
 +</code>
 +
 +=== Arguments ===
 +  - encoding - ([[en:code:core:global#encoding|Encoding]]) the encoding to use
 +
 +=== Returns ===
 +  * (IniFile) this IniFile
 +
 +==== sectionAt ====
 +Returns the section name at index **sectionIndex**.
 +
 +=== Syntax ===
 +<code javascript>
 +myObject.sectionAt(sectionIndex);
 +</code>
 +
 +=== Arguments ===
 +  - sectionIndex - (integer) the section index
 +
 +=== Returns ===
 +  * (string) the section name
 +
 +=== Exceptions ===
 +  * (FindSectionError) cannot find the section
 +
 +==== deleteSection ====
 +Deletes a section.
 +
 +=== Syntax ===
 +<code javascript>
 +myObject.deleteSection(sectionName);
 +</code>
 +
 +=== Arguments ===
 +  - sectionName - (string) the section name
 +
 +=== Returns ===
 +  * (IniFile) this IniFile
 +
 +=== Exceptions ===
 +  * (FindSectionError) cannot find the section
 +
 +==== sectionCount ====
 +Returns the number of sections.
 +
 +=== Syntax ===
 +<code javascript>
 +myObject.sectionCount();
 +</code>
 +
 +=== Returns ===
 +  * (integer) the section count
 +
 +==== keyExists ====
 +Returns true if a key with **keyName** exists.
 +
 +=== Syntax ===
 +<code javascript>
 +myObject.keyExists(keyName);
 +</code>
 +
 +=== Arguments ===
 +  - keyName - (string) the key name
 +
 +=== Returns ===
 +  * (boolean) true if a key with **keyName** exists
 +
 +==== keyAt ====
 +Returns the name of the key at index **keyIndex**.
 +
 +=== Syntax ===
 +<code javascript>
 +myObject.keyAt(keyIndex);
 +</code>
 +
 +=== Arguments ===
 +  - keyIndex - (integer) the key index
 +
 +=== Returns ===
 +  * (string) the key name
 +
 +=== Exceptions ===
 +  * (KeyError) cannot find the key
 +
 +==== keyValue ====
 +Returns the value of the key **keyName**.
 +
 +=== Syntax ===
 +<code javascript>
 +myObject.keyValue(keyName);
 +</code>
 +
 +=== Arguments ===
 +  - keyName - (string) the key name
 +
 +=== Returns ===
 +  * (string) the key value
 +
 +=== Exceptions ===
 +  * (KeyError) cannot find the key
 +==== setKeyValue ====
 +Sets the value of the key **keyName**.
 +
 +=== Syntax ===
 +<code javascript>
 +myObject.setKeyValue(keyName, value);
 +</code>
 +
 +=== Arguments ===
 +  - keyName - (string) the key name
 +  - value - (string) the key value
 +
 +=== Returns ===
 +  * (IniFile) this IniFile
 +
 +==== deleteKey ====
 +Delete the key **keyName**.
 +
 +=== Syntax ===
 +<code javascript>
 +myObject.deleteKey(keyName);
 +</code>
 +
 +=== Arguments ===
 +  - keyName - (string) the key name
 +
 +=== Returns ===
 +  * (IniFile) this IniFile
 +
 +=== Exceptions ===
 +  * (KeyError) cannot find the key
 +
 +==== keyCount ====
 +Returns the key count.
 +
 +=== Syntax ===
 +<code javascript>
 +myObject.keyCount();
 +</code>
 +
 +=== Returns ===
 +  * (integer) the key count