QuickRepのプリンタを変更する

 QuickReportのプリンタを変更するには、印刷設定のダイアログを出す方法と、コード内で直接変更する方法があります。

■ コードでレポートの印刷先を変更する例
// uses節に Printersを追加

//----------------------------------------------
//  初期処理
//----------------------------------------------
procedure TForm1.FormCreate(Sender: TObject);
begin
  //ComboBox にプリンタの一覧
  cmbPrinter.Items.Assign(Printer.Printers);
  //通常使うプリンタをデフォルトに
  cmbPrinter.ItemIndex :=  Printer.PrinterIndex;
end;

//----------------------------------------------
//  印刷情報を画面に表示
//----------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
begin
  //レポートの総ページ数を求める
  Form2.QuickRep1.Prepare;
  //開始ページを Edit に
  edtFirstPage.Text   :=  '1';
  //終了ページを Edit に
  edtLastPage.Text    :=  IntToStr(
                             Form2.QuickRep1.QRPrinter.PageCount);
end;

//----------------------------------------------
//  印刷処理
//----------------------------------------------
procedure TForm1.Button2Click(Sender: TObject);
begin
  //レポートの印刷先プリンタを変更
  Form2.QuickRep1.QrPrinter.PrinterIndex:=   
                cmbPrinter.ItemIndex;
  //印刷開始ページ
  Form2.QuickRep1.QrPrinter.FirstPage   :=  
                StrToIntDef(edtFirstPage.Text, 1);
  //印刷終了ページ
  Form2.QuickRep1.QrPrinter.LastPage    :=  
                StrToIntDef(edtLastPage.Text,  1);
  //印刷
  Form2.QuickRep1.QrPrinter.Print;
end;