[fpr 961] Windowsでのプリンタ出力

岡本安晴

岡本@金沢大学です。

  先日、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


スレッド表示 著者別表示 日付順表示 トップページ

ここは心理学研究の基礎メーリングリストに投稿された過去の記事を掲載しているページです。