Olá pessoal! É o seguinte: há alguns meses atrás estava querendo uma rotina para que eu pudesse selecionar a impressora em que iria imprimir o relatório, ai me veio a dúvida de como fazer isso. Como não sou um expert em Delphi, consegui fazer um meio disto acontecer com um pouco de pesquisa e com a ajuda de alguns amigos aqui na net e, agora estou compartilhando o resultado.

Bem, vamos ao que interessa. Declare na cláusula uses a unit Printers.

Coloque no form um ComboBox e no evento onCreate do form, faça:

  ComboBox1.ItemIndex := 0;

Ainda no form, faça no evento onShow:

  ComboBox1.Items.Assign(Printer.Printers);

Agora no botão de Imprimir, antes da linha que imprime o relatório, basta alterar a impressora padrão do componente de relatório, no caso, do QuickReport, como no exemplo:

  Application.CreateForm(TForm2, Form2); //Cria o form. do relatório
  try
    Form2.QuickRep1.PrinterSettings.PrinterIndex := ComboBox1.ItemIndex; //Define a impressora selecionada
    Form2.QuickRep1.Print; //Imprime o relatório
  finally
    Form2.Release; //Libera o Form da memória
  end;