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

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

[掲示板に戻る]


Re: プリンタの印字についてのご質問 名無しさん 2012-7-26 10:48
Re: プリンタの印字についてのご質問 近藤 2012-7-27 23:37
Re: プリンタの印字についてのご質問 ど素人 2012-7-31 9:32

4 Re: プリンタの印字についてのご質問
名無しさん 2012-7-26 10:48  [返信] [編集]

早速のご回答ありがとうございます。
紛らわしい質問をしてしまったので、簡素化したプログラムで質問致します。

<印刷する内容>
☆一覧表☆
コード 氏 名 金額

という2行の印字をしたい場合で、『☆一覧表☆』を印字後ACCEPT
して印字されたか目視で確認後、『コード 氏 名 金額』を
印字するというプログラムです。
以下ソース
000010 IDENTIFICATION DIVISION.
000020 PROGRAM-ID. AAA003.
000030 ENVIRONMENT DIVISION.
000040 CONFIGURATION SECTION.
000050 INPUT-OUTPUT SECTION.
000060 FILE-CONTROL.
000070 SELECT DPFL ASSIGN TO DP-PRN999.
000080*
000090 I-O-CONTROL.
000100* (印刷ファイル)
000110 APPLY SHIFT-CODE ON DPFL.
000120*
000130 DATA DIVISION.
000140 FILE SECTION.
000150* (印刷ファイル)
000160 FD DPFL LABEL RECORD OMITTED
000170 LINAGE IS 66.
000180*
000190 01 DPFL-R PIC X(136).
000200*
000210 WORKING-STORAGE SECTION.
000220 01 WORK-AREA.
000230 03 END-STATUS.
000240 05 ADV PIC X(02) VALUE "04".
000250 03 WK-ADV PIC X(01).
000260*-----------------------------------------------------------------*
000270* 印刷領域 *
000280*-----------------------------------------------------------------*
000290 01 P-TITLE.
000300 03 FILLER PIC X(10) VALUE "☆一覧表☆".
000310 03 FILLER PIC X(126).
000320 01 P-MIDASHI.
000330 03 FILLER PIC X(04) VALUE "コード".
000340 03 FILLER PIC X(03).
000350 03 FILLER PIC X(06) VALUE "氏 名".
000360 03 FILLER PIC X(08).
000370 03 FILLER PIC X(08) VALUE "金額".
000380 03 FILLER PIC X(107).
000390*-----------------------------------------------------------------*
000400* 画面定義 *
000410*-----------------------------------------------------------------*
000420 SCREEN SECTION.
000430 SD GAMEN END STATUS IS END-ST.
000440*
000450 01 SCR01 CLEAR SCREEN.
000460 03 LINE 01 COLUMN 01 PIC N(14) VALUE
000470 NC"☆一覧表印刷☆".
000480 01 AC-AREA.
000490 03 AC-ADV LINE 22 COLUMN 68 PIC X(01) 確認
000500 USING WK-ADV
000510 NO IFC CHECK OVERFLOW.
000520*
000530 PROCEDURE DIVISION.
000540*
000550 BEGINNING.
000560 DISPLAY SCR01.
000570 OPEN OUTPUT DPFL.
000580* (1行目印刷)
000590 WRITE DPFL-R FROM P-TITLE AFTER 2
000600 END-WRITE.
000610* (印刷されたか確認するためACCEPT)
000620 ACCEPT AC-ADV.
000630 EVALUATE END-ST
000640 WHEN ADV
000650* (F10キー押下で2行目印刷)
000660 WRITE DPFL-R FROM P-MIDASHI AFTER 2
000670 END-WRITE
000680 WHEN OTHER
000690* (他キーは終了)
000700 CONTINUE
000710 END-EVALUATE.
000720 CLOSE DPFL.
000730 STOP RUN.
62行目のACCEPTでは1行目が印字されているはずなのに印字されず、
F10キー押下後に1行目が印字され、CLOSE処理で2行目が印字されます。
よろしくお願い致します。
9 Re: プリンタの印字についてのご質問
近藤 2012-7-27 23:37  [返信] [編集]

ソースを要求したのに
大変遅くなり、すみませんでした。
すっかりわすれてました。

たしかにプログラム的には問題ないような気がしますね。

ACCEPT要求をしてるときに印字されていないとなるとおかしいですよね。

プログラムではなければプリンタになるのですが・・・・

考えられるのが、あるような気がします。
会社に帰ってからはっきりわかりますが、プリンタ側の設定で変えられるのですが、思い出せません。

write命令をだしてもプリンタ側にある程度溜め込めなければ印字しないような設定になっているのではないのでしょうか?

サーバのプリンタ設定でラインプリンタを見てもらう事になります。プリンタ設定の中に
アルファベット
3文字
E??
???
???
???
  3から4種類を選択できる所がありますが
  この箇所を変えれば直出力になります。

自宅ではわからないので、月曜日まで持ち越すか
どなたかわかる人にお任せします。    

中途半端な回答になりすみません。

(ラインプリンタが会社になくUSER先に行かないと確認が取れませんw
3文字がまったくでてこないw
"E"がついて、"U"もついてたような気がします、悔しいです)










11 Re: プリンタの印字についてのご質問
ど素人 2012-7-31 9:32  [返信] [編集]

ご回答ありがとうございます。

他の回答者様からAFTER 0を使用してみてはと
言われたのでBEFOREで印字し最後にSPACE行のAFTER 0
を使用したところ印字できるようになりました。

ただプリンタ設定でどうにかなるのであればそちらの方が
良いので詳細が分かりましたらお教え下さい。

BluesBB ©Sting_Band