Inkey$を使ったプログラム

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: Inkey$を使ったプログラム

by konisi » 2006年9月26日(火) 18:48

僕が書いた物ではありませんが、
http://dbp.cool.ne.jp/patio/patio.cgi?mode=view&no=159
等が参考になるかと思います。

修正できましたが。。。。

by いとちゃん » 2006年9月26日(火) 11:26

おそれいります。

プログラムの大半は修正できましたが、結果をプリントしようとしておりまして

AB262のときはプリント関数があったのに
AB413では、プリントができなくなってしまいました。

LPRINTのようなことはできないのでしょうか?

ありがとうございます。でも。。。

by いとちゃん » 2006年9月26日(火) 08:33

配列数を増やしてみましたが同じエラーがでます。
おかしいですね。

意味不明で、エラーが出てしまうとその先、STOPしてしまいます。
ひたすら眺めていますが、なかなか見つかりません。

by konisi » 2006年9月25日(月) 19:38

確保していない領域に対して読み書きしているためだと思います。
Dim A[ELM(10)] As Long
と宣言すると、
A配列の0~9までが使用可能になることになります。
つまり、A[10]は使用されることを想定していません。

Inkey$を使ったプログラム

by いとちゃん » 2006年9月25日(月) 15:50

画面に欲しいタイトルを表示して、カーソルの上下で選択し
+キーで1個づつ増やしていって
エンターを押したらその注文表を出力しようと考えました。

プログラムのエラーはよくわかって直すのですが
アクセス違反と出ます。

これについてご教示いただけるような方がいらしゃいましたらぜひ
お教えください。

草々

コード: 全て選択


#N88BASIC

Dim dat[ELM(24)] as String
Dim han[ELM(24)] as Long
Dim t as Long

Dim lp as Long

dat[ 1]=" 1. 欲しいもののタイトル                       "
dat[ 2]=" 2. 欲しいもののタイトル 						"
dat[ 3]=" 3. 欲しいもののタイトル 						"
dat[ 4]=" 4. 欲しいもののタイトル 						"
dat[ 5]=" 7. 欲しいもののタイトル 						"
dat[ 6]=" 8. 欲しいもののタイトル 						"
dat[ 7]=" 9. 欲しいもののタイトル 						"
dat[ 8]="11. 欲しいもののタイトル 						"
dat[ 9]="12. 欲しいもののタイトル 						"
dat[10]="13. 欲しいもののタイトル 						"
dat[11]="14. 欲しいもののタイトル 						"
dat[12]="16. 欲しいもののタイトル 						"
dat[13]="17. 欲しいもののタイトル 						"
dat[14]="19. 欲しいもののタイトル 						"
dat[15]="20. 欲しいもののタイトル 						"
dat[16]="21. 欲しいもののタイトル 						"
dat[17]="22. 欲しいもののタイトル 						"
dat[18]="24. 欲しいもののタイトル 						"
dat[19]="26. 欲しいもののタイトル 						"
dat[20]="30. 欲しいもののタイトル 						"
dat[21]="33. 欲しいもののタイトル 						"
dat[22]="35. 欲しいもののタイトル 						"
dat[23]="37. 欲しいもののタイトル 						"
dat[24]="38. 欲しいもののタイトル 						"

	Color 7,0
	for lp=1 to 24
		Locate 5,lp:	Print dat[lp]
	Next
'-------------------------------------------------------------------------------------------------
Dim temp As String
Dim y As Long
Dim cs As Long
'-------------------------------------------------------------------------------------------------
cs=1
'-------------------------------------------------------------------------------------------------
	for lp=1 to 24
	Color 7,0
	If lp=cs then Color 7,1
	Locate 5,lp:	Print dat[lp],han[lp];"冊"
	Next
'-------------------------------------------------------------------------------------------------	
80     temp=Inkey$()
   if Asc(temp)=0 then 80

   if Asc(temp)=38 then cs=cs-1            
            If cs=0 then cs=24
			Color 7,1:Locate 5,lp:	Print dat[lp],han[lp];"冊"
   if Asc(temp)=40 then cs=cs+1
            If cs=25 then cs=1
			Color 7,1:Locate 5,lp:	Print dat[lp],han[lp];"冊"
   if Asc(temp)=13 then goto 100
   if Asc(temp)=107 then han[cs]=han[cs]+1
			Color 7,1:Locate 5,cs:	Print dat[cs],han[cs];"冊"
'-------------------------------------------------------------------------------------------------
for lp=1 to 24
	Color 7,0
	If lp=cs then Color 7,1
	Locate 5,lp:	Print dat[lp],han[lp];"冊"
	Next

goto 80
'-------------------------------------------------------------------------------------------------

100

Color 7,0
for lp=1 to 24
Locate 5,lp:	Print dat[lp],han[lp];"冊"
Next

ページトップ