- Arcpit Infomation

ホームページに戻る


ダウンロードができ
ない場合の対処法
 

print0
C言語用印刷支援ツール&プログラム


 MS-DOSのアプリケーションで印刷を行うのはそれほど簡単なことではありません。もちろんリストの様に文字だけ、それも位置も決めない印刷で良いのであれば簡単ですが、伝票のような印刷位置がきちんと決まっていつ印刷や、表を罫線できれいに印刷するのは大変なことです。イメージデータやタイルなどの印刷も簡単ではありません。
 また、いろいろなプリンタに対応させるには、機種の違いを考慮し、さらに動作のチェックも手間がかかります。プリントで〜ぐは、DOSアプリケーションで、きれいで簡単な印刷を行うための、C言語用ツール&組み込みプログラムです。

特徴

各種プリンタをサポート 作成から実行まで
プリントで〜ぐは、以下のプリンタの制御コードをサポートします。
  1. NEC PC-PR系ラインプリンタ
  2. NEC NPDL系ページプリンタ
  3. EPSON ESC/P(24-J82以上)系プリンタ
 位置の固定した定型の印刷物である納品書や帳票などは、プリントで〜ぐのもっとも得意とする印刷です。0.1mmの精度で位置を決め、そこに文字のサイズ、文字数、スタイル等を定義したデータファイルを作成します。そしてアプリケーションでデータファイルをロードして定義位置に文字を流し込むだけで印刷できます。罫線やタイル付きボックスやイメージデータも指定するだけで印刷できますので、今までやっかいだった表やグラフィックの印刷も奇麗で簡単にできます。
 プリントで〜ぐが動作する環境は、たいへん広くなっています。PC-9801とDOS/Vマシンの全機種をサポートします。ただし組み込みプログラムはソースコードで提供しており、機種に依存する部分は、プリンタへの1文字出力関数だけです。この小さなプログラムをユーザが変更すれば、どのマシンでも動作するでしょう。
  1. ロゴや図形のどのイメージを印刷したい時は、パネルで〜ぐのパターンエディタかBMPファイルを作成するパターンエディタで図形を作成します。それをPEDUTY/BMP2PEXで変換します。
  2. 印刷の定義は、APDL(アークピットプリント記述言語)と言うBASICライクな言語で記述します。これはテキストエディタで作成し、PRの拡張子で保存します。
  3. PRMAKEでPRファイルを実行プログラムで直接扱うPRFファイルに変換します。このときプリンタの機種を指定します。複数のプリンタに対応したいときは、別名のPRFファイルを作成します。
  4. PRPACKで複数のPRFファイルを1つのファイルに統合します。また圧縮も行います。
  5. ユーザのアプリケーションプログラムに、pr_open,pr_load,pr_print等の関数をコールして印刷処理をコーディングします。
  6. ユーザのアプリケーションと組み込みプログラムのPR.Cファイルをコンパイルし、実行プログラムを作成します。その時PR.Hファイルをインクルードします。


小さな組み込みプログラム
 プリントで〜ぐは、アプリケーションに組み込むことを目的としたシステムです。それには以下の要素は見逃せません。
  1. 組み込みプログラムは、4K〜8KBytesの小さな関数です。
  2. 組み込みプログラムは、ソースで提供します。
  3. すべてのプリンタで共通に使用できます。
  4. ほとんどあらゆるコンパイラで使用できます。
  5. データは用途ごとにプリンタ別で作成します。
  6. データは通常はファイルで必要な時だけメモリにロードします。
  7. データ部はメモリとEMSのどちらかを選べます。
 組み込みプログラムはソースで提供し、その大きさは全部で650行ちょっとです。オブジェクトではコンパイルスイッチにより多少異なりますが、4k〜8KBytes程度です。このこの程度の大きさならユーザプログラムを圧迫する心配はありません。しかもこのプログラムは、サポートしているプリンタで共通に使用できます。プリンタ別には別れていません。さらにデータはEMSを使用できます。その場合は、メインメモリをまったく使用しません。またmallocで確保したデータエリアを使用することもできます。すべてのシステムがEMSを持っているとは限りませんので、これは重要です。  データサイズは見積書でも8K〜20KBytes(対象プリンタで異なる)ですみます。ファイル上では圧縮もサポートしますので、3KBytes程度しか占有しません。さらに多くのデータを1ファイルに統合できるので、管理もディスクスペースもあまり多くを必要としません。またロイヤリティは一切必要ありません。

