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
画面に欲しいタイトルを表示して、カーソルの上下で選択し
+キーで1個づつ増やしていって
エンターを押したらその注文表を出力しようと考えました。
プログラムのエラーはよくわかって直すのですが
アクセス違反と出ます。
これについてご教示いただけるような方がいらしゃいましたらぜひ
お教えください。
草々
[code]
#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
[/code]