喫茶XRAYトップページ

[スレッド全体
]

[13314] プレインテキストの印刷返信 削除
2020/4/17 (金) 08:55:01 Mr.XRAY
[ memo1の文を印刷したいのですが?? ]
https://www.petitmonte.com/bbs/answers?question_id=29712
相も変わらずですが.
  何故に ? が 2 つなの
  Memo1 という固有名は使わない --> TMemro
  この前の質問の時に指摘されていた出典なし
  TextHeight のヘルプみても --> 本当に見て読んだの ??? (3 つ)
  肝心の質問の TextHeight が提示コードにない
  PC-9801 --> えっ? Delphi 初めてなの ?

FAQ と言えますね.
とにかく印刷したいのであれば AssignPrn, TextFile でよろしいのては.
TCanvas.TextRect 使うと便利ですけどね.


procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo1.ScrollBars := ssVertical;
  Memo1.Lines.LoadFromFile('ABC.txt');
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  LPrn: TextFile;
begin
  AssignPrn(LPrn);
  try
    Rewrite(LPrn);
    try
      writeln(LPrn, Memo1.Lines.Text);
    finally
      CloseFile(LPrn);
    end;
  except
    on EInOutError do
      MessageBox(Handle, '印刷エラー', '印刷', MB_ICONWARNING);
  end;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
  LFormat : TTextFormat;
  LRect   : TRect;
  LText   : string;
  LWidth  : Integer;
  LHeight : Integer;
begin
  LFormat := [tfLeft, tfWordBreak];
  LText   := Memo1.Lines.Text;

  LRect   := Printer.Canvas.ClipRect;
  LWidth  := LRect.Right - LRect.Left;
  LHeight := LRect.Bottom - LRect.Top;
  SetRect(LRect, LRect.Left + LWidth div 10,
                 LRect.Top + LHeight div 12,
                 LRect.Right - LWidth div 10,
                 LRect.Bottom - LHeight div 10);

  Printer.BeginDoc;
  try
    Printer.Canvas.TextRect(LRect, LText, LFormat);
  finally
    Printer.EndDoc;
  end;//
end;


[13319] Re:プレインテキストの印刷返信 削除
2020/4/17 (金) 23:24:53 Mr.XRAY
TPrinter.Canvas.TextOut を使用した結果です.

procedure TForm1.Button4Click(Sender: TObject);
var
  LText   : string;
begin
  LText   := Memo1.Lines.Text;

  Printer.BeginDoc;
  try
    Printer.Canvas.TextOut(300, 300, LText);
  finally
    Printer.EndDoc;
  end;//
end;



[▼次のスレッド]
INCM/CMT
Cyclamen v3.82