組み込みプログラム関数の仕様
■PRシステムを初期化し、データエリアを確保する。
int pr_open(int emsf,char *data,word size)
emsfメモリなら0、EMSなら1
dataメモリの場合のデータポインタ
sizeデータサイズ(EMSの場合は、16KBytesで1)

■PRシステムの使用を終了し、EMSなら開放する。
int pr_close(void)

■PRFファイルをメモリかEMSにロードし、印刷する準備を行う。
int pr_load(char *fname,char *name)
fnamePRFファイル名
name登録名(MNULLなら最初の定義が対象)

■印刷を実行する。
int pr_print(char *msg)
msg印刷する文字列

■印刷中に中断するための関数のポインタ。
int (*pr_abortcheck)(void)
印刷を中断するユーザ関数を設定する。

APDL仕様

■言語基本部

定数 10進数 16進数 文字列
変数 a%(数値) a$(文字列) a%[b%](配列)
算術演算子 + − * /
関係演算子 = << > <= >= <>
論理演算子 & |
関数 asc%(s$) len%(s$) str$(n%) chr$(n%) lft$(s$,n%)
rgt$(s$,n%) mdl$(s$,n%)
その他 =(代入) ( )

■印刷関連命令

reset プリンタをソフトウェアリセットする
paper 用紙サイズとプリンタのDPI(NPDLのみ)設定
read 固定文字列の指定とユーザからの文字読込のための変数とサイズ設定
set read域に固定の文字列を設定
dputs/ch 文字列と文字のプリンタへの直接出力
paging 用紙のページング
jump 無条件にジャンプ
je read域と文字を比較して分岐
base 座標基点の設定
expand 文字の縦と横の拡大率を設定
style 文字の斜体や強調などの飾り設定
role 文字の回転角の設定(NPDLのみ)
slope 文字の斜めの配列の設定(NPDLのみ)
font ANKと漢字のフォント種の設定
lsize 線の太さをドットで設定
tile タイルパターンの登録
string 指定位置にANKかサイズの自由な漢字を印刷
hline 指定位置に線種指定して複数の水平線を印刷
vline 指定位置に線種指定して複数の垂直線を印刷
box 指定位置に線種とタイルを指定して箱を印刷
image 指定位置へイメージデータを印刷
line 線種指定しての斜線の印刷(NPDLのみ)
circle 線種とタイルで円を印刷(NPDLのみ)
paint 閉鎖空間のタイル印刷(NPDLのみ)

サンプルのリストは ここ をクリックすると表示します。


動作環境とCコンパイラ

 プリントで〜ぐが動作する環境は非常に幅がひろく、ほとんどのマシンで動作します。また高速なCPUや多量のメモリを必要としません。

98版本体 PC-9801シリーズか、EPSON PCシリーズ
DOS/V版本体 DOS/V 準拠のIBM-PCの100%互換機
メモリ 640KBytes(PRMAKEで必要)
EMSメモリ EMXに対応(必要あれば使用してください)
OS MS-DOS v3.1 以上

サポートするC言語
Microsoft C Compiler Ver 6.0
Microsoft C/C++ Compiler Ver 7.0
Microsoft Visual-C++ Compiler Ver 1.0/1.5
Microsoft Quick C Compiler Ver 2.0
BORLAND C++ Ver 2.0/3.0/3.1
TURBO C Ver 2.0/C++ Ver 2.0
(C++の機能は使用していません)

価格と構成
■プリントで〜ぐ ・・・・・・ 32,000円(税別)
ツールと組み込みプログラムの構成です。

arcpit