Example: Stripchart (Scrolling)
|
10 ! *********************************************************************
20 ! Example: STRIPCHART (Scrolling)
30 !
40 ! This program builds a scrolling STRIPCHART widget
50 ! that displays the values of ten digits.
60 !
70 ! **************************************************
80 !
90 INTEGER I
100 DIM Vals(1:16)
110 ASSIGN @Strip TO WIDGET "STRIPCHART"
120 CONTROL @Strip;SET ("TITLE":" Example: STRIPCHART (Scrolling)")
130 CONTROL @Strip;SET ("SYSTEM MENU":"Quit")
140 CONTROL @Strip;SET ("VISIBLE":0,"SHARED X":1)
150 CONTROL @Strip;SET ("X":50,"Y":25,"WIDTH":400,"HEIGHT":325)
160 CONTROL @Strip;SET ("TRACE COUNT":10,"CURRENT TRACE":0)
170 CONTROL @Strip;SET ("POINT CAPACITY":10000)
180 CONTROL @Strip;SET ("CURRENT AXIS":"X","ORIGIN":0,"RANGE":50)
190 CONTROL @Strip;SET ("DIGITS":11,"NUMBER FORMAT":"FIXED","USER SCROLL":1)
200 CONTROL @Strip;SET ("CURRENT AXIS":"Y","ORIGIN":-.5,"RANGE":10)
210 ON EVENT @Strip,"SYSTEM MENU" GOTO Finis
220 FOR I=1 TO 10
230 Vals(I)=(I-5)*.05
240 CONTROL @Strip;SET ("CURRENT TRACE":I,"TRACE LABEL":"DIGIT "&VAL$(I-1))
250 NEXT I
260 CONTROL @Strip;SET ("VISIBLE":1)
270 ON EVENT @Strip,"SCROLLED" GOSUB Evnt
280 FOR A=0 TO 1000000
290 CONTROL @Strip;SET ("POINT LOCATION":A,"VALUES":Vals(*))
300 Vals(1)=Vals(1)+1
310 I=1
320 WHILE Vals(I)>9.5
330 Vals(I)=Vals(I)-10
340 I=I+1
350 Vals(I)=Vals(I)+1
360 END WHILE
370 NEXT A
380 Evnt: RETURN
390 !
400 Finis: !
410 ASSIGN @Strip TO * ! Delete STRIPCHART widget
420 END