VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

解決 RUN DIR 時,無法顯示中文的問題

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
sunghsia



註冊時間: 2003-06-13
文章: 52
來自: 台北

第 1 樓

發表發表於: 星期六 十月 30, 2010 7:59 pm    文章主題: 解決 RUN DIR 時,無法顯示中文的問題 引言回覆

* 1. 拷備至*.prg
*-------------------------------------------------------------
* 2. 建一個批次檔 0.BAT , 解決 RUN DIR 無法顯示中文的問題
* 3. 0.BAT 內容為: dir /s/a/b c:\ >c:\000000.txt


dele file c:\000000.txt &&刪除舊的000000.txt檔 (注意0.BAT內000000.txt的所在路徑)

DECLARE INTEGER WinExec in kernel32; &&不要用VFP的 RUN 0.BAT 執行, 要改用 API 呼叫才會顯示中文
STRING,; &&可執行檔
INTEGER &&視窗大小: 1預設 2最小 3最大
= WinExec("0.BAT", 2) && 執行0.BAT , 0.BAT最好能和這個.prg存在同一個目錄, 好管理也不用指定路徑

do while !file("c:\000000.txt") &&等待000000.txt建立完成 (注意0.BAT內的000000.txt路徑)
enddo
wait timeout 2 &&拖一下2秒 (此列最好留著, 這樣下面的 "匯入文字檔" 才能完全匯入)

create cursor tmp (fieldname c(254)) &&建立暫存檔 (注意 254長度,是否不夠長)
append from c:\000000.txt SDF &&匯入文字檔 (注意0.BAT內000000.txt的所在路徑)
brow

* = WinExec("notepad c:\000000.txt", 3) &&檢視 000000.txt 內容
回頂端
檢視會員個人資料 發送私人訊息
sunghsia



註冊時間: 2003-06-13
文章: 52
來自: 台北

第 2 樓

發表發表於: 星期六 十月 30, 2010 9:11 pm    文章主題: 引言回覆

* 拷備至*.prg
* 修改一下, 不用在去建立批次檔和指定目錄
*-----------------------------------------------------------------

d= "c:\" && DIR所要尋找的檔案或目錄 (可改成 GETFILE 或 GETDIR 取得)
p= substr(sys(16) , at(":",sys(16))-1) && 取得本程式的目錄
p= left(p , rat("\",p)-1)

c= fcreate("&p.\0.BAT") && 建立批次檔, 並取得檔案控制碼
if c <0
wait windows "無法建立 0.BAT 批次檔"
RETURN
endif
fputs(c, "dir /s/a/b &d >&p.\000000.txt") && 寫入 0.BAT 內容
fclose(c) &&釋放0.BAT

DECLARE INTEGER WinExec in kernel32; && 不要用VFP的 RUN 0.BAT 執行, 要改用 API 執行才會顯示中文
STRING,; &&可執行檔
INTEGER &&視窗大小: 1預設 2最小 3最大

= WinExec("&p.\0.BAT", 2) && 執行0.BAT

do while !file("&p.\000000.txt") && 等待000000.txt建立完成
enddo
wait timeout 6 && 拖一下2秒 (此列最好留著, 這樣下面的 "匯入文字檔" 才能完全匯入)

create cursor tmp (fieldname c(254)) && 建立暫存檔 (注意 254長度,是否不夠長)
append from &p.\000000.txt SDF && 匯入文字檔
brow

* = WinExec("notepad &p.\000000.txt", 3) && 檢視 000000.txt 內容
dele file &p.\000000.txt && 刪除生成的檔案
dele file &p.\0.BAT && 刪除生成的檔案
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作