WRITEINIライトイニ関数

本ページには広告が含まれています。

INIファイルに値を書き込みます。指定したパスにINIファイルがない場合自動的に作成されます。INIファイルは大抵設定を読み込むプログラムと同じディレクトリに配置し、違うディレクトリに配置する場合は第四引数にパスを指定します。INIファイルを読み込むにはREADINI関数を使います。

構文
  1. void = WRITEINI( セクション, キー, 値, INIファイル名 )
引数
セクション (String)必須
セクション名
キー (String)必須
キー名
値 (Integer)必須
書き込む値
INIファイル名 (String = スクリプト名.INI)省略可
デフォルト(省略時)では、カレントディレクトリにスクリプト名.INI
戻り値

使い方

SETセクションのlangキーにjaを設定します。

UWSC
WRITEINI("SET", "lang", "ja")
結果
INI
[SET]
lang=ja

すでに存在するセクションのキー名を指定した場合、よりあとに書いたもので上書きされます。

UWSC
WRITEINI("SET", "lang", "ja")
WRITEINI("SET", "lang", "en")
結果
INI
[SET]
lang=en

パスを省略した場合、カレントディレクトリに実行したUWSファイル名で保存されます。UWSC Debuggerで未保存のスクリプトの場合、C:\Users\username\AppData\Roaming\UWSC\.INIというパス名で保存されます。

プログラム実行例

UWSCの実行日時をINIファイルに書き込み・読み込み

UWSC
DIM section = "設定"
DIM key = "datetime"
DIM filename = "設定.INI"

DIM datetime = READINI(section , key, filename)
WRITEINI(section, key, text(now(), "yyyy/mm/dd hh:nn:ss", filename))

PRINT "■前回の実行日時"
PRINT datetime
結果
プレーンテキスト
■前回の実行日時
2022/03/07 02:09:07
使用関数

UWSC.INIのDefaultFontを変更する

UWSC
CONST ssfFONTS = 20

DIM Shell = CREATEOLEOBJ("Shell.Application")
DIM Folder = Shell.NameSpace(ssfFONTS)
DIM FolderItems = Folder.Items
DIM array[-1]

FOR FolderItem IN FolderItems
	arrayPush(array, FolderItem.Name)
NEXT

QSORT(array, QSRT_UNICODEA)
SHIFTARRAY(array, 1)
array[0] = "(なし)"

DIM filename = "C:\Users\" + BETWEENSTR(DOSCMD("SET"), "USERNAME=", "<#CR>") + "\AppData\Roaming\UWSC\UWSC.INI"
DIM str = SPLIT(READINI("SET", "DefaultFont", filename), ",")[0]
DIM font = SLCTBOX(SLCT_CMB OR SLCT_STR, 0, "フォントを選択してください。(現在:" + str + ")", array)

IF font = "(なし)" THEN font = ""
IF font <> -1 THEN WRITEINI("SET", "DefaultFont", font + ",", filename)
使用関数

関連記事

DELETEINI関数 (スクリプト関数)
READINI関数 (スクリプト関数)
READINI関数はINIファイルから値を読み込みます。値を書き込むにはWRITEINI関数を使います。
INI関数 (自作関数)
INIファイル の読み書きを行います。