HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0727
Mituki (投稿者削除)5未解決


Mituki

リンク

2015/7/27(Mon) 12:33:49|NO.70258

この記事は投稿者により削除されました。
2015/8/13(Thu) 00:58:56



この記事に返信する


くちくん

リンク

2015/7/27(Mon) 17:11:53|NO.70262

少しいじりました。

; stick命令によるメニュー選択サンプル ; cls 4 color 255,255,255 pos 20,0 :mes "MS-DOS V1.45 pos 20,30:mes "install" pos 20,50:mes "program off" a=0 x=0:y=30:sel=0:maxsel=1 *selmain color 0,0,0:boxf x,y,x+20,y+20 y=sel*20+30 color 255,255,255 pos x,y:mes "*" *selloop stick a,1 if a&2 : a=-1:goto *selchg if a&8 : a=1:goto *selchg if a&$30 : goto *selok await 10:goto *selloop *selchg a=a+sel if (a<0)or(a>maxsel) : a=sel sel=a:goto *selmain *selok if sel=0 :goto *amam if sel=1 :end stop *amam cls 4 color 255,255,255 mes "Installing..." wait 300 mes "Disk Contents Copy..." wait 100 repeat 35 cls 4 color 255,255,255 mes "Copying File : Disk Drive Num"+kazu1+".DDN" wait 5 kazu1++ loop repeat 15 cls 4 color 255,255,255 mes "Copying File : Com System Memory asm"+kazu2+".CSM" wait 15 kazu2++ loop cls 4 color 255,255,255 mes "Install Finish" goto *namas stop *namas ; stick命令によるメニュー選択サンプル ; cls 4 color 255,255,255 pos 20,30:mes "start" pos 20,50:mes "PROGRAM END" a2=0 x1=0:y1=30:sel2=0:maxsel2=1 *selmain21 color 0,0,0:boxf x1,y1,x1+20,y1+20 y1=sel2*20+30 color 255,255,255 pos x1,y1:mes "*" *selloop21 stick a,1 if a&2 : a2=-1:goto *selchg21 if a&8 : a2=1:goto *selchg21 if a&$30 : goto *selok21 await 10:goto *selloop21 *selchg21 a2=a2+sel2 if (a2<0)or(a>maxsel2) : a2=sel2 sel2=a2:goto *selmain21 *selok21 if sel2=0 :goto *os48 stop *os48 cls repeat 101 color 0,162,232:boxf color 0,0,0 pos 0,0:color 0,0,0 mes "Windows Start Tool" font "dakota",45 pos 0,50:color 0,0,0 mes "Loading..."+per+"%" per+1 wait 3 loop *abc color 0,162,232:boxf color 255,255,255 pos 20,30:mes "X" pos 20,80:mes "User(youmes)" a23=0 x15=0:y15=30:sel23=0:maxsel25=1 *selmain213 color 0,0,0:boxf x15,y15,x15+20,y15+20 y15=sel23*20+30 color 255,255,255 pos x15,y15:mes "*" *selloop213 stick a28,1 if a&2 : a28=-1:goto *selchg213 if a&8 : a28=1:goto *selchg213 if a&$30 : goto *selok213 await 10:goto *selloop213 *selchg213 a28=a28+sel23 if (a28<0)or(a>maxsel25) : a28=sel2 sel2=a28:goto *selmain21 *selok213 if sel23=0 :goto *shutdown stop stop stop stop *shutdown pos 0,130 mes "Shutdown?" pos 0,180 mes "(Y)es" pos 0,230 mes "(N)o" *shut getkey flag, 89 ;キー入力チェック getkey flag1, 78 ;キー入力チェック if flag = 1 : end if flag1 = 1 : goto *abc wait 10 goto *shut stop
*shut でシャットダウンするかの質問のキー入力を待ち続けます。



くちくん

リンク

2015/7/27(Mon) 17:13:59|NO.70263

最後のstopはいりませんでした。



くちくん

リンク

2015/7/27(Mon) 17:23:55|NO.70264

ちなみに

*os48 cls randomize repeat 101 color 0,162,232:boxf color 0,0,0 pos 0,0:color 0,0,0 mes "Windows Start Tool" font "dakota",45 pos 0,50:color 0,0,0 mes "Loading..."+per+"%" per+1 wait rnd(100) wait 3 loop
みたいにするとメモリが足りない感じがでてきます



Noap

リンク

2015/8/3(Mon) 17:51:31|NO.70432

多分黒い画面にStartとProgram Endが出るところでカーソルを動かせないのと青い画面のユーザー画面の表示のことだと思うのでそこを直してみました。

80行目は「
	if (a2<0)or(a>maxsel2) : a2=sel2
」から「
	if (a2<0)or(a2>maxsel2) : a2=sel2
」に(aをa2に修正)
84行目は「
stop
」から「
	if sel2=1 {end} : goto *selmain21
」に(終了するようにする) 106行目は「
	color 0,0,0:boxf x15,y15,x15+20,y15+20
」から「
	color 0,162,232:boxf x15,y15,x15+20,y15+50
」に(文字の大きさにあわせて塗りつぶす範囲のたての長さを20から30に)
107行目は「
	y15=sel23*20+30
」から「
	y15=sel23*50+30
」(文字の大きさにあわせて20から30に) 111行目は「
	stick a28,1
」から「
	stick a,1
」に(変数名の修正)
119行目は「
	if (a28<0)or(a>maxsel25) : a28=sel2
」から「
	if (a28<0)or(a>maxsel25) : a28=sel23
」に(変数名の修正) 120行目は「
	sel2=a28:goto *selmain213
」から「
	sel23=a28:goto *selmain213
」に(変数名の修正)
123行目は「
stop
」から「
goto *selmain213
」に(選択画面にもどるように) 124、125、126、行目の
stop
はいらないので削除
84行目は行数で説明するためにあえて1行にしたので
if sel2=1:end
goto *selmain21
こんな感じで2行にわけたほうが見やすいのでいいと思います。

また全体的にインデントや変数名、ラベル名がわかりにくいので直したほうが見やすくなり間違いは少なくなると思います。
とんちんかんな回答をしていたらすみません。



Noap

リンク

2015/8/3(Mon) 17:55:17|NO.70433

すみません。変な感じになりました。またMitukiさんではなくくちくんさんのスクリプトのことについて回答しました。



ONION software Copyright 1997-2023(c) All rights reserved.