如何取得PrinterSetupDialog中选择有打印机名

解决方案 »

  1.   

    怎么才能取出打印机的名字uses printers;
    var myprinter : integer;
    //`枚举打印机列表
    var i : integer;
        pstr : string;
    begin
        myprinter := -1;
        Memo1.Lines.clear;
        for i := 0 to printer.printers.count - 1 do
        begin
          pstr := printer.printers.string[i];
          Memo1.Lines.Add(pstr);//枚举
          if pstr = 'MyPrinter' then myprinter := i;//'MyPrinter'`为控制面板上的打印机名
          //设定打印机,初值为-1时为默认打印机
        end;
    end;
    以TQuickRep组件编程调用为例来调用设定的打印机输出:
    QuickRep1.PrinterSettings.PrinterIndex := myprinter;
    QuickRep1.Print;  
      

  2.   

    Printer.Printers[Printer.PrinterIndex]
      

  3.   

    我需要使用PrinterSetupDialog,并从中直接取名
      

  4.   

    PrinterSetupDialog并不能直接返回打印机名:
    if psd.Execute then
      Printer.Printers[Printer.PrinterIndex]
      

  5.   

    只能这样间接取值
      Printer.Printers[Printer.PrinterIndex]