關於程式中copy圖檔的問題? |
尚未結案
|
huangeider
高階會員 發表:288 回覆:492 積分:231 註冊:2003-02-26 發送簡訊給我 |
|
pedro
尊榮會員 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
|
huangeider
高階會員 發表:288 回覆:492 積分:231 註冊:2003-02-26 發送簡訊給我 |
|
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
|
huangeider
高階會員 發表:288 回覆:492 積分:231 註冊:2003-02-26 發送簡訊給我 |
|
AB
高階會員 發表:166 回覆:262 積分:125 註冊:2003-08-21 發送簡訊給我 |
|
huangeider
高階會員 發表:288 回覆:492 積分:231 註冊:2003-02-26 發送簡訊給我 |
是否是大小寫的問題 或 長檔名
不是也可能是在大小寫間產生一個leading and trailing spacesstring.
小弟對這個涵數trim所指的leading and trailing spacesstring並不清楚
所以沒辦法回答您
只有用trim才能有正常的執行狀況
但對如資料夾下還有資料夾的檔案而言trim似乎只能處理這開頭的
leading and trailing spacesstring
如c:\aaa\bbb\ccc\ddd\eee\fff\ipg1.jpg
對trim(c:\aaa\bbb\ccc\ddd\eee\fff\ipg1.jpg)來說只能消除c前面的
leading and trailing spacesstring對c 之後的leading and trailing spacesstring似乎沒作用
這個問題也扯到copy時作業系統有沒有下達類似trim的指令
因為在程式下達trim必須得與作業系統相同否則名稱會有不同
小弟瞭解有限 無法正確回答 「堅持」從洗馬桶做起
Aric
|
AB
高階會員 發表:166 回覆:262 積分:125 註冊:2003-08-21 發送簡訊給我 |
huangeider 兄
我會問是否 大小寫的問題 或 長檔名
是因為我曾經遇過 你是否在你的來源路徑下 使用dos查看
有時GUI介面看的123.jpg在dos下會看到(123.JPG)
你試試是否有這問題 如果有 你可以先判斷 使用批次改檔以小寫處理
長檔名可以加 ""處理 =======================================================
123.jpg 12345.jpg Dog_island-2.jpg
三個都是同一個檔 你再試試 看看
123.jpg 12345.jpg都無問題
維你的Dog_island-2.jpg有問題 喝喝
改檔名之後就ok
我放在這
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=41029
你再自己改 長檔名判斷把
"C:\Program Files\123456~1.jpg"
""這樣就支援 超過8.3的字元
不然你就改用dos的xcopy參數也可喔 忘記說了 如果來源檔案與儲存同一目錄 你可以學os一樣 加上 (copy) 字元 如何轉換長檔名與DOS檔名
http://delphi.ktop.com.tw/topic.php?topic_id=18230
【分享】命令列模式指令在Window環境下的應用
http://delphi.ktop.com.tw/topic.php?topic_id=24236 發表人 - ab 於 2003/11/25 04:58:14
|
huangeider
高階會員 發表:288 回覆:492 積分:231 註冊:2003-02-26 發送簡訊給我 |
感謝AB兄的分享
小弟又再測試了幾遍
發現似乎是SHFileOperation這個涵數大有問題(至少對編輯圖檔的指令不靈)
,其中原因可能很多如程式BUG,OS的不相容,英文中文的相容性等等(以上是假設)
小弟的測試結果是
1 在長檔名時有時可執行有時不可
2 在可執行的檔名,有時加減一個英數字或加減某符號或加減空白有時可執行有
時不可執行
3 在第一次可執行的檔,在關閉執行後再重執行,有時也會不可執行,這似乎和
小弟之前的假設要用trim無關
因以上結論,所以小弟暫不用SHFileOperation涵數(可惜了這個涵數),只有希望borland能改正這個問題 「堅持」從洗馬桶做起
Aric
|
AB
高階會員 發表:166 回覆:262 積分:125 註冊:2003-08-21 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 建議您在做复制事務時使用CopyFile函數﹐小弟一直是用此函數來做相關的事務﹐至今未發現有何Bug出現﹒範例如下﹕
begin if FileExists('D:\訂單.xls') then //若訂單.xls檔案存在 CopyFile(PChar('D:\訂單.xls'), PChar('D:\訂單備份.bak'), False); end;最后的False參數意義為自動覆蓋已存在的檔案﹐若設為True﹐其意義為檔案已存在時中斷Copy的工作﹒ 參考看看﹗ ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟 |
huangeider
高階會員 發表:288 回覆:492 積分:231 註冊:2003-02-26 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |