sample\basic\sample_envarg.hsp » Plain Format
;
; sample_envarg.hsp — 環境変数・コマンドライン引数サンプル
;
; 実行例:
; hsp3cl_net_64.exe sample_envarg.ax --name=太郎 --count 5 --verbose
;
#runtime "hsp3cl"
#cmpopt utf8 1
mes "===== 環境変数 ====="
; 環境変数の取得
s = getenv("USERNAME")
mes "ユーザー名: " + s
; デフォルト値付き
s = getenv("MY_APP_LANG", "ja")
mes "言語設定: " + s + " (未設定ならデフォルト ja)"
; 存在チェック
if hasenv("PATH") {
mes "PATH は設定されています"
}
; 設定 → 取得 → 削除
setenv "IRONHSP_DEMO", "Hello from HSP!"
mes "設定した値: " + getenv("IRONHSP_DEMO")
delenv "IRONHSP_DEMO"
mes "削除後: hasenv=" + hasenv("IRONHSP_DEMO")
mes ""
mes "===== コマンドライン引数 ====="
; 引数の数と一覧
n = getcmdargc()
mes "引数の数: " + n
repeat n
mes " argv(" + cnt + ") = " + getcmdarg(cnt)
loop
mes ""
; 名前付き引数 (--name=value / --name value)
name = getcmdargs("--name", "名無し")
mes "名前: " + name
; 整数引数
count = getcmdargi("--count", 1)
mes "カウント: " + count
; フラグ引数
if hascmdarg("--verbose") {
mes "詳細モード: ON"
} else {
mes "詳細モード: OFF"
}
mes ""
mes "===== 実用例: 設定の優先順位 ====="
mes "(コマンドライン > 環境変数 > デフォルト)"
; 環境変数をセット (本来は外部から設定される想定)
setenv "APP_PORT", "9090"
; コマンドライン → 環境変数 → デフォルト の優先順位で取得
port = getcmdargi("--port", 0)
if port = 0 {
s = getenv("APP_PORT", "8080")
port = int(s)
}
mes "使用ポート: " + port
delenv "APP_PORT"