HTBasic Help
×
Menu
Index

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