home *** CD-ROM | disk | FTP | other *** search
/ Sams Cobol 24 Hours / Sams_Cobol_24_Hours.iso / Cobol32 / PowerCBL / powercbl.Z / loadfile.prc < prev    next >
Text File  |  1997-03-14  |  7KB  |  264 lines

  1. @POWER POWSHEET LSFILE WORKING
  2.  01 EX-VALUE GLOBAL EXTERNAL.
  3.      02 EX-INITFILE PIC X(128).
  4. @POWER POWSHEET LSFILE CONSTANT
  5.  01 CT-VALUE GLOBAL.
  6.      02 CT-TAB       PIC X VALUE X"09".
  7.      02 CT-SEC-NON     PIC 9 VALUE 0.
  8.      02 CT-SEC-OPTION  PIC 9 VALUE 1.
  9.      02 CT-OPTION1     PIC 9 VALUE 0.
  10.      02 CT-OPTION2     PIC 9 VALUE 1.
  11.      02 CT-OPTION3     PIC 9 VALUE 2.
  12.      02 CT-CHECK-OFF   PIC 9 VALUE 0.
  13.      02 CT-CHECK-ON    PIC 9 VALUE 1.
  14. @POWER POWSHEET LSFILE PROCEDURE
  15. *
  16. * open file
  17. *
  18.  IDENTIFICATION DIVISION.
  19.  PROGRAM-ID. "INIT-OPEN" COMMON.
  20.  ENVIRONMENT DIVISION.
  21.  DATA        DIVISION.
  22.  WORKING-STORAGE SECTION.
  23.  01 WK-IDX        PIC S9(4) COMP-5.
  24.  01 WK-CNT        PIC S9(4) COMP-5.
  25.  01 WK-STRING.
  26.     02 WK-ONECHAR PIC X.
  27.     02 FILLER      PIC X(63).
  28.  01 WK-SECTION    PIC 9.
  29.  01 WK-SELNAME    PIC X(32).
  30.  01 WK-FLAG       PIC 9.
  31.  01 WK-OPTION     PIC 9.
  32.  01 WK-CHECK1     PIC 9 VALUE 1.
  33.  01 WK-CHECK2     PIC 9 VALUE 0.
  34.  01 WK-CHECK3     PIC 9 VALUE 0.
  35.  PROCEDURE   DIVISION.
  36. *
  37. *    Option1 = OFF   Check1=ON
  38. *    Option1 = ON    Check1=OFF
  39. *    Option1 = OFF   Check1=OFF
  40. *
  41.         MOVE CT-SEC-NON   TO WK-SECTION.
  42.         MOVE CT-OPTION2   TO WK-OPTION.
  43.         MOVE CT-CHECK-ON  TO WK-CHECK1.
  44.         MOVE CT-CHECK-OFF TO WK-CHECK2.
  45.         MOVE CT-CHECK-OFF TO WK-CHECK3.
  46. *
  47. * Set initial values.
  48. *
  49.         CALL LOADFILE OF LB-OPEN USING EX-INITFILE.
  50.         MOVE 0                    TO WK-IDX.
  51.         MOVE POW-COUNT OF LB-OPEN TO WK-CNT.
  52.         
  53.         PERFORM GETPROFILE VARYING WK-IDX FROM 1 BY 1
  54.         UNTIL WK-IDX > WK-CNT
  55.         
  56.         EVALUATE WK-OPTION
  57.         WHEN 1
  58.             MOVE POW-ON TO POW-CHECK OF RB-OPTION2
  59.         WHEN 2
  60.             MOVE POW-ON TO POW-CHECK OF RB-OPTION3
  61.         WHEN OTHER
  62.             MOVE POW-ON TO POW-CHECK OF RB-OPTION1
  63.         END-EVALUATE.
  64.         
  65.         IF WK-CHECK1 = 0 THEN
  66.             MOVE POW-OFF TO POW-CHECK OF MN-CHECK1
  67.             MOVE POW-OFF TO POW-CHECK OF CB-CHECK1
  68.         ELSE
  69.             MOVE POW-ON  TO POW-CHECK OF MN-CHECK1
  70.             MOVE POW-ON  TO POW-CHECK OF CB-CHECK1
  71.         END-IF.
  72.         
  73.         IF WK-CHECK2 = 0 THEN
  74.             MOVE POW-OFF TO POW-CHECK OF MN-CHECK2
  75.             MOVE POW-OFF TO POW-CHECK OF CB-CHECK2
  76.         ELSE
  77.             MOVE POW-ON  TO POW-CHECK OF MN-CHECK2
  78.             MOVE POW-ON  TO POW-CHECK OF CB-CHECK2
  79.         END-IF.
  80.         
  81.         IF WK-CHECK3 = 0 THEN
  82.             MOVE POW-OFF TO POW-CHECK OF MN-CHECK3
  83.             MOVE POW-OFF TO POW-CHECK OF CB-CHECK3
  84.         ELSE
  85.             MOVE POW-ON  TO POW-CHECK OF MN-CHECK3
  86.             MOVE POW-ON  TO POW-CHECK OF CB-CHECK3
  87.         END-IF.
  88.     MAIN-END.
  89.         EXIT PROGRAM.
  90. ******************************************************************
  91.     GETPROFILE    SECTION.
  92. ******************************************************************
  93.         MOVE POW-STRING (WK-IDX) OF LB-OPEN TO WK-STRING.
  94. *
  95. * comment ";"
  96. *
  97.         IF WK-ONECHAR = ";" THEN GO TO EXIT-GETPROFILE.
  98. *
  99. * section
  100. *
  101.         IF WK-ONECHAR = "[" THEN
  102.             
  103.             IF WK-STRING = "[OPTION]" THEN
  104.                 MOVE CT-SEC-OPTION TO WK-SECTION
  105.             ELSE
  106.                 MOVE CT-SEC-NON TO WK-SECTION
  107.             END-IF
  108.             
  109.             GO TO EXIT-GETPROFILE
  110.         END-IF.
  111. *
  112. * entry
  113. *
  114.         IF WK-SECTION = CT-SEC-OPTION THEN
  115.             UNSTRING WK-STRING
  116.               DELIMITED BY ALL SPACE OR ALL CT-TAB OR "="
  117.               INTO WK-SELNAME WK-FLAG
  118.             EVALUATE WK-SELNAME
  119.             WHEN "OPTION"
  120.                 MOVE WK-FLAG TO WK-OPTION
  121.             WHEN "CHECK1"
  122.                 MOVE WK-FLAG TO WK-CHECK1
  123.             WHEN "CHECK2"
  124.                 MOVE WK-FLAG TO WK-CHECK2
  125.             WHEN "CHECK3"
  126.                 MOVE WK-FLAG TO WK-CHECK3
  127.             END-EVALUATE
  128.         END-IF.
  129. *
  130.     EXIT-GETPROFILE.
  131. *
  132.         EXIT.
  133.  END PROGRAM "INIT-OPEN".
  134.  
  135. @POWER POWSHEET LSFILE OPENED
  136.  ENVIRONMENT DIVISION.
  137.  DATA        DIVISION.
  138.  PROCEDURE   DIVISION.
  139.         MOVE "INITFILE.INI" TO EX-INITFILE.
  140.         CALL "INIT-OPEN".
  141. @POWER POWSHEET LSFILE CLOSECHILD
  142.  ENVIRONMENT DIVISION.
  143.  DATA        DIVISION.
  144.  PROCEDURE   DIVISION.
  145.         MOVE POW-ON TO POW-ENABLE OF LSFILE.
  146. @POWER POWCKBTN CB-CHECK1 CLICK
  147.  ENVIRONMENT DIVISION.
  148.  DATA        DIVISION.
  149.  PROCEDURE   DIVISION.
  150.         IF POW-CHECK OF CB-CHECK1 = POW-ON THEN
  151.             MOVE POW-ON TO POW-CHECK OF MN-CHECK1
  152.         ELSE
  153.             MOVE POW-OFF TO POW-CHECK OF MN-CHECK1
  154.         END-IF.
  155.         
  156. @POWER POWCKBTN CB-CHECK2 CLICK
  157.  ENVIRONMENT DIVISION.
  158.  DATA        DIVISION.
  159.  PROCEDURE   DIVISION.
  160.         IF POW-CHECK OF CB-CHECK2 = POW-ON THEN
  161.             MOVE POW-ON TO POW-CHECK OF MN-CHECK2
  162.         ELSE
  163.             MOVE POW-OFF TO POW-CHECK OF MN-CHECK2
  164.         END-IF.
  165. @POWER POWRDBTN RB-OPTION1 CLICK
  166.  ENVIRONMENT DIVISION.
  167.  DATA        DIVISION.
  168.  PROCEDURE   DIVISION.
  169.         MOVE POW-ON  TO POW-CHECK OF MN-OPTION1.
  170.         MOVE POW-OFF TO POW-CHECK OF MN-OPTION2.
  171.         MOVE POW-OFF TO POW-CHECK OF MN-OPTION3.
  172.         
  173. @POWER POWRDBTN RB-OPTION2 CLICK
  174.  ENVIRONMENT DIVISION.
  175.  DATA        DIVISION.
  176.  PROCEDURE   DIVISION.
  177.         MOVE POW-OFF TO POW-CHECK OF MN-OPTION1.
  178.         MOVE POW-ON  TO POW-CHECK OF MN-OPTION2.
  179.         MOVE POW-OFF TO POW-CHECK OF MN-OPTION3.
  180.         
  181. @POWER POWRDBTN RB-OPTION3 CLICK
  182.  ENVIRONMENT DIVISION.
  183.  DATA        DIVISION.
  184.  PROCEDURE   DIVISION.
  185.         MOVE POW-OFF TO POW-CHECK OF MN-OPTION1.
  186.         MOVE POW-OFF TO POW-CHECK OF MN-OPTION2.
  187.         MOVE POW-ON  TO POW-CHECK OF MN-OPTION3.
  188.         
  189. @POWER POWCKBTN CB-CHECK3 CLICK
  190.  ENVIRONMENT DIVISION.
  191.  DATA        DIVISION.
  192.  PROCEDURE   DIVISION.
  193.         IF POW-CHECK OF CB-CHECK3 = POW-ON THEN
  194.             MOVE POW-ON TO POW-CHECK OF MN-CHECK3
  195.         ELSE
  196.             MOVE POW-OFF TO POW-CHECK OF MN-CHECK3
  197.         END-IF.
  198. @POWER POWMENU MN-OPTION1 CLICK
  199.  ENVIRONMENT DIVISION.
  200.  DATA        DIVISION.
  201.  PROCEDURE   DIVISION.
  202.         MOVE POW-ON TO POW-CHECK OF RB-OPTION1.
  203.         
  204. @POWER POWMENU MN-OPTION2 CLICK
  205.  ENVIRONMENT DIVISION.
  206.  DATA        DIVISION.
  207.  PROCEDURE   DIVISION.
  208.         MOVE POW-ON TO POW-CHECK OF RB-OPTION2.
  209. @POWER POWMENU MN-OPTION3 CLICK
  210.  ENVIRONMENT DIVISION.
  211.  DATA        DIVISION.
  212.  PROCEDURE   DIVISION.
  213.         MOVE POW-ON TO POW-CHECK OF RB-OPTION3.
  214. @POWER POWMENU MN-CHECK1 CLICK
  215.  ENVIRONMENT DIVISION.
  216.  DATA        DIVISION.
  217.  PROCEDURE   DIVISION.
  218.         IF POW-OFF = POW-CHECK OF MN-CHECK1 THEN
  219.             MOVE POW-ON TO POW-CHECK OF MN-CHECK1
  220.             MOVE POW-ON TO POW-CHECK OF CB-CHECK1
  221.         ELSE
  222.             MOVE POW-OFF TO POW-CHECK OF MN-CHECK1
  223.             MOVE POW-OFF TO POW-CHECK OF CB-CHECK1
  224.         END-IF.
  225. @POWER POWMENU MN-CHECK2 CLICK
  226.  ENVIRONMENT DIVISION.
  227.  DATA        DIVISION.
  228.  PROCEDURE   DIVISION.
  229.         IF POW-OFF = POW-CHECK OF MN-CHECK2 THEN
  230.             MOVE POW-ON TO POW-CHECK OF MN-CHECK2
  231.             MOVE POW-ON TO POW-CHECK OF CB-CHECK2
  232.         ELSE
  233.             MOVE POW-OFF TO POW-CHECK OF MN-CHECK2
  234.             MOVE POW-OFF TO POW-CHECK OF CB-CHECK2
  235.         END-IF.
  236. @POWER POWMENU MN-CHECK3 CLICK
  237.  ENVIRONMENT DIVISION.
  238.  DATA        DIVISION.
  239.  PROCEDURE   DIVISION.
  240.         IF POW-OFF = POW-CHECK OF MN-CHECK3 THEN
  241.             MOVE POW-ON TO POW-CHECK OF MN-CHECK3
  242.             MOVE POW-ON TO POW-CHECK OF CB-CHECK3
  243.         ELSE
  244.             MOVE POW-OFF TO POW-CHECK OF MN-CHECK3
  245.             MOVE POW-OFF TO POW-CHECK OF CB-CHECK3
  246.         END-IF.
  247. @POWER POWMENU MN-OPEN CLICK
  248.  ENVIRONMENT DIVISION.
  249.  DATA        DIVISION.
  250.  PROCEDURE   DIVISION.
  251.      MOVE POW-OFF TO POW-ENABLE OF LSFILE.
  252.         CALL OPENSHEET OF LSFILE USING "ST-INITFILE".
  253. @POWER POWMENU MN-EXIT CLICK
  254.  ENVIRONMENT DIVISION.
  255.  DATA        DIVISION.
  256.  PROCEDURE   DIVISION.
  257.         CALL CLOSESHEET OF LSFILE.
  258. @POWER POWPSBTN PUSH1 CLICK
  259.  ENVIRONMENT DIVISION.
  260.  DATA        DIVISION.
  261.  PROCEDURE   DIVISION.
  262. * Close the sample application.
  263.         CALL CLOSESHEET OF LSFILE.
  264.