Top/マニュアル/文法/1.基礎設定
  トップページへ   [ 一覧 | 検索 | 最終更新 ]   [ 差分 | バックアップ | 凍結 ]

基礎設定

YAYAのデフォルトのDLLファイル名は「yaya.dll」です。
主ファイル名「yaya」は他の名前に自由に変更することができます。

文を動作させるためには「基礎設定ファイル」と呼ばれるファイルが必ず必要となります。
基礎設定ファイルのファイル名は「主ファイル名.txt」です。すなわちデフォルトでは「yaya.txt」となります。もしあなたがDLLのファイル名を 「hoge.dll」に変更したなら、基礎設定ファイルは「hoge.txt」です。 基礎設定ファイルはテキストファイルで、実行されるOSのデフォルトの文字コードで解読されます。
もし国際化に関して考慮しなければならないなら、マルチバイト文字コードに関する問題を回避するため、基礎設定ファイルはASCIIコードのみで記述するべきです。 以下に例を示します。

// dics
dic, basis.dic
dic, control./*doc*/ayc

// option parameters
charset, UTF-8
charset.dic, Shift_JIS
charset.output, UTF-8
charset.file, Shift_JIS
charset.save, UTF-8
charset.extension, Shift_JIS

msglang, english
log, executelog.txt
iolog, off
fncdepth, 16

設定はコマンドとパラメータをカンマで区切って指定します。
空行(改行のみの行)、"//"以降、および"/*"と"*/"で囲まれた領域はコメントと見なされます。 コマンドとその意味は以下の通りです。

読み込み時に辞書エラーが起きた際の挙動

バージョンTc555-1より、読み込み時に辞書エラーが起きた時は、まず緊急時用の基礎設定ファイルで再度読み込みを試します。

緊急時用の基礎設定ファイルのファイル名は「主ファイル名_emerg.txt」です。すなわちデフォルトでは「yaya_emerg.txt」となります。DLL名を変更した時の挙動も通常の基礎設定ファイルと同様です。

それでもエラーになった場合は、request関数から何も返さない(NULL)状態になります。

問題が起きた時のエラーログは マニュアル/関数/GETERRORLOG で取得できます。

設定項目

charset, name

標準の文字コードを設定します。
以下の予約値からいずれかを指定します。指定が無い場合はShift_JISとして扱われます。

  • Shift_JIS / ShiftJIS / SJIS
    シフトJISコード。
  • UTF-8
    UTF-8。
  • default
    実行OSのデフォルト文字コード。

charset.dic

charset.output

charset.file

charset.save

charset.save.old

charset.extension

それぞれ順に、

  • 辞書
  • requestでの入出力
  • ファイル入出力
  • グローバル変数セーブファイル入出力
  • 文字コード指定のない旧形式のセーブファイルの読み取り
  • 外部DLL(SAORI等)入出力

の文字コードを個別に設定します。

必ずcharset指定より後に書いてください。

dic, filename ( , charset )

辞書ファイルfilenameをロードします。
辞書ファイルは文スクリプトが記述されたプログラムソースファイルで、文はここのプログラムされた内容を元に動作します。
辞書ファイルはいくつでも指定し、読み込むことができます。 filenameはloadで指定されたパス位置からの相対パスで指定します。 標準の辞書ファイルはcharsetで指定した文字コードで記述されたプレーンテキストファイルです。この他に、一定の法則でスクランブルをかけた 暗号化ファイルを読み込むことができます。

ファイル名の後に、文字コードをカンマ区切りで追加すると、指定したファイルはその文字コードで読み込みます。

dicdir, dirname ( , charset )

指定したディレクトリ以下のすべてのファイルを辞書として読み込みます。

ディレクトリ指定であること以外はdic定義と同じです。

注意:ロードの順序は未定義です。

これはglobaldefineの一部のファイルでは有効ではない可能性があります:定義より先に使われるからです。

解决方法はglobaldefineの辞书を他の辞书より先に含んで、単回のdicdirで统一的にロードするのではありません。

(実装:Tc556-1)

msglang, language

ログに記録されるエラーメッセージ類の言語を選択します。
以下の予約値からいずれかを指定します。指定が無い場合はjapaneseとして扱われます。
(注意)本設定は過去互換のために残されています。次のmessagetxtを使ってください。

  • japanese
    日本語。
  • english
    英語。

messagetxt, filename ( , charset )

ログに記録されるエラーメッセージ類の言語ファイルを読み込みます。
通常のYAYA配布ファイル群では、messagetxtフォルダ以下に存在しますので、例えば下記のように書いてください。
charsetを省略した場合は、UTF-8(BOM付)になります。 [Tc557]

messagetxt,messagetxt/japanese.txt

basepath, directory

辞書等を読み込む基準点となるディレクトリを任意の場所に再設定します。
設定しない場合、通常はyaya.dllと同じディレクトリになります。 [Tc557]

include, filename

基礎設定ファイルの内容を別ファイルから読み込みます。
指定したファイルの中身も有効な基礎設定として扱われます。

includeEX, filename

includeと基本的には同じ処理ですが、filenameに指定したファイル名がディレクトリ名を含む文字列だった場合に、そのディレクトリ内にカレントディレクトリを一時的に切り替えてからinclude処理を行います。 [Tc559]

log, logfilename

実行ログをファイルlogfilenameに記録します。
charsetで指定した文字コードで書き込まれます。 logfilenameはloadで指定されたパス位置からの相対パスで指定します。

iolog, [on|off]

load、unload、request実行時の入出力文字列と処理時間をログに記録するかを設定します。
onで記録します。デフォルトではonになっていますので、不要の場合にoffとしてください。
off指定としても、玉にドラッグ&ドロップして起動する使い方をした場合は強制的にonになります。

ignoreiolog,[無視判定文字列]

requestの文字列中に指定した無視判定文字列が含まれていた場合、そのrequestのI/Oをログに記録しない(玉への出力もしない)ようにします。複数指定可能です。

例:OnSecondChangeOnMouse系のイベントを記録しない

ignoreiolog, ID: OnSecondChange //OnSecondChange無視
ignoreiolog, ID: OnMouse        //OnMouse系無視

(注意)基礎設定ファイルの書式上、無視判定文字列の前後の空白、およびコメント // 以降は無視されます。

fncdepth, depth

関数呼び出しの深さ上限を数値で指定します。
デフォルト値は32です。最低値は2で、これより小さな値や不正な値を指定した場合も2として扱われます。
0にすると上限チェックをしませんが、呼び出しが深すぎると容赦なくベースウェアごと落ちます。 [Tc556]

save.encode, [on|off]

セーブファイルを暗号化します。「暗号化」といってもたいしたものではありませんので、せいぜい多少わかりにくくする程度とお考えください。
一度onにするとセーブファイルを削除するまで暗号化されたままになります。設定を変える際は十分注意してください。

save.auto, [on|off]

セーブファイル自動保存機能をON/OFFします。ONの場合、一定時間ごとのバックアップと終了時の変数自動保存が行われます。OFFの場合は保存関数を明示的に呼ばない限り保存されません。標準はONです。