Google
オフコン練習帳内を検索
インターネット全体を検索

NECオフコン関連
オフコン一般
情報

[掲示板に戻る]


「プリンタ占有プログラム」の公開 富山清風 2011-6-14 18:12
Re: 「プリンタ占有プログラム」の公開 ターラヤン 2011-6-15 1:41

1 「プリンタ占有プログラム」の公開
富山清風 2011-6-14 18:12  [返信] [編集]

皆さんもすでに、自作でお持ちだとは思いますが、「プリンタ占有プログラム」を公開します。

以前、「旧家イトウ家の小技裏技(その7)」にプリンタ占有プログラムが載っていましたが、
小生も、「ステップ数の少ない」かつ「見やすい」プリンタ占有プログラムを作成しましたので公開します。
「プリンタ占有プログラム」の必要性については記述しませんが、・・・

使用方法は
1.本プログラムを起動する→PRN999(ステーション対応プリンタ?)が「使用中」となり、かつ、入力待ちになる
2.入力待ちでエンターでプログラム終了(プリンタ開放)
 XXXリターンで現在使用中のプリンタが開放され、PRNXXXが「使用中」となり、再度、入力待ちになる
 以下、2を繰り返す。

ごくごく、簡単なプログラムです。

000010_IDENTIFICATION___________DIVISION.
000020_PROGRAM-ID.______________PRN999.
000030******************************************************************
000040*____PRN999使用中__________________________________________*
000050******************************************************************
000060_DATE-COMPILED.
000070_ENVIRONMENT_____DIVISION.
000080_CONFIGURATION___SECTION.
000090_SOURCE-COMPUTER.____SYSTEM150.
000100_OBJECT-COMPUTER.____SYSTEM150.
000110_INPUT-OUTPUT____SECTION.
000120_FILE-CONTROL.
000130_____SELECT______________________LPF
000140_________________ASSIGN__________LPF-PRN999.
000150_DATA____________________DIVISION.
000160_FILE____________________SECTION.
000170_FD__LPF
000180_________LABEL_RECORD_OMITTED
000190_________LINAGE__66.
000200_01__LP-RC________________PIC_X(300).
000210******************************************************************
000220_WORKING-STORAGE__________SECTION.
000230_01__QASG01.
000240_____03__QASG0101_________PIC_X(06).
000250_01__QASG02.
000260_____03__QASG0201_________PIC_X(06).
000270_01__FILE-STATUS.
000280_____03__STSXXX___________PIC_X(02).
000290_01__WG-AREA.
000300_____03__F________________PIC_X(03)_VALUE_"PRN".
000310_____03__WG-PRN___________PIC_9(03).
000320_01__WG-PRN999.
000330_____03__WG-PRN001________PIC_N(03).
000340_____03__WG-PRN002________PIC_N(03).
000350_____03__WG-PRN003________PIC_N(03).
000360******************************************************************
000370_SCREEN______________SECTION.
000380_SD__GAMEN___________END_STATUS__ESTS.
000390_01__GA.
000400_____03__GA-PRN__LINE_23__COLUMN_77__PIC_9(03)__INTO_WG-PRN
000410_____________________CHECK__OVERFLOW_________NO__IFC.
000420_01__GD.
000430_____03__GD-PRN__LINE_12__COLUMN_30__PIC_N(09)__FROM_WG-PRN999
000440______________________BLINK_REVERSE.
000450******************************************************************
000460_PROCEDURE_______________DIVISION.
000470_ST.
000480_____MOVE____"PRN"_______TO______WG-PRN001.
000490_____MOVE____"999"_______TO______WG-PRN002.
000500_____MOVE____NC"使用中"__TO______WG-PRN003.
000510_____DISPLAY_GD-PRN.
000520_____OPEN____OUTPUT__LPF.
000530_____PERFORM_MAIN-RTN________THRU____MAIN-EXT
000540_____CLOSE___________LPF.
000550_ST-END.
000560_____STOP____RUN.
000570******************************************************************
000580_MAIN-RTN.
000590_____ACCEPT__GA-PRN.
000600_____IF____(_WG-PRN______=_______"_"_)___________GO__MAIN-EXT.
000610_____CLOSE___________LPF.
000620_____MOVE____WG-AREA_____TO______QASG0101.
000630_____MOVE____"_"_________TO______QASG0201.
000640_____CALL____"CBLASGN"___USING___LPF_____QASG01__QASG02.
000660_____MOVE____"PRN"_______TO______WG-PRN001.
000670_____MOVE____WG-PRN______TO______WG-PRN002.
000680_____MOVE____NC"使用中"__TO______WG-PRN003.
000690_____DISPLAY_GD-PRN.
000700_____OPEN____OUTPUT__LPF.
000710_________________________________________________GO__MAIN-RTN.
000720_MAIN-EXT.
000730_____EXIT.

