我想将不同的报表自动输送到公司内部网络不同的打印机上,而不出现打印机的选择窗口?(100分)

  • 主题发起人 主题发起人 hwchen
  • 开始时间 开始时间
H

hwchen

Unregistered / Unconfirmed
GUEST, unregistred user!
公司内部网络有几台打印机,
我想将不同的报表自动输送到公司内部网络不同的打印机上
不要出现PrinterSetupDialog1.Execute来选择,或者打印前的选择?
谢谢!
 
试试:
先在本机上安装所有打印机(包括本地和网络的),然后:

uses
Printers;

procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin

//QuickRep1.ShowProgress := False;
//隐藏进度条
for I:=0 to Printer.Printers.Count -1do

begin

//ShowMessage('To: '+Printer.Printers.Strings);
QuickRep1.PrinterSettings.PrinterIndex := I;
QuickRep1.Print;
{//如果不是QuickRep,可以这样:
Printer.PrinterIndex := I;
SetPrinter(Printer);
}
//ShowMessage('Done: '+Printer.Printers.Strings);
end;

end;

 
怎样根据打印机的名字来选择 Printer.PrinterIndex
因为我不能将报表送到所有的打印机上啊
比如我安装两个打印机 ESPON-LQ300K(本地)
和 ESPON-LQ1600K(网络上的)
我怎样在程序里根据打印机的名字来选择Printer.PrinterIndex

谢谢!

 
for I:=0 to Printer.Printers.Count -1do

if Printer.Printers.Strings='ESPON-LQ300K' then

...;
 
PRINTER.Printers表示当前机器上安装的所有打印机,PRINTER.PrinterIndex则表示你要
输出的打印机的序号.
 
多人接受答案了。
 
后退
顶部