home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol155 / sam002.cmd < prev    next >
Encoding:
Text File  |  1984-04-29  |  3.2 KB  |  138 lines

  1. *SAM002-Name & number table maintenance***********************************
  2. *DATE OF LAST UPDATE  05/10/83                                           *
  3. *REVISION NUMBER 001.00                                                  *
  4. *                           THIS PROGRAM PLACED INTO PUBLIC DOMAIN BY    *
  5. *                           DOUGLAS G. COUSE, ATLANTA, GA. 5/20/83       *
  6. *                           COPYING FOR NON-COMMERCIAL OR EDUCATIONAL    *
  7. *                           PURPOSES ALLOWED, PROVIDED THIS NOTICE IS    *
  8. *                           NOT REMOVED. COMMERCIAL RESALE IS PROHIBITED.*
  9. *                                     *
  10. **************************************************************************
  11.  
  12. ********************************************************************************
  13. *NOTE----any comment labelled (*P-) is a procedural section numbering reference*
  14. *that should be used in flowcharting and other program documentation.          *
  15. ********************************************************************************
  16.  
  17. *P-001-{START}. Program and screen initialization.
  18. ERASE
  19. CLEAR
  20. USE
  21. SET COLON OFF
  22. SET TALK OFF
  23. SET ECHO OFF
  24. RELEASE
  25. STORE "MAINT." TO PROGRAM
  26. DO SAMSCR1
  27. *P-001-{END}.
  28.  
  29. *================================================================================
  30.  
  31. *P-005-{START}. Database file open & record access doloop initialization
  32. *and execution section.
  33. USE SAMFILE INDEX SAMAKEY
  34. SET INTENSITY OFF
  35. STORE "T" TO MORE
  36. DO WHILE MORE = "T"
  37. STORE 00 TO RECNO
  38. @ 23,1 SAY "Enter starting record ##, or strike <RETURN> to EXIT  " GET RECNO PICTURE '99' 
  39. READ
  40. IF RECNO = 0
  41.     STORE "F" TO MORE
  42.     LOOP
  43. ENDIF
  44. GOTO TOP
  45. SET EXACT ON
  46. LOCATE FOR NUMBER = RECNO
  47. IF EOF .OR. # = 0
  48.     @ 22, 1 SAY "-"
  49.     REMARK data NOT on file, strike any key to continue...........
  50.     SET CONSOLE OFF
  51.     WAIT
  52.     SET CONSOLE ON
  53.     SET EXACT OFF
  54.     LOOP
  55. ENDIF
  56. SET EXACT OFF
  57. STORE "A" TO ALWAYS
  58. STORE RECNO + 59 TO MAXIMUM
  59. STORE 7 TO LINE
  60. STORE 2 TO COL
  61. *P-005-{END}
  62.  
  63. *================================================================================
  64.  
  65. *P-010-{START}. NAME & NUMBER TABLE record display loop section. 
  66. DO WHILE ALWAYS = "A"
  67. @ LINE, COL SAY NUMBER USING '99'
  68. STORE COL + 4 TO COL
  69. @ LINE, COL SAY NAME
  70. SKIP
  71. IF EOF .OR. # = 0 .OR. # > MAXIMUM
  72.     STORE 7 TO LINE
  73.     STORE 2 TO COL
  74.     STORE "B" TO ALWAYS
  75.     LOOP
  76. ENDIF
  77. STORE COL + 13 TO COL
  78. IF COL = 70
  79.     STORE LINE + 1 TO LINE
  80.     STORE 2 TO COL
  81. ENDIF 
  82. LOOP 
  83. ENDDO
  84. *P-010-{END}.
  85.  
  86. *===============================================================================
  87.  
  88. *P-020-{START}.  RECORD update doloop section.
  89. GOTO TOP
  90. SET EXACT ON
  91. LOCATE FOR NUMBER = RECNO
  92. SET EXACT OFF
  93. DO WHILE ALWAYS = "B" 
  94. STORE NAME         TO M:NAME
  95. @ LINE, COL SAY NUMBER USING '99'
  96. STORE COL + 4 TO COL
  97. @ LINE, COL GET M:NAME
  98. READ
  99. SET EXACT ON
  100. IF $(M:NAME,1,3) = "END"
  101.     STORE "C" TO ALWAYS
  102.     SET EXACT OFF
  103.     LOOP
  104. ENDIF
  105. SET EXACT OFF
  106. REPLACE NAME WITH M:NAME
  107. STORE COL + 13 TO COL
  108. IF COL = 70
  109.     STORE LINE + 1 TO LINE
  110.     STORE 2 TO COL
  111. ENDIF 
  112. IF LINE > 21
  113.     STORE 7 TO LINE
  114. CLEAR GETS
  115. ENDIF
  116. SKIP
  117. IF EOF .OR. # = 0 .OR. # > MAXIMUM
  118.     STORE "C" TO ALWAYS
  119.     LOOP
  120. ENDIF
  121. LOOP
  122. ENDDO
  123. STORE "T" TO MORE
  124. LOOP
  125. *P-020-{END}
  126.  
  127. *===============================================================================
  128.  
  129. *P-030-{START}. End of program execution and exit to menu
  130. ENDDO
  131. USE
  132. SET INTENSITY ON
  133. SET COLON ON
  134. ERASE
  135. RELEASE ALL
  136. RETURN
  137. *P-030-{END} 
  138.