 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
小賴
註冊時間: 2004-12-27 文章: 476
第 16 樓
|
發表於: 星期二 五月 27, 2008 10:42 am 文章主題: |
|
|
使用 FILE(FileName) 函數 ; 測試 FileName(含路徑)是否存在 :
IF ! FILE(FileName)
FileName 檔案不存在
ENDIF |
|
回頂端 |
|
 |
nelsonchuang
註冊時間: 2003-09-04 文章: 563 來自: 臺灣
第 17 樓
|
發表於: 星期二 五月 27, 2008 11:12 am 文章主題: |
|
|
adir() _________________ 大家好,請多指教 |
|
回頂端 |
|
 |
rich5858
註冊時間: 2008-02-27 文章: 14
第 18 樓
|
發表於: 星期二 五月 27, 2008 11:22 am 文章主題: |
|
|
謝謝大大提式...
我馬上測試 ~  |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 19 樓
|
發表於: 星期二 五月 27, 2008 1:32 pm 文章主題: |
|
|
FILE( 你要的檔案的完整路徑+名稱)
有點懷疑你有沒有真的了解別人回給你什麼. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
rich5858
註冊時間: 2008-02-27 文章: 14
第 20 樓
|
發表於: 星期二 五月 27, 2008 3:56 pm 文章主題: |
|
|
N 大及各位大大,
謝謝您們...
我完成了...
可能我口才不好...您們聽不懂....
呼~ 好險 N 大聽懂了...
下面網址就是我要完成的東西...
http://www.dumpt.com/img/viewer.php?file=movsubxyn4p0q0w9w92p.jpg
因我很偷懶...不想用正歸方式把檔案名稱寫到資料庫去讀...
謝謝您們...我會常上來學習...
謝謝~
****************************************
set talk off
** 先清除暫存檔
DELE FILE C:\ACCAPP\*.PDF
*** 設原始大資料庫路徑
M1=SPACE(
M1= 'G:\agreement\'+SUBSTR(THISFORM.ACCTEXTBOX1.VALUE,4,5)+'*.PDF'
*** 先判斷檔案是否存在...
IF ADIR(MYML,M1)#0
*** 有此檔...再 COPY TO 指定路徑的暫存檔
COPY FILE(M1) TO C:\ACCAPP
cCurrentProcedure = SYS(16,1)
nPathStart = AT(":",cCurrentProcedure)- 1
nLenOfPath = RAT("\", cCurrentProcedure) - (nPathStart) + 1
SET DEFAULT TO (SUBSTR(cCurrentProcedure, nPathStart, nLenofPath))
*** 選擇所要開啟的 pdf 檔
PDF_file = GETFILE('PDF', '選擇或取消', '選擇', 0, '請選擇要開啟的PDF檔')
DO CASE
CASE EMPTY(PDF_file)
Messagebox("並未選擇要開啟的PDF檔",1+32,"訊息視窗")
THISFORM.ACCTEXTBOX1.VALUE=SPACE(
THISFORM.ACCTEXTBOX1.SETFOCUS()
RETURN
ENDCASE
lcUrl = "file://"+PDF_file
oPDF=CREATEOBJECT("wscript.shell")
if VARTYPE(oPDF) <> "O"
= MESSAGEBOX("PDF沒有安裝或損壞或因為記憶體不足而無法使用!",64,"提示")
return
endif
DO CASE
CASE EMPTY(PDF_file)
Messagebox("並未選擇要讀入的PDF檔",1+32,"訊息視窗")
THISFORM.ACCTEXTBOX1.VALUE=SPACE(
THISFORM.ACCTEXTBOX1.SETFOCUS()
RETURN
ENDCASE
DECLARE INTEGER ShellExecute IN "Shell32.dll" ;
INTEGER hwnd, STRING lpVerb, STRING lpFile, ;
STRING lpParameters, STRING lpDirectory, LONG nShowCmd
ShellExecute(0, "Open", LCURL, "", "", 1)
THISFORM.ACCTEXTBOX1.VALUE=SPACE(
THISFORM.ACCTEXTBOX1.SETFOCUS()
RETURN
ELSE
**** 當找不到檔案
?? CHR(7)
=MESSAGEBOX("無此客戶編號 ! 是否繼續 ?",4+48,"訊息視窗")
THISFORM.ACCTEXTBOX1.VALUE=SPACE(
THISFORM.ACCTEXTBOX1.SETFOCUS()
RETURN
ENDIF
*** |
|
回頂端 |
|
 |
小賴
註冊時間: 2004-12-27 文章: 476
第 21 樓
|
發表於: 星期二 五月 27, 2008 5:40 pm 文章主題: |
|
|
想不出什麼理由, 放棄FILE()函數不用而是使用ADIR() ... |
|
回頂端 |
|
 |
rich5858
註冊時間: 2008-02-27 文章: 14
第 22 樓
|
發表於: 星期二 五月 27, 2008 9:59 pm 文章主題: |
|
|
謝 賴大...
您教的我也測了...都ok~
(這麼仔細...若我再不會就是白吃 >.< )
只是 N大 是我的恩師...
常只寫個指令的頭...要我自己去查...
不知不覺...學到更多~
真是謝謝您們... |
|
回頂端 |
|
 |
nelsonchuang
註冊時間: 2003-09-04 文章: 563 來自: 臺灣
第 23 樓
|
發表於: 星期三 五月 28, 2008 11:04 am 文章主題: |
|
|
不一定要用我的方式啊,我只是建議.如果這樣就是恩師(我知道是客套話啦~),覺得很沈重...
小賴問:為什麼不用File,我也很納悶...
納悶的原因,在於File在某些情況下,是會誤判的,而這是個人的經驗法則的結論(很久以前的事,但我忘了是什麼情形),
用File沒什麼不好,但是你不曉得何時它會給你出問題.
至於Adir(),我也不是這樣子用...rich反倒是給我上了一課.
等我有空(應該是沒什麼機會,呵),我再回頭來再試Adir()的用法. _________________ 大家好,請多指教 |
|
回頂端 |
|
 |
朱育興
註冊時間: 2003-08-25 文章: 661 來自: 台中市大里區
第 24 樓
|
發表於: 星期三 五月 28, 2008 12:27 pm 文章主題: |
|
|
nelsonchuang 寫到: | 小賴問:為什麼不用File,我也很納悶...
納悶的原因,在於File在某些情況下,是會誤判的,而這是個人的經驗法則的結論(很久以前的事,但我忘了是什麼情形),
用File沒什麼不好,但是你不曉得何時它會給你出問題. |
+1
所以我也是用 ADIR() 處理 FILE() _________________ 希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ |
|
回頂端 |
|
 |
215001
註冊時間: 2003-06-11 文章: 393
第 25 樓
|
發表於: 星期三 五月 28, 2008 2:14 pm 文章主題: |
|
|
我想可能是 File() 函數,若未加上檔案路徑時,會自動到PATH路徑去找檔案,以至於偶爾得到非預期的結果吧
所以才會讓nelsonchuang 兄以為File()誤判吧 !
所以我都習慣用 File("完整路徑檔名")的方式,簡單一列ok
比較不同:
set default to C:\TEST
? FILE("Command.com") ============> .T. (可能永遠都傳回 .T. 值)
? FILE("C:\Test\Command.com") ========> .F. |
|
回頂端 |
|
 |
nelsonchuang
註冊時間: 2003-09-04 文章: 563 來自: 臺灣
第 26 樓
|
發表於: 星期三 五月 28, 2008 2:53 pm 文章主題: |
|
|
我記得的是...你們說的狀況,我都有試過了,我纔會改成adir() ,我的個性是很頑強的人,
一個東西,我會試到無路可走才放棄,adir(),是我無路可走時的選項罷了.. _________________ 大家好,請多指教 |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 27 樓
|
發表於: 星期三 五月 28, 2008 4:19 pm 文章主題: |
|
|
請使用者換一個目錄就行了,
為了不知道什麼時候發生的特例,死了幾百萬個腦細胞,
不太划算. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
KKKLYNN
註冊時間: 2004-09-17 文章: 357
第 28 樓
|
發表於: 星期二 八月 12, 2008 3:12 pm 文章主題: |
|
|
用file()就可以檢查了 |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|