|
何を印刷するのか?幾つかのパターンがあります。
@フォーム画面そのままハードコピー
フォームには、Printメソッドがあります。例えば、
と実行するだけで、そのフォーム画面そのまま印刷する事が出来ます。
A簡単に文字情報を印刷したい
プリンタ出力を行いますので、最初の uses節に「Printers」を追加します。印刷するプログラムは、以下のようになります。
var
Prn : System.Text ; // プリンタ用ファイル変数の宣言
begin
・・・
AssignPrn(Prn); // ファイル変数をプリンタに関連付
Rewrite(Prn); // プリンタをファイルとしてオープン
{ フォント指定 }
Printer.Canvas.Font.Name := 'MS 明朝' ;
Printer.Canvas.Font.Size := 12 ; // 12 Point
Write(Prn, 'Sample '); // 文字「Sample」を印字
WriteLn(Prn, 'TEST'); // WriteLnは改行します
・・・
CloseFile(Prn); // 最後には必ずクローズします
・・・
end; |
Bグラフィックスを印刷したい
Imageコンポーネントに絵を描くのと同じように、プリンタにも絵を描かせる事が出来ます。
プリンタ出力を行いますので、最初の uses節に「Printers」を追加します。印刷するプログラムは、以下のようになります。
Printer.BeginDoc ; // 印刷開始
{ 文字の背景色で前の文字を消さないようにする }
Printer.Brush.Style := bsClear ;
{ 文字フォント名の指定;MS 明朝 }
Printer.Font.Name := 'MS 明朝' ;
{ 文字スタイルの指定;追加属性無し }
Printer.Font.Style := [] ;
{文字サイズの指定;12 point}
Printer.Font.Size := 12 ;
{文字ピッチの指定;固定ピッチ}
Printer.Font.Pitch := fpFixed ;
{ 文字を印刷 }
Printer.Canvas.TextOut(x,y,'テスト');
Printer.NewPage ; // 改頁(次から2頁目になります)
Printer.Canvas.Pen.Color := clBlack ; // ペンの色
Printer.Canvas.Pen.Width := 1 ; // 線幅
Printer.Canvas.Pen.Style := psSolid ; // 線種
Printer.Canvas.Brush.Style := bsClear ; // 塗潰し無し
Printer.Canvas.Rectangle(x1,y1,x2,y2); // 四角を描画
Printer.EndDoc ; // 印刷終了 |
印刷する前には、プリンタの指定を行いたくなります。その場合には、[Dialogs]内の[PrinterSetupDialog]コンポーネントをフォームにドラッグし、メニュークリック時やボタンクリック時などで、
PrinterSetupDialog1.Execute; |
として印刷設定画面を表示(実行)させます。ここで選択したプリンタ、プリンタ設定で印刷される事になります。
また、[Dialogs]内の[PrintDialog]コンポーネントを使って、印刷実行をさせる事は可能ですが、この際に指定するコピー枚数等は、指定したからといっても自動的に有効となる訳ではありませんので、そのプロパティ値を読み取って、繰り返し処理等は自分でプログラミングする必要があります。
プリンタ設定によって印刷状態が変わります。
i := Printer.PrinterIndex ; // 現在のプリンタの番号
s := Printer.Printers.Strings[i] ; // 現在のプリンタ名
Printer.Orientation:poPortrait :印刷方向:垂直方向
Printer.Orientation:poLandscape:印刷方向:水平方向
px := Printer.PageWidth ; // ページの幅(ピクセル値)
py := Printer.PageHeight ; // ページの高さ(ピクセル値) |
|
|
CAD装置(1)
CAD装置(2)
メディア
AutoCADの
DIESELマクロ
CSV
DXF
PCES
IGES
STEP
数学とCAD
CAD作ろ!
▲PREV
▼NEXT
|