home *** CD-ROM | disk | FTP | other *** search
/ Chip 1999 August / Chip_1999-08_cd.bin / sharewar / visds / Calc.DSC < prev    next >
Text File  |  1999-05-02  |  2KB  |  97 lines

  1.   Title Calculator
  2.   DIALOG CREATE,Calculator,100,100,142,204
  3.   DIALOG ADD,STYLE,Display,LCDMINI,10,BR,BLACK,CYAN
  4.   DIALOG ADD,Edit,RES,10,10,120,,0,DISPLAY
  5.   DIALOG ADD,BUTTON,MC,50,10,24,24
  6.   DIALOG ADD,BUTTON,MR,50,42,24,24
  7.   DIALOG ADD,BUTTON,MA,50,74,24,24,M+
  8.   DIALOG ADD,BUTTON,C,50,106,24,24,
  9.   DIALOG ADD,BUTTON,N7,80,10,24,24,7
  10.   DIALOG ADD,BUTTON,N8,80,42,24,24,8
  11.   DIALOG ADD,BUTTON,N9,80,74,24,24,9
  12.   DIALOG ADD,BUTTON,FD,80,106,24,24,/
  13.   DIALOG ADD,BUTTON,N4,110,10,24,24,4
  14.   DIALOG ADD,BUTTON,N5,110,42,24,24,5
  15.   DIALOG ADD,BUTTON,N6,110,74,24,24,6
  16.   DIALOG ADD,BUTTON,FX,110,106,24,24,*
  17.   DIALOG ADD,BUTTON,N1,140,10,24,24,1
  18.   DIALOG ADD,BUTTON,N2,140,42,24,24,2
  19.   DIALOG ADD,BUTTON,N3,140,74,24,24,3
  20.   DIALOG ADD,BUTTON,FM,140,106,24,24,-
  21.   DIALOG ADD,BUTTON,N0,170,10,24,24,0
  22.   DIALOG ADD,BUTTON,NZ,170,42,24,24,.
  23.   DIALOG ADD,BUTTON,FE,170,74,24,24,=
  24.   DIALOG ADD,BUTTON,FP,170,106,24,24,+
  25.   DIALOG SHOW
  26.   %R = 0
  27.   %M = 0
  28.   goto UPDATE
  29. :evloop
  30.   wait event
  31.   if @equal(%R,0)
  32.     %R =
  33.   end
  34.   %E = @event()
  35.   %K = @substr(%E,2,2)
  36.   if @equal(%K,Z)
  37.     %R = %R.
  38.     goto UPDATE
  39.   end
  40.   if @greater(@pos(%K,0123456789),0)
  41.     %R = %R%K
  42.     goto UPDATE
  43.   end
  44.   if @greater(@pos(%K,PMDXE),0)
  45.     gosub OPERATE
  46.     if @equal(%K,E)
  47.       %O =
  48.     else
  49.       %O = %K
  50.     end
  51.     goto evloop
  52.   end
  53.   goto %E
  54. :CLOSE
  55.   exit
  56. :CBUTTON
  57.   %R = 0
  58.   %P = 0
  59.   %O =
  60.   goto UPDATE
  61. :MCBUTTON
  62.   %M = 0
  63.   goto evloop
  64. :MABUTTON
  65.   if %R
  66.     %M = @fadd(%M,%R)
  67.   else
  68.     %M = @fadd(%M,%P)
  69.   end
  70.   goto evloop
  71. :MRBUTTON
  72.   %R = %M
  73. :UPDATE
  74.   dialog set,RES,%R
  75.   goto evloop
  76. :OPERATE
  77.   if %R
  78.     if @equal(%O,P)
  79.       %P = @fadd(%P,%R)
  80.     end
  81.     if @equal(%O,M)
  82.       %P = @fsub(%P,%R)
  83.     end
  84.     if @equal(%O,D)
  85.       %P = @fdiv(%P,%R)
  86.     end
  87.     if @equal(%O,X)
  88.       %P = @fmul(%P,%R)
  89.     end
  90.     if @null(%O)
  91.       %P = %R
  92.     end
  93.   end
  94.   %R =
  95.   dialog set,RES,%P
  96.   exit
  97.