起動パラメータの扱いは面倒ですので、私はモジュール化してます。
;===============================================================
; 起動パラメータ解析モジュール
;===============================================================
#module "_wf_commandpath"
;---------------------------------------------------------------
; 起動パラメータ解析
; 使用例 : dialog ""+wf_commandpath(dir_cmdline)+"\n"+stat
;---------------------------------------------------------------
#defcfunc wf_commandpath str aa ; 新関数「wf_commandpath」を生成
mref stt,64
a="": a=aa
;dialog ""+strlen(a)+"\n"+a
p=0 : b="" : c=0 : drm=""
repeat
if p >= strlen(a) : break
if instr(a,p," ") == 0 {
; 開始が" "なら
p++
}else{
if instr(a,p,"\"") == 0 {
; 開始が"\""なら
b+=drm+strmid(a,p,instr(a,p+1,"\"")+1+1)
P+=instr(a,p+1,"\"")+1+1 : drm="\n" : c++
;dialog "\":"+strlen(b)+"\n"+b+"\n"+p
}else{
; 開始が" "でも"\""でもなれけば
if instr(a,p+1," ") != -1 {
b+=drm+strmid(a,p,instr(a,p+1," ")+1)
P+=instr(a,p+1," ")+1 : drm="\n" : c++
;dialog "1:"+strlen(b)+"\n"+b+"\n"+p
}else{
b+=drm+strmid(a,p,strlen(a)-p) : c++
p=strlen(a)
;dialog "2:"+strlen(b)+"\n"+b+"\n"+p
}
}
}
wait 1
loop
stt=c
return b
#global