岡本@金沢大学です。 先日、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
ここは心理学研究の基礎メーリングリストに投稿された過去の記事を掲載しているページです。