請問關於範例程式TServerSocket/TClientSocket檔案路徑過長 |
尚未結案
|
millerh
一般會員 發表:10 回覆:10 積分:4 註冊:2004-12-05 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 我是參考這篇文章 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=25914 但是在兩台電腦互傳的時候 路徑過長發生錯誤 請問要怎修改才行 謝謝~~ millerh 你好: (1)「路徑過長」是指什麼?是否能夠詳述? (2)你自己寫的程式碼呢?是否貼上來幫你看看 (相關的部分)?-- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
millerh
一般會員 發表:10 回覆:10 積分:4 註冊:2004-12-05 發送簡訊給我 |
millerh 你好: (1)「路徑過長」是指什麼?是否能夠詳述? (2)你自己寫的程式碼呢?是否貼上來幫你看看 (相關的部分)?我把程式裡面內建選取的檔案改成手動輸入 String FileName=Edit1->Text; msFile->LoadFromFile(FileName.c_str()); 但是如果FileName過長的話(ex:C:\\123456789\)123456789\123456789\test.jpg) 好像會被切掉 也就是接收端所接收的路徑不完全 我的解決辦法是最後再傳檔案路徑過去把它蓋掉 應該沒有別的辦法了吧 |
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 我把程式裡面內建選取的檔案改成手動輸入 String FileName=Edit1->Text; msFile->LoadFromFile(FileName.c_str()); 但是如果FileName過長的話(ex:C:\\123456789\)123456789\123456789\test.jpg) 好像會被切掉 也就是接收端所接收的路徑不完全 我的解決辦法是最後再傳檔案路徑過去把它蓋掉 應該沒有別的辦法了吧 millerh 你好: (1)應該不會有你說的情形發生,例如: 你在 Edit1 鍵入「C:\123456789\123456789\123456789\test.jpg」的話, 建議把你的程式碼改成這個樣子寫比較好 AnsiString FileName=Edit1->Text; if(FileExists(FileName)) { msFile->LoadFromFile(FileName); //...do something... } 其中 LoadFromFile 代入的參數應該為 AnsiString,而不是 c_str(),另外 ,加上 FileExists 先確認該檔案是否存在,才進行下一個步驟 (因為你目 前使用的方式是讓使用者手動鍵入檔案的路徑及名稱,萬一打錯了怎麼辦? 所以要再 check 一次) (2)其實,你也可以利用 TOpenDialog 元件,提供使用者選擇檔案的介面,醬子 或許會更人性化,例如: if(OpenDialog1->Execute()) { if(FileExists(OpenDialog1->FileName)) { msFile->LoadFromFile(FileName); //...do something... } } 有關 TOpenDialog 的使用,在本站已經有很多這方面的討論文章,我就不再 多說了,建議你利用本站搜尋的功能,就可以找到很多範例及說明-- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
millerh
一般會員 發表:10 回覆:10 積分:4 註冊:2004-12-05 發送簡訊給我 |
|
Ktop_Robot
站務副站長 發表:0 回覆:3511 積分:0 註冊:2007-04-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |