请问delphi怎样取出并选择打印机的名字(100分)

  • 主题发起人 主题发起人 cmslj
  • 开始时间 开始时间
C

cmslj

Unregistered / Unconfirmed
GUEST, unregistred user!
请问您,怎么才能取出打印机的名字,有函数吗????请给我一个例子好吗?
或者是取出媚态打印机的ip地址
 
uses printers;
var myprinter : integer;
//`枚举打印机列表
var i : integer;
pstr : string;
begin
myprinter := -1;
Memo1.Lines.clear;
for i := 0 to printer.printers.count - 1do
begin
pstr := printer.printers.string;
Memo1.Lines.Add(pstr);//枚举
if pstr = 'MyPrinter' then
myprinter := i;//'MyPrinter'`为控制面板上的打印机名
//设定打印机,初值为-1时为默认打印机
end;
end;
以TQuickRep组件编程调用为例来调用设定的打印机输出:
QuickRep1.PrinterSettings.PrinterIndex := myprinter;
QuickRep1.Print;
 
var PrinterSetupDialog: TPrinterSetupDialog;
//打印对话框
begin
PrinterSetupDialog := TPrinterSetupDialog.Create(nil);
//执行打印设置框,获得最新信息
PrinterSetupDialog.Execute;
PrinterSetupDialog.Free;
end;
 
打印机相关资料:http://www.delphibbs.com/keylife/iblog_show.asp?xid=6194
 
注释:我的打印机有十几台。 我在点击‘开始打印’按钮时,就开始打印 ,但是打印是有条件的,就是根据不同的条件,让不同的打印机去打印,例如:
if adotable1.fieldvalus['菜类']='01' 的 让lenged001 打印,
if adotable1.fieldvalus['菜类']='02' 的 让lenged002 打印,.........
但是这是同时打印的,我不想用索引值控制打印机,我想用打印机的名字控制打印机,
怎么才能控制打印机的名字那??帮帮我好吗???
 
后退
顶部