A selection of pointers.
L/R D-Pad to select indicator type.
U/D D-Pad to move indicator.
restore numbers
read number
dim nos(number)
dim nos1(number)
dim nos2(number)
dim nos3(number)
dim nos4(number)
dim nos5(number)
dim push(number)
for a=1 to number
read nos(a)
read nos1(a)
read nos2(a)
read nos3(a)
read nos4(a)
read nos5(a)
next a
restore selection
read select
dim title$(select)
for a=1 to select
read title$(a)
next a
restore information
read info
dim legend$(info)
for a=1 to info
read legend$(a)
next a
sel=1
hilite=1
open window 640,512
repeat
setdispbuf vm
vm=1-vm
setdrawbuf vm
clear window
row=0
row1=0
row2=0
c=peek("port1")
if and(c,128)<>0 left=1
if left=1 L=L+1
if L>2 L=2
if L=2 left=0
if and(c,128)=0 L=0
if and(c,32)<>0 right=1
if right=1 R=R+1
if R>2 R=2
if R=2 right=0
if and(c,32)=0 R=0
if left=1 sel=sel-1
if right=1 sel=sel+1
if sel<1 sel=1
if sel>select sel=select
if and(c,16)<>0 up=1
if up=1 U=U+1
if U>2 U=2
if U=2 up=0
if and(c,16)=0 U=0
if and(c,64)<>0 down=1
if down=1 D=D+1
if D>2 D=2
if D=2 down=0
if and(c,64)=0 D=0
if up=1 hilite=hilite-1
if down=1 hilite=hilite+1
if hilite<1 hilite=1
if hilite>number hilite=number
if sel=1 then
for a=1 to number
row=row+1
if hilite=a then
setrgb 1,0,256,0
else
setrgb 1,256,256,256
endif
text 20,row*20,str$(nos(a))
next a
gosub secondtext
endif
if sel=2 then
for a=1 to number
row=row+1
if hilite=a then
setrgb 1,256,256,256
fill rectangle 20,a*20-10 to len(str$(nos(a)))*10+21,a*20+4
endif
if hilite=a then
setrgb 1,0,150,0
else
setrgb 1,256,256,256
endif
text 20,row*20,str$(nos(a))
next a
endif
if sel=3 then
for a=1 to number
row=row+1
if hilite=a then
rectangle 20,a*20-10 to len(str$(nos(a)))*10+21,a*20+4
endif
text 20,row*20,str$(nos(a))
next a
endif
if sel=4 then
for a=1 to number
row=row+1
if hilite=a then
setrgb 1,0,150,0
fill rectangle 19,a*20-10 to len(str$(nos(a)))*10+21,a*20+4
endif
setrgb 1,256,256,256
text 20,row*20,str$(nos(a))
next a
endif
if sel=5 then
for a=1 to number
row=row+1
if hilite=a then
setrgb 1,0,150,0
fill rectangle 19,a*20-10 to len(str$(nos(a)))*10+21,a*20+4
setrgb 1,256,256,256
rectangle 19,a*20-10 to len(str$(nos(a)))*10+21,a*20+4
endif
setrgb 1,256,256,256
text 20,row*20,str$(nos(a))
next a
endif
if sel=6 then
for a=1 to number
row=row+1
if hilite=a text 8,a*20,">"
text 20,row*20,str$(nos(a))
next a
endif
if sel=7 then
for a=1 to number
row=row+1
if hilite=a text len(str$(nos(a)))*10+21,a*20,"<"
text 20,row*20,str$(nos(a))
next a
endif
if sel=8 then
for a=1 to number
row=row+1
if hilite=a then
text 8,a*20,">"
text len(str$(nos(a)))*10+21,a*20,"<"
endif
text 20,row*20,str$(nos(a))
next a
endif
if sel=9 then
for a=1 to number
row=row+1
if hilite=a then
text 8,a*20,">"
line 3,row*20-4 to 15,row*20-4
line 3,row*20-3 to 15,row*20-3
endif
text 20,row*20,str$(nos(a))
next a
endif
if sel=10 then
for a=1 to number
row=row+1
if hilite=a then
indent=40
else
indent=20
endif
text indent,row*20,str$(nos(a))
next a
endif
if sel=11 then
for a=1 to number
row=row+1
if hilite=a then
push(a)=push(a)+2
else
push(a)=push(a)-2
endif
if push(a)<0 push(a)=0
if push(a)>20 push(a)=20
text 20+push(a),row*20,str$(nos(a))
next a
endif
setrgb 1,256,256,256
text 200,20,"hilite select"
for a=1 to select
row1=row1+1
if sel=a then
setrgb 1,0,256,0
else
setrgb 1,256,256,256
endif
text 200,row1*20+30,title$(a)
setrgb 1,256,256,256
if a=10 space=-10
if a<10 space=0
text 170+space,row1*20+30,str$(a)+"."
next a
for a=1 to info
row2=row2+1
text 200,20*a+270,legend$(a)
next a
until (1=0)
label secondtext
for a=1 to number
if hilite=a then
setrgb 1,256,256,256
text 50,a*20,str$(nos1(a))+"."
text 50,a*20+15,str$(nos2(a))+"."
text 50,a*20+30,str$(nos3(a))+"."
text 50,a*20+45,str$(nos4(a))+"."
text 50,a*20+60,str$(nos5(a))+"."
endif
next a
return
label numbers
data 20
data 1,1,2,3,4,5
data 2,1,2,3,4,5
data 3,1,2,3,4,5
data 4,1,2,3,4,5
data 5,1,2,3,4,5
data 6,1,2,3,4,5
data 7,1,2,3,4,5
data 8,1,2,3,4,5
data 9,1,2,3,4,5
data 10,1,2,3,4,5
data 11,1,2,3,4,5
data 12,1,2,3,4,5
data 13,1,2,3,4,5
data 14,1,2,3,4,5
data 15,1,2,3,4,5
data 16,1,2,3,4,5
data 17,1,2,3,4,5
data 18,1,2,3,4,5
data 19,1,2,3,4,5
data 20,1,2,3,4,5
label selection
data 11
data "colour change"
data "change with background"
data "framed"
data "background"
data "framed background"
data "pointer left"
data "pointer right"
data "double pointer"
data "arrow"
data "indent"
data "indent move"
label information
data 10
data " This is a selection"
data " of what I have"
data " come up with"
data " as my tastes"
data " have changed"
data " but the easiest"
data " one to set up is"
data " to change the colour"
data " as you scroll through."
data "I put them all together here."