home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / xbase / library / clipper / calc / newcalc.prg
Text File  |  1988-03-09  |  2KB  |  112 lines

  1.  
  2.  
  3. * Program......:.PRG
  4. * Author.......: Glenn R. Abelson
  5. * Date(s)......: 12/01/86
  6. * Notice.......: Copyright 1986, Glenn Abelson Inc., All Rights Reserved
  7. * Notes........:
  8. *
  9. *
  10. *
  11. SET TALK OFF
  12. PUBLIC CLIPPER
  13. IF CLIPPER
  14. SAVE SCREEN TO MSCREEN
  15. ENDIF
  16. *** display text & vars ***
  17. @ 09,00 CLEAR TO 21,27
  18. @ 09,00 SAY "┌──────────────────────────┐"
  19. @ 10,00 SAY "│                          │"
  20. @ 11,00 SAY "╞════════════╤═════════════╡"
  21. @ 12,00 SAY "│Q to quit   │             │"
  22. @ 13,00 SAY "├─────┬──────┼──────┬──────┤"
  23. @ 14,00 SAY "│ 7   │  8   │  9   │   *  │"
  24. @ 15,00 SAY "├─────┼──────┼──────┼──────┤"
  25. @ 16,00 SAY "│ 4   │  5   │  6   │   /  │"
  26. @ 17,00 SAY "├─────┼──────┼──────┼──────┤"
  27. @ 18,00 SAY "│ 1   │  2   │  3   │   +  │"
  28. @ 19,00 SAY "├─────┼──────┼──────┼──────┤"
  29. @ 20,00 SAY "│ C   │  0   │  =   │   -  │"
  30. @ 21,00 SAY "└─────┴──────┴──────┴──────┘"
  31. **********************
  32. MNUM = 0
  33. MTOT = 0.00
  34. MSIGN = SPACE(1)
  35. MSTART = .T.
  36. MFIRST = .T.
  37.   @ 12,14 GET MNUM PICTURE '99999999999'
  38.   READ
  39.   @ 10,26 GET MSIGN
  40.   READ
  41.     IF MSIGN $ "Qq"
  42.      EXIT
  43.     ENDIF
  44. DO WHIL .T.
  45.  IF .NOT. MSTART
  46.   IF .NOT. MFIRST
  47.    @ 10,26 GET MSIGN
  48.    READ
  49.      IF MSIGN $ "Qq"
  50.       EXIT
  51.      ENDIF
  52.   ENDIF
  53.    MFIRST = .F.
  54.   @ 12,14 GET MNUM PICTURE '99999999999'
  55.   READ
  56.  ENDIF
  57.  MSTART = .F.
  58.     DO CASE
  59.        CASE MSIGN $ "cC"
  60.          MNUM = 0
  61.          MTOT = 0
  62.          @ 10,3 SAY MTOT
  63.          LOOP
  64.        CASE MSIGN = "+"
  65.          MOLDSIGN = "+"
  66.          MTOT = MTOT + MNUM
  67.          @ 10,3 SAY MTOT
  68.        CASE MSIGN = "-"
  69.          MOLDSIGN = "-"
  70.          MTOT = MTOT - MNUM
  71.          @ 10,3 SAY MTOT
  72.        CASE MSIGN = "*"
  73.          MOLDSIGN = "*"
  74.         IF MTOT <> 0
  75.           MTOT = MTOT*MNUM
  76.         ELSE
  77.           MTOT = MNUM
  78.         ENDIF
  79.          @ 10,3 SAY MTOT
  80.        CASE MSIGN = "/"
  81.          MOLDSIGN = "/"
  82.        IF MTOT <> 0
  83.          MTOT = MTOT / MNUM
  84.        ELSE
  85.          MTOT = MNUM
  86.        ENDIF
  87.          @ 10,3 SAY MTOT
  88.        CASE MSIGN = "="
  89.          IF MOLDSIGN = "+"
  90.             MTOT = MTOT + MNUM
  91.          ENDIF
  92.          IF MOLDSIGN = "-"
  93.             MTOT = MTOT - MNUM
  94.          ENDIF
  95.          IF MOLDSIGN = "*"
  96.             MTOT = MTOT * MNUM
  97.          ENDIF
  98.          IF MOLDSIGN = "/"
  99.             MTOT = MTOT / MNUM
  100.          ENDIF
  101.        OTHERWISE
  102.           LOOP
  103.     ENDCASE
  104. ENDDO
  105. IF CLIPPER
  106. RESTORE SCREEN FROM MSCREEN
  107. ENDIF
  108.  
  109.  
  110.  
  111.  
  112.