線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:4121
推到 Plurk!
推到 Facebook!

如何取得自行設定預設印表機

尚未結案
ellen
一般會員


發表:1
回覆:3
積分:0
註冊:2002-12-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-09-26 12:21:51 IP:211.21.xxx.xxx 未訂閱
如何由程式自行取得及設定預設印表機(網路) 非常緊急,請各位高手幫忙,謝謝!!!
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-09-26 12:37:01 IP:202.39.xxx.xxx 未訂閱
取得: http://www.q3.nu/trucomania/truco.cgi?311&ing    設定: http://sandbrooksoftware.com/DPSC/Tips/Latium/delphi025.html    --- 歡迎光臨 KTop 研究院 發表人 -
ellen
一般會員


發表:1
回覆:3
積分:0
註冊:2002-12-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-09-26 13:08:20 IP:211.21.xxx.xxx 未訂閱
對不起,未詳述問題 , 情形如下 :     此程式會印出領貨單 , 但緊急單將從 A 印表機印出, 一般單從 B 印表機印出, 此 PC(win2000) 安裝2台網路印表機(so win.ini 無印表機設定) ps . 1.   delphi 程式中已可取出已經安裝之所有印表機名稱      2. 可否從 PrinterSetupDialog 中設定 ??  謝謝 !!
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-09-26 13:32:48 IP:202.39.xxx.xxx 未訂閱
1.將系統可用的印表機載入 ListBox1 中:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ListBox1.Items.Assign(Printer.Printers);
  // 對照 ListBox1 上的印表機,
  // 您可用 Printer.PrinterIndex 來指定哪一台印表機
end;
2.呼叫 PrintDialog1
begin
  if PrintDialog1.Execute then
    // 呼叫出 PrintDialog1 後, 更改對話方塊內的印表機, 
    // 按下確定後做您要做的事
end;
--- 歡迎光臨 KTop 研究院
ellen
一般會員


發表:1
回覆:3
積分:0
註冊:2002-12-26

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-09-26 14:11:01 IP:211.21.xxx.xxx 未訂閱
謝謝 hagar , 我已利用方法一,測試成功, 但方法二,我仍想知到結果 , 因為此程式是在無人操作下執行, 所以無法手動設定, printDialog1中有無任何函數可設定,謝謝
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-09-26 15:15:51 IP:202.39.xxx.xxx 未訂閱
弟看了一下,  TPrintDialog 或 TPrinterSetupDialog 沒有直接的函數可以直接設定    --- 歡迎光臨 KTop 研究院
japhenchen
高階會員


發表:51
回覆:444
積分:184
註冊:2003-07-23

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-09-29 13:27:45 IP:211.96.xxx.xxx 未訂閱
給二台印表機都指定個固定名稱吧,像HPLASER,EPSONINK    
for i := 1 to Printer.Printers.Count do
   if uppercase(Printer.printers[i-1])='HPLASER' then Printer.PrinterIndex:=i-1;    printer.begindoc;
with printer.canvas do begn
.....................
end;
printer.enddoc;    APPLICATION.PROCESSMESSAGE;// 喘一下準備印下一張    for i := 1 to Printer.Printers.Count do
   if uppercase(Printer.printers[i-1])='EPSONINK' then Printer.PrinterIndex:=i-1;    printer.begindoc;
with printer.canvas do begn
.....................
end;
printer.enddoc;    
就會各印各的了!
ellen
一般會員


發表:1
回覆:3
積分:0
註冊:2002-12-26

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-10-03 13:04:14 IP:211.21.xxx.xxx 未訂閱
此問題因 hagar 已有解決答案, so 得分者為    > , 謝謝!
japhenchen
高階會員


發表:51
回覆:444
積分:184
註冊:2003-07-23

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-10-03 18:08:47 IP:218.18.xxx.xxx 未訂閱
大家切磋,不在意分數囉! 我不懂,不懂,不懂....所以我才來
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-10-03 18:17:21 IP:202.39.xxx.xxx 未訂閱
japhenchen 大大, 別介意! 繼續這樣的切磋哦! --- 歡迎光臨 >
系統時間:2024-04-26 12:09:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!