/** * Unicode language translator ((UTF-8)) * version 0.1 by Pyae Phyoe Shein * version 1.0 by Adam Cameron - code tidy & return a value rather than output it. Added support for sections, as per getProfileString(). Make function usage analogous to getProfileString() * * @param iniPath Full path to ini file to parse. (Required) * @param section Section of the ini file to parse. (Optional) * @param entry Entry within that section to return value of. (Optional) * @return Returns the value of the entry if found, otherwise an empty string * @author Pyae Phyoe Shein (pyaephyoeshein@gmail.com) * @version 1.0, July 24, 2012 */ function getProfileStringUTF8(iniPath, section, entry) { var iniFile = ""; var line = ""; var inSection = false; section = "[#section#]"; try { iniFile = fileOpen(iniPath, "read", "UTF-8"); line = ""; // scan the file for the section while (!fileIsEOF(iniFile)) { line = FileReadLine(iniFile); // keep track if we've found the correct section if (line == section){ inSection = true; continue; } // if we're in the correct section and we find a match, we're done: return its value if (inSection && listFirst(line, "=") == entry){ return listRest(line, "="); } // if we get to another section, then we didn't find the match: exit if (inSection && reFind("^\s*\[[^\]]+\]", line)){ return ""; } } } catch (any e){ rethrow; } finally { fileClose(iniFile); } // we got to the end of the file and didn't find it return ""; }