全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2067
推到 Plurk!
推到 Facebook!

請教如何定時啟動程式並列印畫面

答題得分者是:richtop
wychen57
一般會員


發表:32
回覆:77
積分:21
註冊:2003-10-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-07 09:00:24 IP:218.32.xxx.xxx 未訂閱
小弟有一個程式是收集資料並秀在螢幕上,現在客戶要求每天早上8點要列印畫面上的資料,可以請教各位大大如何在程式中呼叫外在程式並列印到印表機嗎    程式名稱:mgraphics.exe 參數字串:ahu.gdf -runtime 完整捷徑==>"mgraphics ahu.gdf -runtime" 小弟只知可以用排程啟動,卻不知如何讓他自動印到印表機去,煩請亣大們不吝指導,感恩!
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-07 10:29:33 IP:211.76.xxx.xxx 未訂閱
wychen57 您好:    不知Form的Print是不是就能達到您的要求?提供參考。
wychen57
一般會員


發表:32
回覆:77
積分:21
註冊:2003-10-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-07 20:34:12 IP:210.66.xxx.xxx 未訂閱
引言: wychen57 您好: 不知Form的Print是不是就能達到您的要求?提供參考。 >< face="Verdana, Arial, Helvetica"> 大大你好,你可能誤會我的意思了,我是要寫一支程式去啟動m-graphics,並將參數傳給m-graphics,實際上秀資料的是mgraphics而非我的程式喔
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-08 11:52:29 IP:211.76.xxx.xxx 未訂閱
wychen57 您好:    
引言: 大大你好,你可能誤會我的意思了,我是要寫一支程式去啟動m-graphics,並將參數傳給m-graphics,實際上秀資料的是mgraphics而非我的程式喔
不好意思!不過說實在,仍無法完全了解您的問題所在,因不知道執行後的結果會以何種方式呈現。 現在假設您執行了 > < class="code">// following codes borrowed from the source codes of DevPHP. function getDOSOutput(Cmd, WorkDir: String): string; var tsi: TStartupInfo; tpi: TProcessInformation; nRead: DWORD; aBuf: Array[0..101] of char; sa: TSecurityAttributes; hOutputReadTmp, hOutputRead, hOutputWrite, hInputWriteTmp, hInputRead, hInputWrite, hErrorWrite: THandle; FOutput: String; begin FOutput := ''; sa.nLength := SizeOf(TSecurityAttributes); sa.lpSecurityDescriptor := nil; sa.bInheritHandle := True; CreatePipe(hOutputReadTmp, hOutputWrite, @sa, 0); DuplicateHandle(GetCurrentProcess(), hOutputWrite, GetCurrentProcess(), @hErrorWrite, 0, true, DUPLICATE_SAME_ACCESS); CreatePipe(hInputRead, hInputWriteTmp, @sa, 0); DuplicateHandle(GetCurrentProcess(), hOutputReadTmp, GetCurrentProcess(), @hOutputRead, 0, false, DUPLICATE_SAME_ACCESS); DuplicateHandle(GetCurrentProcess(), hInputWriteTmp, GetCurrentProcess(), @hInputWrite, 0, false, DUPLICATE_SAME_ACCESS); CloseHandle(hOutputReadTmp); CloseHandle(hInputWriteTmp); FillChar(tsi, SizeOf(TStartupInfo), 0); tsi.cb := SizeOf(TStartupInfo); tsi.dwFlags := STARTF_USESTDHANDLES or STARTF_USESHOWWINDOW; tsi.hStdInput := hInputRead; tsi.hStdOutput := hOutputWrite; tsi.hStdError := hErrorWrite; CreateProcess(nil, PChar(Cmd), @sa, @sa, true, 0, nil, PChar(WorkDir), tsi, tpi); CloseHandle(hOutputWrite); CloseHandle(hInputRead ); CloseHandle(hErrorWrite); Application.ProcessMessages; repeat if (not ReadFile(hOutputRead, aBuf, 16, nRead, nil)) or (nRead = 0) then begin if GetLastError = ERROR_BROKEN_PIPE then Break else MessageDlg('Pipe read error, could not execute file', mtError, [mbOK], 0); end; aBuf[nRead] := #0; FOutput := FOutput PChar(@aBuf[0]); Application.ProcessMessages; until False; Result := FOutput; end; procedure TForm1.Button1Click(Sender: TObject); var WorkDir : string; begin WorkDir := '.'; //Memo1.Text := getDOSOutput('c:/php/php.exe c:/php/test.php', WorkDir); Memo1.Text := getDOSOutput('cmd /c dir c:\ /O:D', WorkDir); // OK! end; RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====#####
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-08-09 08:24:15 IP:61.221.xxx.xxx 未訂閱
wychen57 你好: 我最討厭這種客戶了 若是你可以去呼叫,>< face="Verdana, Arial, Helvetica">引言: 下次在遇到這種客戶,先呼他個2 巴掌
------
======================
昏睡~
不昏睡~
不由昏睡~
系統時間:2017-12-18 1:50:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!