岡本@金沢大学です。
先日、Delphiのコンソールアプリケーションについて
書きました。その補足記事です。
Windowsでのプログラミングで面倒に思われるものの
一つがプリンタへの出力でしょうか。
プログラムの出力がテキストファイルであれば、プログラムの
実行終了後、エディタで開いて、エディタのメニュ「印刷」を
選んで出力するという方法があります。
しかし、Delphiにはテキストを直接プリンタへ出力するための
便利な機能が用意されています。ユニットPrintersを用いると
write/writeln文でDosのときのようにプリンタに書き出すことが
できます。
添付のコンソールアプリケーションプログラム(=====で
挟まれた部分)は出力したいテキストファイル名を指定すると
それが12ポイントの明朝体で印刷されるものです。Sizeの値、
Nameに設定する名前を変えると他の大きさ、フォントになります。
また、指定する必要もありません。
============================================
{$AppType Console}
Program DosPrn;
uses Printers;
var inf, outf : TextFile;
flnm, s : string;
begin
write('テキストファイル名 = ');
readln(flnm);
AssignFile(inf, flnm); Reset(inf);
AssignPrn(outf); Rewrite(outf);
with Printer.Canvas.Font do
begin Size:=12; Name:='MS 明朝'; end;
repeat
readln(inf, s);
writeln(outf, s);
until eof(inf);
CloseFile(inf);
CloseFile(outf);
write('リターンキーを押して下さい');
readln;
end.
==============================================
プリンタ出力の基本形は次のようになります。
(1)ユニットPrintersの使用をuses節で宣言しておく。
(2)適当なテキストファイル変数、例えばoutf、を実パラメータ
としてAssignPrn手続きを実行する。
(3)AssignPrnで指定したファイル変数でRewriteを実行する。
(4)(3)の後では、write/writeln文によるAssignPrnで指定した
ファイル変数への書き出しはプリンタへの出力となります。
(5)プリンタへの出力が終了したらCloseFileを実行する。
以上
なお、ASCIIコードが12である文字Chr(12)、あるいは^L、を
出力すると改ページが行われます。
岡本 安晴
C00279 (at) simail.ne.jp
ここは心理学研究の基礎メーリングリストに投稿された過去の記事を掲載しているページです。