home *** CD-ROM | disk | FTP | other *** search
/ Corel Draw 6 / corel-draw-6-cd1.iso / scripts / calc.csc < prev    next >
Text File  |  1995-08-18  |  3KB  |  112 lines

  1. REM Calculator program written in CorelSCRIPT
  2. REM Calc.csc 24 MAY, 1995
  3. REM 
  4.  
  5. DIM arr AS STRING
  6. DIM first AS LONG, second AS LONG
  7. arr = " "        'default value for display
  8. flag = 1        'flag to display calculator
  9. first = 0        'Initialise the main value to 0
  10. second =1        'Initialise the temp value to 1
  11. operation  = 1
  12. DIM clearflag AS INTEGER
  13. clearflag = 1    'Flag to clear display
  14.  
  15. BEGIN DIALOG Dialog1 122, 145, "Calculator"    'definition of calculator dialog box
  16.  
  17.     PUSHBUTTON     65, 95, 17, 14, "="            'first so that it is default (ie. Enter key means =)
  18.     PUSHBUTTON     37, 95, 17, 14, "&0"            'Returns 4
  19.  
  20.     PUSHBUTTON     8, 74, 18, 14, "&1"            'Returns 5
  21.  
  22.     PUSHBUTTON     37, 74, 17, 14, "&2"            'Returns 6
  23.  
  24.     PUSHBUTTON     65, 74, 18, 14, "&3"            'Returns 7
  25.  
  26.     PUSHBUTTON     8, 54, 18, 14, "&4"            'Returns 8
  27.  
  28.     PUSHBUTTON     37, 54, 17, 14, "&5"            'Returns 9
  29.  
  30.     PUSHBUTTON     65, 54, 18, 14, "&6"            'Returns 10
  31.  
  32.     PUSHBUTTON     8, 34, 17, 14, "&7"            'Returns 11
  33.  
  34.     PUSHBUTTON     37, 34, 17, 14, "&8"            'Returns 12
  35.  
  36.     PUSHBUTTON     65, 34, 17, 14, "&9"            'Returns 13
  37.  
  38.     PUSHBUTTON     16, 123, 30, 14, "&C"        'Returns 14
  39.  
  40.     PUSHBUTTON     94, 34, 17, 14, "&/"            'Returns 15
  41.  
  42.     PUSHBUTTON     94, 54, 17, 14, "&*"            'Returns 16
  43.  
  44.     PUSHBUTTON     94, 74, 17, 14, "&--"        'Returns 17
  45.  
  46.     PUSHBUTTON     94, 95, 17, 14, "&+"            'Returns 18
  47.  
  48.     PUSHBUTTON       73, 123, 30, 14,"E&xit"        'Returns 19
  49.  
  50.     PUSHBUTTON     8, 95, 17, 14, "+/-"            'Returns 20
  51.  
  52.     GROUPBOX       3, 25, 116, 93, ""
  53.  
  54.      TEXTBOX        8, 6, 108, 15, arr
  55.  
  56. END DIALOG
  57.  
  58. DO WHILE flag =1         'display calculator until flag = 0
  59.     
  60.     ret = DIALOG(Dialog1)        'returns the button pressed
  61.     SELECT CASE ret                'selects action based on which button is pressed
  62.  
  63.         CASE 4 TO 13            'if a number is pressed
  64.             IF clearflag = 1 THEN     'clears the display if the clearflag = 1
  65.                 clearflag = 0
  66.                 arr = ""
  67.             END IF
  68.             arr = arr + CSTR(ret - 4)    'adds the number pressed to the end of the display
  69.  
  70.         CASE 14                'clear button
  71.             arr = ""
  72.             first = 0
  73.  
  74.         CASE 3, 15 TO 18        'One of the operations
  75.  
  76.             IF first = 0 THEN        'for the first time after a clear
  77.                 first = val(arr)
  78.             ELSE
  79.                 second = VAL(arr)    'temp variable = the number on the display
  80.                 SELECT CASE operation    'selects action based on which button was pressed
  81.                     CASE 15    'division
  82.                         first = first/second    'divides the real number by the number on the display
  83.                     CASE 16  'multiplication
  84.                         first = first * second    'multiplies the real number by the number on the display
  85.                     CASE 17  'substraction
  86.                         first = first - second    'substracts the number on the display from the real number
  87.                     CASE 18  'addition
  88.                         first = first + second    'adds the real number to the number on the display
  89.                     CASE ELSE
  90.                 END SELECT
  91.             END IF
  92.             arr = CSTR(first)        'sets the display TO the answer
  93.  
  94.             operation = ret   '14 FOR /, 15 FOR *, 16 FOR -, 17 FOR +
  95.             IF operation = 3 THEN first = 0            'equals button
  96.             clearflag = 1
  97.  
  98.         CASE 2,19    'IF exit OR cancel
  99.             flag = 0
  100.  
  101.         CASE 20        'plus/minus key
  102.             arr = "-" + arr
  103.         
  104.             IF LEFT(arr$, 2) = "--" THEN         'double negative
  105.                 lengtharr = LEN(arr) - 2        'get length of arr and substract two for the -s
  106.                 arr = RIGHT(arr, lengtharr)        'get the rightmost lengtharr characters
  107.             END IF    
  108.         CASE ELSE
  109.     END SELECT
  110. LOOP
  111.  
  112.