質問などがあれば本掲示板にてお願いします。

以上です。

使用された方は感想をお願いします。

ガンバレ東日本!!
ガンバレOPユーザー!!


2 Re: 「プリンタ占有プログラム」の公開
ターラヤン 2011-6-15 1:41  [返信] [編集]

富山清風さん、いつも情報ありがとうございます。

今度の掲示板は、プログラムの前後を半角文字の[code]〜[/code]で囲むと、空白が詰められずに、正しく表示されます。(半角+小文字じゃないとダメです。[CODE]だとダメ)

以下のような具合


000010 IDENTIFICATION           DIVISION.
000020 PROGRAM-ID.              PRN999.
000030******************************************************************
000040*    PRN999使用中                                          *
000050******************************************************************
000060 DATE-COMPILED.
000070 ENVIRONMENT     DIVISION.
000080 CONFIGURATION   SECTION.
000090 SOURCE-COMPUTER.    SYSTEM150.
000100 OBJECT-COMPUTER.    SYSTEM150.
000110 INPUT-OUTPUT    SECTION.
000120 FILE-CONTROL.
000130     SELECT                      LPF
000140                 ASSIGN          LPF-PRN999.
000150 DATA                    DIVISION.
000160 FILE                    SECTION.
000170 FD  LPF
000180         LABEL RECORD OMITTED
000190         LINAGE  66.
000200 01  LP-RC                PIC X(300).
000210******************************************************************
000220 WORKING-STORAGE          SECTION.
000230 01  QASG01.
000240     03  QASG0101         PIC X(06).
000250 01  QASG02.
000260     03  QASG0201         PIC X(06).
000270 01  FILE-STATUS.
000280     03  STSXXX           PIC X(02).
000290 01  WG-AREA.
000300     03  F                PIC X(03) VALUE "PRN".
000310     03  WG-PRN           PIC 9(03).
000320 01  WG-PRN999.
000330     03  WG-PRN001        PIC N(03).
000340     03  WG-PRN002        PIC N(03).
000350     03  WG-PRN003        PIC N(03).
000360******************************************************************
000370 SCREEN              SECTION.
000380 SD  GAMEN           END STATUS  ESTS.
000390 01  GA.
000400     03  GA-PRN  LINE 23  COLUMN 77  PIC 9(03)  INTO WG-PRN
000410                     CHECK  OVERFLOW         NO  IFC.
000420 01  GD.
000430     03  GD-PRN  LINE 12  COLUMN 30  PIC N(09)  FROM WG-PRN999
000440                      BLINK REVERSE.
000450******************************************************************
000460 PROCEDURE               DIVISION.
000470 ST.
000480     MOVE    "PRN"       TO      WG-PRN001.
000490     MOVE    "999"       TO      WG-PRN002.
000500     MOVE    NC"使用中"  TO      WG-PRN003.
000510     DISPLAY GD-PRN.
000520     OPEN    OUTPUT  LPF.
000530     PERFORM MAIN-RTN        THRU    MAIN-EXT
000540     CLOSE           LPF.
000550 ST-END.
000560     STOP    RUN.
000570******************************************************************
000580 MAIN-RTN.
000590     ACCEPT  GA-PRN.
000600     IF    ( WG-PRN      =       " " )           GO  MAIN-EXT.
000610     CLOSE           LPF.
000620     MOVE    WG-AREA     TO      QASG0101.
000630     MOVE    " "         TO      QASG0201.
000640     CALL    "CBLASGN"   USING   LPF     QASG01  QASG02.
000660     MOVE    "PRN"       TO      WG-PRN001.
000670     MOVE    WG-PRN      TO      WG-PRN002.
000680     MOVE    NC"使用中"  TO      WG-PRN003.
000690     DISPLAY GD-PRN.
000700     OPEN    OUTPUT  LPF.
000710                                                 GO  MAIN-RTN.
000720 MAIN-EXT.
000730     EXIT.



BluesBB ©Sting_Band