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

請教BCB使用Matlab執行檔的問題

尚未結案
mythwang
一般會員


發表:2
回覆:2
積分:0
註冊:2003-10-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-24 11:58:15 IP:140.118.xxx.xxx 未訂閱
請教各位高手.... 小弟有作一個Button來執行WinExec("XXX.exe", SW_SHOW)..而XXX.exe是由Matlab的 XXX.M 轉過來的...我現在所發生的問題是當我的程式執行到一半的時候會輸出兩個文字檔(暫為A)...然後執行XXX.exe來讀取這兩個文字檔再輸出另兩個文字檔(暫為B)...可是我的程式不能在輸出A之後馬上執行XXX.exe的動作....必須要在輸出A之後關閉程式...然後再重新啟動程式去直接執行XXX.exe才可行...這大概會是哪裡的問題....我該怎麼做才能讓我程式一氣喝成呢??....謝謝 PS:我也試過ShellExecute這個方法...也都有同樣的問題.... 發表人 - taishyang 於 2005/03/24 12:26:05
fusung
中階會員


發表:26
回覆:169
積分:99
註冊:2003-11-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-24 19:57:35 IP:211.23.xxx.xxx 未訂閱
印象中WinExec就可以用,不然你可以搭配start指令    提示1 Windows XP 開始-> 說明及支援 -> 輸入關鍵字 "start"    提示2 下面是Start指令的說明,文章中紅色標記處應該就是你的問題吧!    試試看他所提供的參數囉~        Start啟動不同 [命令提示字元] 視窗,以執行特定程式或指令。若不使用參數,start 會開啟第二個命令提示字元視窗。    語法 start ["title"] [/dPath] [/i] [/min] [/max] [{/separate | /shared}] [{/low | /normal | /high | /realtime | /abovenormal | belownormal}] [/wait] [/b] [FileName] [parameters]    參數 "title"  指定要顯示在 [命令提示字元] 視窗標題列的標題。  /dPath  指定啟動目錄。  /i  將 Cmd.exe 啟動環境傳送到新 [命令提示字元] 視窗。  /min  啟動新的最小化 [命令提示字元] 視窗。  /max  啟動新的最大化 [命令提示字元] 視窗。  /separate  在不同的記憶體空間中啟動 16 位元的程式。  /shared  在共用的記憶體空間中啟動 16 位元的程式。  /low  在閒置優先順序類別中啟動應用程式。  /normal  在標準優先順序類別中啟動應用程式。  /high  在高優先順序類別中啟動應用程式。  /realtime  在即時優先順序類別中啟動應用程式。  /abovenormal  在標準以上優先順序類別中啟動應用程式。  /belownormal  在標準以下優先順序類別中啟動應用程式。  /wait  啟動應用程式並等待其終止。  /b  不開啟新的 [命令提示字元] 視窗就啟動應用程式。除非應用程式啟用 CTRL+C 處理,否則將略過 CTRL+C 處理。使用 CTRL+BREAK 以中斷應用程式。  FileName  指定要啟動的指令或程式。  parameters  指定要傳送給指令或程式的參數。  備註 非執行檔可能只要將檔案名稱鍵入為指令,就可透過檔案關聯執行。關於在指令檔使用 assoc 及 ftype 建立這些關聯性的相關資訊,請參閱 [相關主題]。  當您執行的指令包含 CMD 字串,且作為第一個不含副檔名或路徑限定元的記號時,CMD 會以 COMSPEC 變數的值取代。這樣可防止從目前目錄取得 cmd。  當您執行 32 位元圖形式使用者介面 (GUI) 應用程式時,cmd 不會等應用程式結束才回到命令提示字元。 如果您從指令指令檔執行應用程式,則不會發生這種新方式。 執行使用之第一個權杖不含副檔名的指令時,Cmd.exe 會使用 PATHEXT 環境變數的值,以判定要尋找的副檔名及其順序。PATHEXT 變數的預設值為:.COM;.EXE;.BAT;.CMD (也就是,語法與 PATH 變數相同,以分號分開不同的元素)。 當您搜尋執行檔卻找不到任何符合的副檔名時,start 會搜尋目錄名稱。如果它找到,start 會在該路徑上開啟 Explorer.exe。 /* The first step toward proving things for yourself is to understand how others have done it before! */
------


The first step toward proving things for yourself is to understand how others have done it before!

mythwang
一般會員


發表:2
回覆:2
積分:0
註冊:2003-10-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-25 12:15:16 IP:140.118.xxx.xxx 未訂閱
很感謝fusung大大的回應...想確定一下你的方法是不是要在命令提示字元下鍵入Start XXX...如果是這樣的話...就跟我原來的目標不太一樣了...我是比較想直接就可以執行了..... 不過昨天又發現我的狀況跟我之前所敘的不太依樣....當我的程式執行到輸出A文字檔之後...直接執行WinExec("XXX.exe", SW_SHOW)...有瞬間的出現命令提示字元的視窗..表示說程式沒有確實的執行...隱約中有看到很多字但無法得知是怎麼回事...那如果我重新啟動程式去直接執行WinExec("XXX.exe", SW_SHOW)...則會看到命令提示字元的視窗出現很久才關閉...表示說程式確實有在執行....
mythwang
一般會員


發表:2
回覆:2
積分:0
註冊:2003-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-25 18:46:48 IP:140.118.xxx.xxx 未訂閱
謝謝F大的回覆..... 我已經找出我的問題所在了...問題出在DirectoryListBox這元件...我必須指到放有XXX.exe的資料夾才能執行......
系統時間:2024-05-06 17:42:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!