検索
AND検索
OR検索
トップ
|
リロード
|
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
NO_494 をテンプレートにして作成
メニュー
簡易掲示板
LINK集
y.tackの公式BBSブックマーク
practice room
?
最新の20件
2022-10-09
多角形の内外判定
2021-05-19
RecentDeleted
2018-08-01
FrontPage
文字列型変数管理サブルーチン
GAME作成システム
2018-07-31
double型変数管理サブルーチン
int型変数管理サブルーチン
2018-07-21
GUIとメイン分割処理。たたき台2
2018-07-11
memo
NO_579_sample
GUIとメイン分割処理。たたき台
2018-06-28
NO_714
NO_712
NO_706
NO_705
NO_704
NO_703
NO_702
2018-06-23
Shift_JIS
モートン番号テーブル化 / 八分木
total
0
today
0
yesterday
0
now
1
Menu
Total:0/Today:0
開始行:
[[簡単言語]]
**NO_494 [#tcaf4550]
~
かたまりの前にマクロのラベルを定義して~
ラベル配列に格納しました
#module mod_label i_name,i_ID,i_l_value
#modinit str p_name,int p_ID,int p_l_value
i_name=p_name
i_ID=p_ID
i_l_value=p_l_value
o_num++
return
#deffunc local first_set
fv_ID=0
o_num=0
return
#modcfunc local get_i_name
return i_name
#modcfunc local get_i_ID
return i_ID
#modcfunc local get_i_l_value
return i_l_value
#deffunc local x_label_init str _p_name,int _p_l_value
newmod o_label,mod_label,_p_name,fv_ID,_p_l_value
fv_ID++
return fv_ID-1
#defcfunc local get_x_label_l_value str __p_name,int __p...
r_name=get_i_name@mod_label(o_label.__p_ID)
if r_name!=__p_name:return -1
return get_i_l_value@mod_label(o_label.__p_ID)
#global
first_set@mod_label
#module mod_free_label i_name,i_ID,i_l_value
#modinit str p_name,int p_ID,int p_l_value
i_name=p_name
i_ID=p_ID
i_l_value=p_l_value
o_num++
return
#deffunc local first_set int p_dim_length
dim many_id_dim,p_dim_length
fv_ID=0
o_num=0
return
#modcfunc local get_i_name
return i_name
#modcfunc local get_i_ID
return i_ID
#modcfunc local get_i_l_value
return i_l_value
#modcfunc local get_i_dim_length
return length(i_dim)
#deffunc local x_label_init str _p_name,int _p_l_value,i...
many_id_dim.p_index=fv_ID
newmod o_label,mod_free_label,_p_name,fv_ID,_p_l_value
fv_ID++
return fv_ID-1
#defcfunc local get_x_label_l_value str __p_name,int p_i...
;__p_IDを使わなくして、p_indexを使うようになった
r_index=many_id_dim.p_index
r_name=get_i_name@mod_free_label(o_label.r_index)
if r_name!=__p_name:return -1
return get_i_l_value@mod_free_label(o_label.r_index)
#deffunc local dump
repeat o_num
logmes "name "+cnt+":"+get_i_name@mod_free_label(o_labe...
logmes "ID "+cnt+":"+get_i_ID@mod_free_label(o_label.cnt)
logmes "value "+cnt+":"+get_i_l_value@mod_free_label(o_...
loop
return
#global
first_set@mod_free_label 256
dim pc_stack,1000
n_pc_stack=0
hoge_pc=1
dim num_stack,1000
repeat length(num_stack)
num_stack.cnt=-1
loop
ldim label_stack,100
label_stack_index=0
// line search のみ有効
flag_on_do=0
flag_on_line_search=1
flag_on_label_search=0
#define ctype l_avoid(%1) goto *l_a_%1
#define ctype catch_l_avoid(%1)*l_a_%1
#define ctype l_def(%1)*l_def_%1
#define ctype l_def_go(%1) *l_def_%1
;goto *l_def_A
;goto l_def(A)
;l_def(E):
;*l_def_B
;x_label_init 1,"a",1 ;0
;x_label_init 0,"aa1",11 ;1
;x_label_init 0,"ab1",13 ;2
;x_label_init 0,"ax1a",15 ;3
dim one_code,1000
x=0
f_stop=0
// ボタンによって選択される選択肢のID
selected_btnext="a"
#enum nop=0
#enum en_get_my_label
#enum en_get_my_free_label
#enum en_button_A
#enum en_button_B
#enum en_button_C
#enum en_button_D
#enum en_button_E
#enum en_button_F
#enum en_cls0
#enum en_objsize
#enum en_pos
#enum en_mes
#enum en_stop
#enum en_goto
#enum en_calc
#define mac_def %ttype_ll *%i
#define mac_print %ttype_ll *%p
#define mac_set_print %ttype_ll *%o
#define mac_call %ttype_ll *%o
my_pc=1
my_pc_B=1
flag_on_l_search=1
goto *@f
*search_l_end
flag_on_l_search=0
goto *sw_begin
*@
flag_on_line_search=1
if 0{
*count_b
flag_on_line_search=0
flag_on_label_search=1
flag_on_do=0
label_pc=1
}
if 0{
*count_c
flag_on_line_search=0
flag_on_label_search=0
flag_on_do=1
cmd_pc=1
dump@mod_free_label
repeat 32
logmes ""+cnt+":"+many_id_dim@mod_free_label.cnt
loop
}
if 0{
*line_flag
if flag_on_line_search==1{
pc_stack.hoge_pc=my_line:hoge_pc++
}
return
#define line_flag_and_ldim_set :\
if flag_on_line_search==1{ pc_stack.hoge_pc=my_line:ho...
label_stack.label_stack_index=mac_set_print:\
label_stack_index++:\
}
*null_label_flag_chk
if flag_on_label_search==1{
if label_pc==num_stack.my_line{
if my_pc_B==1{my_pc_B=1:label_pc++:goto *sw_begin }
}
}
return
#define mac_null_label_flag_chk:\
if flag_on_label_search==1{ if label_pc==num_stack.my_l...
} } }
*null_do_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{
my_pc_B=1:cmd_pc++:goto *sw_begin
}
}
return
#define mac_null_do_flag_chk:\
if flag_on_do==1{ if cmd_pc==num_stack.my_line{ my_pc_B...
} }
#define ctype mac_regst_label(%1):\
if flag_on_label_search==1{ if label_pc==num_stack.my_l...
} if my_pc_B==2{my_pc_B++:cp2=label_pc:logmes "label:"...
} if my_pc_B==3{my_pc_B++:x_label_init@mod_label cp1,c...
} if my_pc_B==4{my_pc_B=1:label_pc++:goto *sw_begin:\
} } }
#define ctype mac_regst_free_label(%1,%2):\
if flag_on_label_search==1{ if label_pc==num_stack.my_l...
} if my_pc_B==2{my_pc_B++:cp2=label_pc:logmes "label:"+...
} if my_pc_B==3{my_pc_B++:cp3=%2:\
} if my_pc_B==4{my_pc_B++:x_label_init@mod_free_label c...
} if my_pc_B==5{my_pc_B=1:label_pc++:goto *sw_begin:\
} } }
; label:1
; label_no:1
; label:11
; label_no:2
; label:15
; label_no:3
; label:19
; label_no:4
}
cmd_pc=1
*sw_begin
await 1
if cmd_pc>1{
c=cmd_pc-1
goto label_stack.c
}
//case 1:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_regst_label("a") //1
mac_null_do_flag_chk
//case 2:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //2
; mes 13
logmes ""+num_stack.my_line
if my_pc_B==1{cr_com=en_cls0:
my_pc_B=1:cmd_pc++:goto *com_sw }
; cmd_pc++:
; cr_com=en_cls0:
goto *com_sw
goto *sw_begin
}
}
//case 3:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //3
if my_pc_B==1{my_pc_B++:cp1=120 }
if my_pc_B==2{my_pc_B++:cp2=24 }
if my_pc_B==3{cr_com=en_objsize:
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin
}
}
}
//case 4:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //4
logmes "inE4"
if my_pc_B==1{my_pc_B++:cp1="aa1" }
if my_pc_B==2{my_pc_B++:cp2=1 }
if my_pc_B==3{cr_com=en_get_my_label:
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 5:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //5
; logmes "inE5"
if my_pc_B==1{my_pc_B++:cp1="X足す1" }
if my_pc_B==2{my_pc_B++:bt_pc_1=my_label }
if my_pc_B==3{cr_com=en_button_A
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 6:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //6
if my_pc_B==1{my_pc_B++:cp1="ab1" }
if my_pc_B==2{my_pc_B++:cp2=2 }
if my_pc_B==3{cr_com=en_get_my_label:
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 7:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //7
if my_pc_B==1{my_pc_B++:cp1="X引く1" }
if my_pc_B==2{my_pc_B++:bt_pc_2=my_label }
if my_pc_B==3{cr_com=en_button_B
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
// コピペここまで
//case B1
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //B1
if my_pc_B==1{my_pc_B++:cp1="ac1" }
if my_pc_B==2{my_pc_B++:cp2=3 }
if my_pc_B==3{cr_com=en_get_my_free_label:
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case B2
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //B2
if my_pc_B==1{my_pc_B++:cp1="X足す2" }
if my_pc_B==2{my_pc_B++:bt_pc_3=my_label: logmes "bt3...
if my_pc_B==3{cr_com=en_button_C
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case B3
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //B3
if my_pc_B==1{my_pc_B++:cp1="ad1" }
if my_pc_B==2{my_pc_B++:cp2=5 }
if my_pc_B==3{cr_com=en_get_my_free_label:
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case B4
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //B4
if my_pc_B==1{my_pc_B++:cp1="X引く2" }
if my_pc_B==2{my_pc_B++:bt_pc_4=my_label: logmes "bt4...
if my_pc_B==3{cr_com=en_button_D
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 8:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //8
if my_pc_B==1{my_pc_B++:cp1=150 }
if my_pc_B==2{my_pc_B++:cp=0 }
if my_pc_B==3{cr_com=en_pos
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 9:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //9
if my_pc_B==1{my_pc_B++:cp1="ボタンを押してください" }
if my_pc_B==2{cr_com=en_mes
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 10:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //10
if my_pc_B==1{cr_com=en_stop
logmes "in stop A"
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 11:"aa1"
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_regst_label("aa1") //11
mac_null_do_flag_chk
//case 12:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //12
logmes "inE5calc"
if my_pc_B==1{x+=1:my_pc_B=1:cmd_pc++:cr_com=en_calc:...
}
}
//case 13:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //13
logmes "inE5"
if my_pc_B==1{my_pc_B++:cp1="ax1a" }
if my_pc_B==2{my_pc_B++:cp2=3 }
if my_pc_B==3{cr_com=en_get_my_label:
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 14:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //14
logmes "inE5"
if my_pc_B==1{logmes ""+my_label:my_pc_B=1:cp1=my_lab...
}
}
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_regst_label("ab1") //15
mac_null_do_flag_chk
//case 16:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //16
logmes "inE5"
if my_pc_B==1{x-=1:my_pc_B=1:cmd_pc++:cr_com=en_calc:...
}
}
//case 17:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //17
logmes "inE5"
if my_pc_B==1{my_pc_B++:cp1="ax1a" }
if my_pc_B==2{my_pc_B++:cp2=3 }
if my_pc_B==3{cr_com=en_get_my_label:
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 18
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //18
logmes "inE5"
if my_pc_B==1{logmes ""+my_label:my_pc_B=1:cp1=my_lab...
}
}
//case C1:"ac1"
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_regst_free_label("ac1",3) //C1
mac_null_do_flag_chk
//case C2
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //C2
logmes "inE5"
if my_pc_B==1{x+=2:my_pc_B=1:cmd_pc++:cr_com=en_calc:...
}
}
//case C3:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //C3
logmes "inE5"
if my_pc_B==1{my_pc_B++:cp1="ax1a"}
if my_pc_B==2{my_pc_B++:cp2=3 }
if my_pc_B==3{cr_com=en_get_my_label:
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case C4
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //C4
logmes "inE5"
if my_pc_B==1{logmes ""+my_label:my_pc_B=1:cp1=my_lab...
}
}
//case C5:"ad1"
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_regst_free_label("ad1",5) //C5
mac_null_do_flag_chk
//case C6
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //C6
logmes "inE5 C6"
if my_pc_B==1{x-=2:my_pc_B=1:cmd_pc++:cr_com=en_calc:...
}
}
//case C7
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //C7
logmes "inE5"
if my_pc_B==1{my_pc_B++:cp1="ax1a" }
if my_pc_B==2{my_pc_B++:cp2=3 }
if my_pc_B==3{cr_com=en_get_my_label:
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case C8
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //C8
logmes "inE5"
if my_pc_B==1{logmes ""+my_label:my_pc_B=1:cp1=my_lab...
}
}
//case 19:"ax1a"
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_regst_label("ax1a") //19
mac_null_do_flag_chk
//case 20
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //20
if my_pc_B==1{cr_com=en_cls0:
my_pc_B=1:cmd_pc++:goto *com_sw :goto *sw_begin}
}
}
//case 21
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //21
if my_pc_B==1{my_pc_B++:cp1=120 }
if my_pc_B==2{my_pc_B++:cp2=24 }
if my_pc_B==3{cr_com=en_objsize:
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin
}
}
}
//case 22
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //22
logmes "inE20"
if my_pc_B==1{my_pc_B++:cp1="a" }
if my_pc_B==2{my_pc_B++:cp2=0 }
if my_pc_B==3{cr_com=en_get_my_label:
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 23
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //23
logmes "inE5"
if my_pc_B==1{my_pc_B++:cp1="NEXT" }
if my_pc_B==2{my_pc_B++:bt_pc_1=my_label }
if my_pc_B==3{cr_com=en_button_A
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 24
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //24
if my_pc_B==1{my_pc_B++:cp1=150 }
if my_pc_B==2{my_pc_B++:cp=0 }
if my_pc_B==3{cr_com=en_pos
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 25
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //25
if my_pc_B==1{my_pc_B++:cp1="Xの値は"+x+"です" }
if my_pc_B==2{cr_com=en_mes
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 26
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //26
if my_pc_B==1{cr_com=en_stop
logmes "L0:"+get_x_label_l_value@mod_label("a",0)
logmes "L1:"+get_x_label_l_value@mod_label("aa1",1)
logmes "L2:"+get_x_label_l_value@mod_label("ab1",2)
logmes "L3:"+get_x_label_l_value@mod_label("ax1a",3)
logmes "in stop A"
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//if flag_on_label_search==1:mes 6:goto *_2do
// pc_stack dump
if flag_on_line_search==1{
mes "dump"
repeat 100
logmes ""+cnt+" "+pc_stack.cnt
loop
repeat 100
if pc_stack.cnt!=0{
num_stack(pc_stack.cnt)=cnt
}
loop
repeat 500
logmes ""+cnt+":"+num_stack.cnt
loop
}
;mes 6
; goto *sw_begin
;}
if flag_on_line_search==1{
goto *count_b
}
if flag_on_label_search==1{
goto *count_c
}
mes "stop"
stop
*com_sw
switch cr_com
case en_get_my_label: my_label=get_x_label_l_value@mod_l...
case en_get_my_free_label: my_label=get_x_label_l_value@...
case en_button_A: button cp1,*bt_hoge_1:swbreak
case en_button_B: button cp1,*bt_hoge_2:swbreak
case en_button_C: button cp1,*bt_hoge_3:swbreak
case en_button_D: button cp1,*bt_hoge_4:swbreak
case en_button_E: button cp1,*bt_hoge_5:swbreak
case en_button_F: button cp1,*bt_hoge_6:swbreak
case en_cls0: cls 0:swbreak
case en_objsize:objsize cp1,cp2:swbreak
case en_pos: pos cp1,cp2:swbreak
case en_mes: mes ""+cp1:swbreak
case en_stop: f_stop=1:swbreak
case en_calc: swbreak
case en_goto: cmd_pc=cp1:goto *sw_begin
swend
if f_stop==1:f_stop=0:stop
goto *sw_begin
*get_my_label
my_label=get_x_label_l_value(cp1,cp2)
; my_label=get_x_label_l_value("a",0)
goto *sw_begin
*bt_hoge_1
; mes my_pc
; mes bt_pc_1
cmd_pc=bt_pc_1
goto *sw_begin
*bt_hoge_2
cmd_pc=bt_pc_2
goto *sw_begin
*bt_hoge_3
cmd_pc=bt_pc_3
goto *sw_begin
*bt_hoge_4
mes "hoge4"+bt_pc_4
cmd_pc=bt_pc_4
goto *sw_begin
*bt_hoge_5
cmd_pc=bt_pc_5
goto *sw_begin
*bt_hoge_6
cmd_pc=bt_pc_6
goto *sw_begin
*sw_end
stop
終了行:
[[簡単言語]]
**NO_494 [#tcaf4550]
~
かたまりの前にマクロのラベルを定義して~
ラベル配列に格納しました
#module mod_label i_name,i_ID,i_l_value
#modinit str p_name,int p_ID,int p_l_value
i_name=p_name
i_ID=p_ID
i_l_value=p_l_value
o_num++
return
#deffunc local first_set
fv_ID=0
o_num=0
return
#modcfunc local get_i_name
return i_name
#modcfunc local get_i_ID
return i_ID
#modcfunc local get_i_l_value
return i_l_value
#deffunc local x_label_init str _p_name,int _p_l_value
newmod o_label,mod_label,_p_name,fv_ID,_p_l_value
fv_ID++
return fv_ID-1
#defcfunc local get_x_label_l_value str __p_name,int __p...
r_name=get_i_name@mod_label(o_label.__p_ID)
if r_name!=__p_name:return -1
return get_i_l_value@mod_label(o_label.__p_ID)
#global
first_set@mod_label
#module mod_free_label i_name,i_ID,i_l_value
#modinit str p_name,int p_ID,int p_l_value
i_name=p_name
i_ID=p_ID
i_l_value=p_l_value
o_num++
return
#deffunc local first_set int p_dim_length
dim many_id_dim,p_dim_length
fv_ID=0
o_num=0
return
#modcfunc local get_i_name
return i_name
#modcfunc local get_i_ID
return i_ID
#modcfunc local get_i_l_value
return i_l_value
#modcfunc local get_i_dim_length
return length(i_dim)
#deffunc local x_label_init str _p_name,int _p_l_value,i...
many_id_dim.p_index=fv_ID
newmod o_label,mod_free_label,_p_name,fv_ID,_p_l_value
fv_ID++
return fv_ID-1
#defcfunc local get_x_label_l_value str __p_name,int p_i...
;__p_IDを使わなくして、p_indexを使うようになった
r_index=many_id_dim.p_index
r_name=get_i_name@mod_free_label(o_label.r_index)
if r_name!=__p_name:return -1
return get_i_l_value@mod_free_label(o_label.r_index)
#deffunc local dump
repeat o_num
logmes "name "+cnt+":"+get_i_name@mod_free_label(o_labe...
logmes "ID "+cnt+":"+get_i_ID@mod_free_label(o_label.cnt)
logmes "value "+cnt+":"+get_i_l_value@mod_free_label(o_...
loop
return
#global
first_set@mod_free_label 256
dim pc_stack,1000
n_pc_stack=0
hoge_pc=1
dim num_stack,1000
repeat length(num_stack)
num_stack.cnt=-1
loop
ldim label_stack,100
label_stack_index=0
// line search のみ有効
flag_on_do=0
flag_on_line_search=1
flag_on_label_search=0
#define ctype l_avoid(%1) goto *l_a_%1
#define ctype catch_l_avoid(%1)*l_a_%1
#define ctype l_def(%1)*l_def_%1
#define ctype l_def_go(%1) *l_def_%1
;goto *l_def_A
;goto l_def(A)
;l_def(E):
;*l_def_B
;x_label_init 1,"a",1 ;0
;x_label_init 0,"aa1",11 ;1
;x_label_init 0,"ab1",13 ;2
;x_label_init 0,"ax1a",15 ;3
dim one_code,1000
x=0
f_stop=0
// ボタンによって選択される選択肢のID
selected_btnext="a"
#enum nop=0
#enum en_get_my_label
#enum en_get_my_free_label
#enum en_button_A
#enum en_button_B
#enum en_button_C
#enum en_button_D
#enum en_button_E
#enum en_button_F
#enum en_cls0
#enum en_objsize
#enum en_pos
#enum en_mes
#enum en_stop
#enum en_goto
#enum en_calc
#define mac_def %ttype_ll *%i
#define mac_print %ttype_ll *%p
#define mac_set_print %ttype_ll *%o
#define mac_call %ttype_ll *%o
my_pc=1
my_pc_B=1
flag_on_l_search=1
goto *@f
*search_l_end
flag_on_l_search=0
goto *sw_begin
*@
flag_on_line_search=1
if 0{
*count_b
flag_on_line_search=0
flag_on_label_search=1
flag_on_do=0
label_pc=1
}
if 0{
*count_c
flag_on_line_search=0
flag_on_label_search=0
flag_on_do=1
cmd_pc=1
dump@mod_free_label
repeat 32
logmes ""+cnt+":"+many_id_dim@mod_free_label.cnt
loop
}
if 0{
*line_flag
if flag_on_line_search==1{
pc_stack.hoge_pc=my_line:hoge_pc++
}
return
#define line_flag_and_ldim_set :\
if flag_on_line_search==1{ pc_stack.hoge_pc=my_line:ho...
label_stack.label_stack_index=mac_set_print:\
label_stack_index++:\
}
*null_label_flag_chk
if flag_on_label_search==1{
if label_pc==num_stack.my_line{
if my_pc_B==1{my_pc_B=1:label_pc++:goto *sw_begin }
}
}
return
#define mac_null_label_flag_chk:\
if flag_on_label_search==1{ if label_pc==num_stack.my_l...
} } }
*null_do_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{
my_pc_B=1:cmd_pc++:goto *sw_begin
}
}
return
#define mac_null_do_flag_chk:\
if flag_on_do==1{ if cmd_pc==num_stack.my_line{ my_pc_B...
} }
#define ctype mac_regst_label(%1):\
if flag_on_label_search==1{ if label_pc==num_stack.my_l...
} if my_pc_B==2{my_pc_B++:cp2=label_pc:logmes "label:"...
} if my_pc_B==3{my_pc_B++:x_label_init@mod_label cp1,c...
} if my_pc_B==4{my_pc_B=1:label_pc++:goto *sw_begin:\
} } }
#define ctype mac_regst_free_label(%1,%2):\
if flag_on_label_search==1{ if label_pc==num_stack.my_l...
} if my_pc_B==2{my_pc_B++:cp2=label_pc:logmes "label:"+...
} if my_pc_B==3{my_pc_B++:cp3=%2:\
} if my_pc_B==4{my_pc_B++:x_label_init@mod_free_label c...
} if my_pc_B==5{my_pc_B=1:label_pc++:goto *sw_begin:\
} } }
; label:1
; label_no:1
; label:11
; label_no:2
; label:15
; label_no:3
; label:19
; label_no:4
}
cmd_pc=1
*sw_begin
await 1
if cmd_pc>1{
c=cmd_pc-1
goto label_stack.c
}
//case 1:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_regst_label("a") //1
mac_null_do_flag_chk
//case 2:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //2
; mes 13
logmes ""+num_stack.my_line
if my_pc_B==1{cr_com=en_cls0:
my_pc_B=1:cmd_pc++:goto *com_sw }
; cmd_pc++:
; cr_com=en_cls0:
goto *com_sw
goto *sw_begin
}
}
//case 3:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //3
if my_pc_B==1{my_pc_B++:cp1=120 }
if my_pc_B==2{my_pc_B++:cp2=24 }
if my_pc_B==3{cr_com=en_objsize:
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin
}
}
}
//case 4:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //4
logmes "inE4"
if my_pc_B==1{my_pc_B++:cp1="aa1" }
if my_pc_B==2{my_pc_B++:cp2=1 }
if my_pc_B==3{cr_com=en_get_my_label:
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 5:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //5
; logmes "inE5"
if my_pc_B==1{my_pc_B++:cp1="X足す1" }
if my_pc_B==2{my_pc_B++:bt_pc_1=my_label }
if my_pc_B==3{cr_com=en_button_A
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 6:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //6
if my_pc_B==1{my_pc_B++:cp1="ab1" }
if my_pc_B==2{my_pc_B++:cp2=2 }
if my_pc_B==3{cr_com=en_get_my_label:
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 7:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //7
if my_pc_B==1{my_pc_B++:cp1="X引く1" }
if my_pc_B==2{my_pc_B++:bt_pc_2=my_label }
if my_pc_B==3{cr_com=en_button_B
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
// コピペここまで
//case B1
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //B1
if my_pc_B==1{my_pc_B++:cp1="ac1" }
if my_pc_B==2{my_pc_B++:cp2=3 }
if my_pc_B==3{cr_com=en_get_my_free_label:
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case B2
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //B2
if my_pc_B==1{my_pc_B++:cp1="X足す2" }
if my_pc_B==2{my_pc_B++:bt_pc_3=my_label: logmes "bt3...
if my_pc_B==3{cr_com=en_button_C
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case B3
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //B3
if my_pc_B==1{my_pc_B++:cp1="ad1" }
if my_pc_B==2{my_pc_B++:cp2=5 }
if my_pc_B==3{cr_com=en_get_my_free_label:
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case B4
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //B4
if my_pc_B==1{my_pc_B++:cp1="X引く2" }
if my_pc_B==2{my_pc_B++:bt_pc_4=my_label: logmes "bt4...
if my_pc_B==3{cr_com=en_button_D
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 8:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //8
if my_pc_B==1{my_pc_B++:cp1=150 }
if my_pc_B==2{my_pc_B++:cp=0 }
if my_pc_B==3{cr_com=en_pos
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 9:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //9
if my_pc_B==1{my_pc_B++:cp1="ボタンを押してください" }
if my_pc_B==2{cr_com=en_mes
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 10:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //10
if my_pc_B==1{cr_com=en_stop
logmes "in stop A"
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 11:"aa1"
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_regst_label("aa1") //11
mac_null_do_flag_chk
//case 12:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //12
logmes "inE5calc"
if my_pc_B==1{x+=1:my_pc_B=1:cmd_pc++:cr_com=en_calc:...
}
}
//case 13:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //13
logmes "inE5"
if my_pc_B==1{my_pc_B++:cp1="ax1a" }
if my_pc_B==2{my_pc_B++:cp2=3 }
if my_pc_B==3{cr_com=en_get_my_label:
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 14:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //14
logmes "inE5"
if my_pc_B==1{logmes ""+my_label:my_pc_B=1:cp1=my_lab...
}
}
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_regst_label("ab1") //15
mac_null_do_flag_chk
//case 16:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //16
logmes "inE5"
if my_pc_B==1{x-=1:my_pc_B=1:cmd_pc++:cr_com=en_calc:...
}
}
//case 17:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //17
logmes "inE5"
if my_pc_B==1{my_pc_B++:cp1="ax1a" }
if my_pc_B==2{my_pc_B++:cp2=3 }
if my_pc_B==3{cr_com=en_get_my_label:
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 18
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //18
logmes "inE5"
if my_pc_B==1{logmes ""+my_label:my_pc_B=1:cp1=my_lab...
}
}
//case C1:"ac1"
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_regst_free_label("ac1",3) //C1
mac_null_do_flag_chk
//case C2
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //C2
logmes "inE5"
if my_pc_B==1{x+=2:my_pc_B=1:cmd_pc++:cr_com=en_calc:...
}
}
//case C3:
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //C3
logmes "inE5"
if my_pc_B==1{my_pc_B++:cp1="ax1a"}
if my_pc_B==2{my_pc_B++:cp2=3 }
if my_pc_B==3{cr_com=en_get_my_label:
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case C4
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //C4
logmes "inE5"
if my_pc_B==1{logmes ""+my_label:my_pc_B=1:cp1=my_lab...
}
}
//case C5:"ad1"
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_regst_free_label("ad1",5) //C5
mac_null_do_flag_chk
//case C6
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //C6
logmes "inE5 C6"
if my_pc_B==1{x-=2:my_pc_B=1:cmd_pc++:cr_com=en_calc:...
}
}
//case C7
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //C7
logmes "inE5"
if my_pc_B==1{my_pc_B++:cp1="ax1a" }
if my_pc_B==2{my_pc_B++:cp2=3 }
if my_pc_B==3{cr_com=en_get_my_label:
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case C8
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //C8
logmes "inE5"
if my_pc_B==1{logmes ""+my_label:my_pc_B=1:cp1=my_lab...
}
}
//case 19:"ax1a"
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_regst_label("ax1a") //19
mac_null_do_flag_chk
//case 20
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //20
if my_pc_B==1{cr_com=en_cls0:
my_pc_B=1:cmd_pc++:goto *com_sw :goto *sw_begin}
}
}
//case 21
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //21
if my_pc_B==1{my_pc_B++:cp1=120 }
if my_pc_B==2{my_pc_B++:cp2=24 }
if my_pc_B==3{cr_com=en_objsize:
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin
}
}
}
//case 22
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //22
logmes "inE20"
if my_pc_B==1{my_pc_B++:cp1="a" }
if my_pc_B==2{my_pc_B++:cp2=0 }
if my_pc_B==3{cr_com=en_get_my_label:
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 23
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //23
logmes "inE5"
if my_pc_B==1{my_pc_B++:cp1="NEXT" }
if my_pc_B==2{my_pc_B++:bt_pc_1=my_label }
if my_pc_B==3{cr_com=en_button_A
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 24
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //24
if my_pc_B==1{my_pc_B++:cp1=150 }
if my_pc_B==2{my_pc_B++:cp=0 }
if my_pc_B==3{cr_com=en_pos
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 25
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //25
if my_pc_B==1{my_pc_B++:cp1="Xの値は"+x+"です" }
if my_pc_B==2{cr_com=en_mes
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//case 26
mac_def
my_line=int(__LINE__) //x行でcaseみたいな処理
line_flag_and_ldim_set
mac_null_label_flag_chk
if flag_on_do==1{
if cmd_pc==num_stack.my_line{ //26
if my_pc_B==1{cr_com=en_stop
logmes "L0:"+get_x_label_l_value@mod_label("a",0)
logmes "L1:"+get_x_label_l_value@mod_label("aa1",1)
logmes "L2:"+get_x_label_l_value@mod_label("ab1",2)
logmes "L3:"+get_x_label_l_value@mod_label("ax1a",3)
logmes "in stop A"
my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin }
}
}
//if flag_on_label_search==1:mes 6:goto *_2do
// pc_stack dump
if flag_on_line_search==1{
mes "dump"
repeat 100
logmes ""+cnt+" "+pc_stack.cnt
loop
repeat 100
if pc_stack.cnt!=0{
num_stack(pc_stack.cnt)=cnt
}
loop
repeat 500
logmes ""+cnt+":"+num_stack.cnt
loop
}
;mes 6
; goto *sw_begin
;}
if flag_on_line_search==1{
goto *count_b
}
if flag_on_label_search==1{
goto *count_c
}
mes "stop"
stop
*com_sw
switch cr_com
case en_get_my_label: my_label=get_x_label_l_value@mod_l...
case en_get_my_free_label: my_label=get_x_label_l_value@...
case en_button_A: button cp1,*bt_hoge_1:swbreak
case en_button_B: button cp1,*bt_hoge_2:swbreak
case en_button_C: button cp1,*bt_hoge_3:swbreak
case en_button_D: button cp1,*bt_hoge_4:swbreak
case en_button_E: button cp1,*bt_hoge_5:swbreak
case en_button_F: button cp1,*bt_hoge_6:swbreak
case en_cls0: cls 0:swbreak
case en_objsize:objsize cp1,cp2:swbreak
case en_pos: pos cp1,cp2:swbreak
case en_mes: mes ""+cp1:swbreak
case en_stop: f_stop=1:swbreak
case en_calc: swbreak
case en_goto: cmd_pc=cp1:goto *sw_begin
swend
if f_stop==1:f_stop=0:stop
goto *sw_begin
*get_my_label
my_label=get_x_label_l_value(cp1,cp2)
; my_label=get_x_label_l_value("a",0)
goto *sw_begin
*bt_hoge_1
; mes my_pc
; mes bt_pc_1
cmd_pc=bt_pc_1
goto *sw_begin
*bt_hoge_2
cmd_pc=bt_pc_2
goto *sw_begin
*bt_hoge_3
cmd_pc=bt_pc_3
goto *sw_begin
*bt_hoge_4
mes "hoge4"+bt_pc_4
cmd_pc=bt_pc_4
goto *sw_begin
*bt_hoge_5
cmd_pc=bt_pc_5
goto *sw_begin
*bt_hoge_6
cmd_pc=bt_pc_6
goto *sw_begin
*sw_end
stop
ページ名: