goo

設定(INI)ファイルの使用

一覧リスト:HSP Ver2.61ブログ関連その他 ・・・ 人気blogランキング

設定(INI)ファイルの使用
設定ファイルにウィンドウのサイズやユーザー設定データなどを
読込、保存することができます。
また、「onexit」命令を使用することで、
プログラム終了前に処理が可能です。
保存ファイル例)
[window]
x=100
[player]
age=20
[ ]の部分をセクションと呼びその下の部分のキーに
保存したい値を保存します。
セクションはキーのタイトルみたいなものです。

◆設定ファイル使用例
  1. 「llmod.as」をインクルードする。
    (APIを使用するため)
  2. 「dllproc」命令を使って、
    「GetPrivateProfileStringA」「GetPrivateProfileIntA」関数で
    ファイルを読み込み、
    「WritePrivateProfileStringA」関数で
    ファイルを保存します。
◆機能
文字列をファイルから読み込みます。
dllproc "GetPrivateProfileStringA",prm,6,D_KERNEL
パラメータ 6
prm.0=セクション名(文字列のポインタ)
prm.1=キーの名前(文字列のポインタ)
prm.2=ファイルにキーが見つからなかった時の
    デフォルト文字列(文字列のポインタ)
prm.3=キーのデータを格納する変数(ポインタ)
prm.4=prm.3のサイズ
prm.5=読み込むファイル名(文字列のポインタ)

◆機能
数値をファイルから読み込みます。
dllproc "GetPrivateProfileIntA",prm,4,D_KERNEL
パラメータ 4
prm.0=セクション名(文字列のポインタ)
prm.1=キーの名前(文字列のポインタ)
prm.2=ファイルにキーが見つからなかった時の
    デフォルト数値
prm.3=読み込むファイル名
戻り値にキーの数値が入っています。

◆機能
文字列をファイルに保存します。
dllproc "WritePrivateProfileStringA",prm,4,D_KERNEL
パラメータ 4
prm.0=セクション名(文字列のポインタ)
prm.1=キーの名前(文字列のポインタ)
prm.2=保存したい文字列(文字列のポインタ)
prm.3=保存するファイル名(文字列のポインタ)
※数値を保存する関数はありません。

設定ファイルを使用したサンプル
※一度EXEファイルを作成してから実行してください。
また、そのフォルダにinitest.iniファイルが作成されます。
作成されるのは一度起動して終了してからです。
2回起動しないとダイアログは表示されません。
#include "llmod.as"
#define INIFILE exedir+"initest.ini"
    screen 0,160,25
    title "どちらですか?"
    objsize winx/2,25
    pos        0 , 0 : button "男性",*men
    pos winx/2 , 0 : button "女性",*women

    //INIファイルの読込
    sdim section,8
    sdim key,8
    sdim sex,8
    sdim filename,1024
    section="USER" : getptr prm.0,section
    key="sex" : getptr prm.1,key
    prm.2=0
    sex="" : getptr prm.3,sex
    prm.4=8
    filename=INIFILE : getptr prm.5,filename
    dllproc "GetPrivateProfileStringA",prm,6,D_KERNEL

    if sex!=""{
        dialog "あなたは"+sex+"ですね?"
    }
    //終了処理でINIファイルに保存します。
    onexit *endapli
stop

*men
sex="男性"
stop

*women
sex="女性"
stop

//終了処理
*endapli
    section="USER" : getptr prm.0,section
    key="sex" : getptr prm.1,key
    getptr prm.2,sex
    filename=INIFILE : getptr prm.3,filename
    dllproc "WritePrivateProfileStringA",prm,4,D_KERNEL
end
コメント ( 0 ) | Trackback ( 0 )
« テキスト検索... 圧縮ファイル... »
 
コメント
 
コメントはありません。
コメントを投稿する
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。