2020年12月25日投稿 / 投稿者 : りょうTanpo / タグ : 投稿プログラム ツール ライブラリ セーブデータ
グローバル変数の値をファイルに保存して、あとから復元できるライブラリです。デフォルト値・整数・実数・文字列およびそれらの配列あらゆる型に対応しています。
似たようなライブラリがプチコン3号にあった気がしますね。
サンプルがなかったので取り急ぎ FMPETIT のデータ保存可能バージョンをいれました。使い方は多分それでわかるかと。
適当なスロットにロードします。
- EXEC ”UFiler.prg”,1
保存するグローバル変数を定義します。定義にはふたつの方法があります。ひとつは DATA を使用する方法、もうひとつは文字列配列を使用する方法です。DATA にリストを記述する場合は、先頭にラベルを書いておき、リストの最後には目印として空文字列を追加します。
リストには変数の型にかかわらず変数名のみを記述します。
- dim updated$=date$()+” ”+time$()
- dim highscore=300
- dim score=0
- ’方法1
- @Globals
- data ”updated$”,”highscore”,”score”,””
- ’方法2
- dim globals$[]=[”updated$”,”highscore”,”score”]
UF_DumpGlobals 関数を呼び出して、その戻り値を数値配列としてファイルに保存します。
このとき DATA でリストを作成した場合はその先頭のラベルを、文字列配列としてリストを作成した場合はその変数を、UF_DumpGlobals の引数として渡します。
- ’方法1
- savev ”DAT:TEST.DAT”,UF_DumpGlobals(@Globals)
- ’方法2
- savev ”DAT:TEST.DAT”,UF_DumpGlobals(globals)
ファイルから読み込んだものを、UF_RestoreGlobals の引数に渡します。ファイルにはグローバル変数のリストも一緒に保存されているため、ロードには必要ありません。
この 1 行でグローバル変数に値がセットされます。
- UF_RestoreGlobals loadv(”DAT:TEST.DAT”)
保存されているグローバル変数のリストを取得するには UF_GetGlobals を使います。なお、保存されているのに宣言されていないグローバル変数があるとエラーになってしまいます。
- dim globals=UF_GetGlobals(loadv(”DAT:TEST.DAT”))
この作品に対するコメントがあればどうぞ!