「Mery.iniのオプション値を取得」の版間の差分
細 →使い方 |
→GetIniOption2() 関数: 「次のセクションの開始位置」を修正 |
||
| 211行目: | 211行目: | ||
id1 = iniText.search( reg1 ); // セクションの開始位置 | id1 = iniText.search( reg1 ); // セクションの開始位置 | ||
if ( id1 != -1 ) { // セクション名が正しいか? | if ( id1 != -1 ) { // セクション名が正しいか? | ||
id2 = iniText.indexOf( "[", id1 + 1 ); // 次のセクションの開始位置 | id2 = iniText.indexOf( "\r\n[", id1 + 1 );// 次のセクションの開始位置 | ||
id2 = ( id2 > id1 ) ? id2 : iniLength; | id2 = ( id2 > id1 ) ? id2 : iniLength; | ||
id3 = iniText.indexOf( "\n" + key, id1 ); // キーの開始位置 | id3 = iniText.indexOf( "\n" + key, id1 ); // キーの開始位置 | ||
if ( id3 != -1 && id2 > id3 ) { // セクション内にキーがあるか? | if ( id3 != -1 && id2 > id3 ) { // セクション内にキーがあるか? | ||
id4 = iniText.indexOf( "\r\n", id3 ); // 検索項目の行末位置 | id4 = iniText.indexOf( "\r\n", id3 ); // 検索項目の行末位置 | ||
value = iniText.slice( id3 + key.length + 2, id4 ); | value = iniText.slice( id3 + key.length + 2, id4 ); // ("\n"+"=").length=2 | ||
iniOptionArray.push( [ section, key, value ] ); | iniOptionArray.push( [ section, key, value ] ); | ||
} | } | ||
| 257行目: | 257行目: | ||
<source lang="javascript"> | <source lang="javascript"> | ||
// ① セクション名とキー名をセットにした配列 [ [section1, key1], [section2, key2] ... ] | // ① セクション名とキー名をセットにした配列 [ [section1, key1], [section2, key2] ... ] | ||
// | // セクション名に「\」がある場合は、ふたつ重ね「\\」で記述すること | ||
var keyArray = new Array( | var keyArray = new Array( | ||
[ "General", "LineColumnView" ], | [ "General", "LineColumnView" ], // 0 or 1 | ||
[ "General", "FileFilter" ], | [ "General", "FileFilter" ], // "*.txt;*ini;*.htm; …" | ||
[ "General", "Untitled" ], | [ "General", "Untitled" ], // 「無題」の代替値 or "" | ||
[ " | [ "View", "FontName0" ], // フォント名(履歴) or "" | ||
[ " | [ "Macros\\Macro1", "FileName" ], // Macros\マクロ名.js or "" | ||
[ " | [ "Outline\\JavaScript", "Match1" ], // 文字列値 or 正規表現 or "..." | ||
[ "Themes\\Theme29", "Caption" ] | [ "Themes\\Theme29", "Caption" ], // テーマ名 or "" | ||
[ "Display", "FallbackFonts" ], // フォント名 or "" (~ver2.7.4 では undefined) | |||
// 無効な セクション名 や キー名 を指定した場合 | |||
[ "HOGE", "FUGA" ], // [undefined] FUGA = null | |||
[ "Themes", "PIYO" ] // [Themes] undefined = null | |||
); | ); | ||
// ② 関数の引数に配列をあたえて、変数 iniOption に代入する | // ② 関数の引数に配列をあたえて、変数 iniOption に代入する | ||
// | // 関数の戻り値も配列 [ [section1, key1, value1], [section2, key2, value2] ... ] | ||
// ※ value は文字列値(String)で返される(数字の場合も "1"、※ "1" !== 1 ) | // ※ value は文字列値(String)で返される(数字の場合も "1"、※ "1" !== 1 ) | ||
スポンサーリンク