home *** CD-ROM | disk | FTP | other *** search
/ HTBasic 9.3 / HTBasic 9.3.iso / 83win / data1.cab / Basic_Plus_Examples / EMCHILD < prev    next >
Encoding:
Text File  |  2001-03-02  |  3.4 KB  |  67 lines

  1. 10    ! *********************************************************
  2. 20    ! Example: Engine Monitor - Child PANEL
  3. 30    !
  4. 40    ! This program creates a simulated engine monitor display
  5. 50    ! that shows Torque, Pressure, Dwell, Timing, and RPM for
  6. 60    ! a theoretical engine. A status log for updated values is
  7. 70    ! also included.
  8. 80    !
  9. 90    ! *********************************************************
  10. 100   !
  11. 110       DIM Buf$[200]
  12. 120   !
  13. 130   ! Create the main panel widget
  14. 140   !
  15. 150       ASSIGN @Panel TO WIDGET "PANEL";SET ("X":100,"Y":30,"WIDTH":400,"HEIGHT":320,"TITLE":" Example: Engine Monitor - Child PANEL","MAXIMIZABLE":1)
  16. 160       CONTROL @Panel;SET ("SYSTEM MENU":"Quit")
  17. 170       ON EVENT @Panel,"SYSTEM MENU" GOTO Finis
  18. 180   !
  19. 190       ASSIGN @M1lbl TO WIDGET "LABEL";SET ("X":5,"Y":5,"WIDTH":90,"HEIGHT":20,"VALUE":"Torque","BORDER":0),PARENT @Panel
  20. 200       ASSIGN @Meter1 TO WIDGET "METER";SET ("X":5,"Y":25,"WIDTH":90,"HEIGHT":160,"ARC WIDTH":3,"ORIENTATION":"RIGHT","SHOW LIMITS":0),PARENT @Panel
  21. 210   !
  22. 220       ASSIGN @B2lbl TO WIDGET "LABEL";SET ("X":125,"Y":5,"WIDTH":80,"HEIGHT":20,"VALUE":"Pressure","BORDER":0),PARENT @Panel
  23. 230       ASSIGN @Bar2 TO WIDGET "BAR";SET ("X":130,"Y":25,"WIDTH":60,"HEIGHT":100),PARENT @Panel
  24. 240       ASSIGN @B2dsp TO WIDGET "LABEL";SET ("X":130,"Y":125,"WIDTH":60,"HEIGHT":20,"BORDER":0),PARENT @Panel
  25. 250   !
  26. 260   ! Create a child PANEL that contains a bank of engine measurements
  27. 270   !
  28. 280       ASSIGN @Subpanel TO WIDGET "PANEL";PARENT @Panel,SET ("X":260,"Y":5,"WIDTH":95,"HEIGHT":145)
  29. 290   !
  30. 300       ASSIGN @Lbl1 TO WIDGET "LABEL";PARENT @Subpanel,SET ("X":10,"Y":0,"WIDTH":75,"HEIGHT":20,"BORDER":0,"VALUE":"Dwell")
  31. 310       ASSIGN @Disp1 TO WIDGET "LABEL";PARENT @Subpanel,SET ("X":10,"Y":20,"WIDTH":75,"HEIGHT":20)
  32. 320   !
  33. 330       ASSIGN @Label2 TO WIDGET "LABEL";PARENT @Subpanel,SET ("X":10,"Y":50,"WIDTH":75,"HEIGHT":20,"BORDER":0,"VALUE":"Timing")
  34. 340       ASSIGN @Disp2 TO WIDGET "LABEL";PARENT @Subpanel,SET ("X":10,"Y":70,"WIDTH":75,"HEIGHT":20)
  35. 350   !
  36. 360       ASSIGN @Label3 TO WIDGET "LABEL";PARENT @Subpanel,SET ("X":10,"Y":100,"WIDTH":75,"HEIGHT":20,"BORDER":0,"VALUE":"RPM")
  37. 370       ASSIGN @Disp3 TO WIDGET "LABEL";PARENT @Subpanel,SET ("X":10,"Y":120,"WIDTH":75,"HEIGHT":20)
  38. 380   !
  39. 390       ASSIGN @Lbl TO WIDGET "LABEL";SET ("X":130,"Y":150,"WIDTH":240,"HEIGHT":20,"VALUE":"Status Log","BORDER":0),PARENT @Panel
  40. 400       ASSIGN @Text TO WIDGET "PRINTER";SET ("X":130,"Y":170,"WIDTH":240,"HEIGHT":100),PARENT @Panel
  41. 410   !
  42. 420       Value=50
  43. 430       Siz=15
  44. 440  Loop_val:!
  45. 450       FOR I=1 TO 10000
  46. 460           IF Value<25 OR Value>=85 THEN Value=50
  47. 470           Torq=INT(Value+Siz*RND)
  48. 480           Pres=INT(Value+Siz*RND)
  49. 490           Dwell=INT(Value+Siz*RND)
  50. 500           Timing=INT(Value+Siz*RND)
  51. 510           Rpm=INT(Value+Siz*RND)
  52. 520           Value=INT(Value+Siz*(RND-.5))
  53. 530     !
  54. 540           CONTROL @Meter1;SET ("VALUE":Torq)
  55. 550           CONTROL @Bar2;SET ("VALUE":Pres)
  56. 560           CONTROL @B2dsp;SET ("VALUE":Pres)
  57. 570           CONTROL @Disp1;SET ("VALUE":Dwell)
  58. 580           CONTROL @Disp2;SET ("VALUE":Timing)
  59. 590           CONTROL @Disp3;SET ("VALUE":Rpm)
  60. 600     !
  61. 610           OUTPUT Buf$ USING "#,K,DDDD,3X,DDD,DDD,DDD";"Update #";I,Torq,Pres,Dwell
  62. 620           CONTROL @Text;SET ("APPEND TEXT":Buf$)
  63. 630       NEXT I
  64. 640       GOTO Loop_val
  65. 650       STOP
  66. 660  Finis: END
  67.