如何同时向两台打印机传送打印内容

解决方案 »

  1.   

    如果使用FASTREPORT控件,在控件中指定打印机的名字,或网络路径就可以了,以前做过。
      

  2.   

    uses
      printers获取所有的打印机名称到ComboBox2中ComboBox2.Style := csDropDownList;
    ComboBox2.Items := Printer.Printers;发送打印信息到ComboBox2中的打印机
    for i:=0 to combobox2.Items.Count-1 do
    begin
      combobox2.ItemIndex := i;
      frxReport1.PrepareReport;
      frxReport1.PrintOptions.Printer := trim(ComboBox2.Text);
      frxReport1.PrintOptions.PrintPages := ppall;
      frxReport1.PrintOptions.ShowDialog := false;
      frxreport1.Print;
    end;
      

  3.   

    在此请教各位,怎样设置指定名字的打印机为默认打印机? 我知道用这个
    SetPrinter(ADevice, ADriver, APort: PChar; ADeviceMode: THandle);
    但是那些参数怎么用啊,难道用
    GetPrinter (ADevice, ADriver, APort: PChar; var ADeviceMode: THandle);
    先获得所有打印机的信息,然后遍历找出指定打印机的信息再使用
    SetPrinter(ADevice, ADriver, APort: PChar; ADeviceMode: THandle);
    设置默认打印机?
    别的参数都明白就这个ADeviceMode不明白,他的值是什么型的啊,什么意义?提示楼主,应该可以通过设置默认打印机先打一份再设另一为默认打印机再打一份,我在VB里是这么用的.
    这方面的东西找了好几天了,还没找全湖,因为第一次用delphi 的 printer打印东西,比较迷糊啊,请高人指点迷津.
      

  4.   

    /****设置打印机***
    procedure gProSetPrnIndex(pName:string);
    begin
       if printer.Printers.IndexOfName(pName) >=0 then
          printer.PrinterIndex:= printer.Printers.IndexOfName(pName);
    end;precedure proPrintTwoPageTest;
    begin
       gProSetPrnIndex('第一台打印机');
       printer.begindoc;
       printer.Canvas.TextOut(20,60,'编号:') ;
       printer.endDoc;
       
       gProSetPrnIndex('第二台打印机');
       printer.begindoc;
       printer.Canvas.TextOut(20,60,'33333333test:') ;
       printer.endDoc;
    end;