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

NECオフコン関連
オフコン一般
情報
[掲示板に戻る全部  1-  最新50
1 プリンタ制御コードを使用したCOBOLプラグラムのCOMPILE&LINK指定
昔のITOS 2011-5-18 12:01  [返信] [編集]

COBOLでプリンタ制御コード(文字ピッチ指定)を使って、汎用用紙に160文字(ANK)を編集しているプログラムがあるのですが、この制御コード有効にするには、COMPILE又はLINKでどのような指定をすれば有効になるのでしょうか?

マニュアル等がなくなっていて、困っています。
ご存知の方がいらっしゃれば教えてください。
2 Re: プリンタ制御コードを使用したCOBOLプラグラムのCOMPILE&LINK指定
昔のITOS 2011-5-18 12:25  [返信] [編集]

【追記】
該当プログラムが現在動いているものです。
(15年程前に開発したプログラムです。)
3 Re: プリンタ制御コードを使用したCOBOLプラグラムのCOMPILE&LINK指定
富山清風 2011-5-18 12:35  [返信] [編集]

昔のITOS 様
こんにちは

特に変わった指定はないかと、思います。
すなわち、「プリンタ制御コード」を使用していない
プログラムと同一です。

もし、COMPILE又はLINKでエラーが出れば、
そのメッセージを投稿いただければよいかと思います。
4 Re: プリンタ制御コードを使用したCOBOLプラグラムのCOMPILE&LINK指定
昔のITOS 2011-5-18 15:31  [返信] [編集]

そうですよね。
自分でもそのように記憶していたので、オプション等もごくごく標準的なしていだけで、COMPとLINKをしたのですが。。。
COMP、LINKでエラーがでる訳ではなく、正常に終了します。

が、実際にそのLMを実行すると何も出力されないのです。
5 Re: プリンタ制御コードを使用したCOBOLプラグラムのCOMPILE&LINK指定
回転の達人 2011-5-19 12:58  [返信] [編集]

 プリンタ制御コードではないのですが、文字数を沢山印字できるようなサブルーチンをはるか昔に作った事があります。
 1バイト半角文字と2バイト半角文字の対応テーブルを作成し、2バイト半角文字に変換して、ピッチ詰めすれば、1バイト半角132文字が176文字印字可能になります。 ひょとして、こんなサブルーチンを使っていないですか。
6 Re: プリンタ制御コードを使用したCOBOLプラグラムのCOMPILE&LINK指定
ターラヤン 2011-5-20 1:19  [返信] [編集]

こんにちは。

現在うまく動いているプログラムと何も出力されないプログラムで、同じプリンタに出力しているのでしょうか。
つまり、うまく動いているプログラムはちゃんと出力されて、新しくコンパイルし直した方だと、同じプリンタに出力しても駄目なのでしょうか。

うまくいっているものと駄目なものは、同じプリンタに出力しているのか、違うプリンタに出力しているのか、ちょっと気になりました。

プリンタの機種によって、使える制御コード、使えない制御コードがあります。
CPについても、機種によって、使えるピッチ、使えないピッチがあります。
それにプリンタメーカーによっては、制御コードの体系自体が異なることもあります。

その制御コードに対応していないプリンタだと、文字化けしたり、何も出なかったりします。
もし、違うプリンタに出力しているようであれば、試しにうまくいっているプリンタの方で試してみてはどうでしょうか。
7 Re: プリンタ制御コードを使用したCOBOLプラグラムのCOMPILE&LINK指定
昔のITOS 2011-5-20 9:53  [返信] [編集]

ご指摘ありがとうございます。

残念ながら、同じプリンターで、かつ同じ入力ファイルを使って実行した結果です。
8 Re: プリンタ制御コードを使用したCOBOLプラグラムのCOMPILE&LINK指定
昔のITOS 2011-5-20 9:58  [返信] [編集]

ご指摘ありがとうございます。

コード変換等は行わず、プリントエリアの先頭に制御コードをセットして、writeしています。
9 Re: プリンタ制御コードを使用したCOBOLプラグラムのCOMPILE&LINK指定
温泉好きのうさぎ 2011-5-24 0:46  [返信] [編集]

なんとか解決の糸口を見つけてあげたいと思うのですが、あまりにも情報が少なすぎます。社内守秘義務にひっかかるような問題でもあるのでしょうか。せめて、以下の内容ぐらい教えていただけませんでしょうか。

(1) コンパイルやリンクに疑問があるのであれば、実際に指定したパラメータは何なのでしょうか。

(2) 文字ピッチ指定(CP)の制御コードは、具体的には何でしょうか。ソースリスト上では、どうコーディングされていますか。

(3) 「汎用用紙に160文字(ANK)を編集」とありますが、CPの制御コードをCEXシーケンスで定義しているのであれば、それは日本語プリンタのみ使用可能です。ANKプリンタは不可。
プログラムでプリンタの定義が日本語プリンタとなるよう指定していますか、さもなくば出力されたLMのプリンタ属性をJIPSに変更していますか。また、プリンタの機種名は。

(4) 「そのLMを実行すると何も出力されない」とありますが、具体的にどんな動作をするのでしょうか。たとえば、
 ・プリンタがまったく反応しない。
 ・空白を印字している。改行、改ページのみ。
 ・文字ピッチ制御をしたい部分のみ出力されない。他の部分は出力される。
 ・文字化けをして出力されている。全部、一部。

(5) LM実行中プリンタは間違いなくオープンされていますか。
10 Re: プリンタ制御コードを使用したCOBOLプラグラムのCOMPILE&LINK指定
ルリルリ 2011-5-27 19:36  [返信] [編集]

以前コンパイルした時の
OS、並びにCOBOLかCOBOL85のVER.等は判りますか?

文字ピッチは、7.2 9.6 10.8 14.4 18.0 21.6 25.2
が使用可能です。
この文字ピッチがどうか確認下さい。
11 Re: 制御コードはなんですか?(プリンタ制御コードを使用したCOBOLプラグラムのCOMPILE&LINK指定)
江須扇 2011-5-29 17:38  [返信] [編集]

大変失礼ですが、下記の内容が良くわからないのですが?

>COBOLでプリンタ制御コード(文字ピッチ指定)を使って、汎用用紙に160文字(ANK)を編集している

汎用用紙とは11x15インチの連続用紙のことですか?

160文字(ANK)とは1バイト系を指定しているのですか?
それともプリンタの出力レコードがPICTURE X(160)を意味しているのです?

文字ピッチ指定とは
CP(CEX c”$”P1、x”3FE0”P1)ですか?
これは、2バイト用ですよね
AGS(CEX x”46”P1P1、x”3F46”P1P2)
は1バイト系の文字サイズ指定ですが、1バイト系は文字サイズしか指定出来ず。しかもNIP(レーザープリンタ)しか対応してません。
質問内容が抽象的ですと皆様の回答も抽象的になると思います。

修正前プログラムをそのままコンパイルしたらどうなるのでしょうか? 
その場合はちゃんと出力されると言うことですか?

制御コードが正しく実行できないと、全く出力されないのでは、現象がちがうとおもいます。

全く出力されないという事であれば、大変失礼ですが、別の原因が考えれれます。
例えば
1.サブプログラムをリンクする必要があるがリンクできてない
2.直接スプール出力でスプールに印刷されている
3.特定プリンタ指定又は、システムプリンタ指定で実はそちらに出力されている

12 Re: 制御コードはなんですか?(プリンタ制御コードを使用したCOBOLプラグラムのCOMPILE&LINK指定)
富山清風 2011-6-3 12:04  [返信] [編集]

>>制御コードはなんですか
たぶん下記の内容だと思います。(あくまで想像ですが)

ANK部分
「汎用用紙に160文字(ANK)を編集している」とは、たぶん163文字印字しているのだと思います。
(163とは:136*12CPI/10CPI→163.2→切捨てで163)

漢字部分
(163とは:136*14.4ポイント/12.0ポイント→163.2→切捨てで163)

小生は下記コーディングにて「汎用用紙に163文字(ANK/漢字混在可)を印字」しています


01 PR-01.
__03 FILLER PIC X(08) VALUE ""3F46405079407DA0"". 12CPI     ANK文字サイズ(ANK開始用)
__03 FILLER PIC X(05) VALUE ""3FE04F7F75"".    12.0ポイント 文字ピッチ(漢字開始用)
__03 PR-163 PIC X(163).
__03 FILLER PIC X(05) VALUE ""3FE04FE080"".    14.4ポイント 文字ピッチ(漢字終了用)
__03 FILLER PIC X(08) VALUE ""3F46407D59404D76"". 10CPI     ANK文字サイズ(ANK終了用)
[掲示板に戻る全部 次100 最新50
BluesBB ©Sting_Band