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

是否可以知道ftp已下載多少k

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



註冊時間: 2004-05-06
文章: 15


第 1 樓

發表發表於: 星期六 十一月 12, 2005 10:24 am    文章主題: 是否可以知道ftp已下載多少k 引言回覆

我公司有很多門市,頻寬不足導致程式自動更新時下載緩慢,
常常讓他們以為當機了,不知先進們是否有解決的方法,
在此先謝謝各位了。
回頂端
檢視會員個人資料 發送私人訊息
蔡文華



註冊時間: 2005-10-31
文章: 118


第 2 樓

發表發表於: 星期日 十一月 13, 2005 9:15 am    文章主題: 引言回覆

你是用什麼方式做更新的呢,請說明一下
回頂端
檢視會員個人資料 發送私人訊息
ckp6250



註冊時間: 2004-07-30
文章: 1537


第 3 樓

發表發表於: 星期一 十一月 14, 2005 3:18 pm    文章主題: 引言回覆

先取得在FTP主機上,該檔的檔案大小
然後在下載時,利用Timer,每隔一段時間,去取得已下載中的檔案大小
這樣就可以算出下載進度了
回頂端
檢視會員個人資料 發送私人訊息
jasonyummy



註冊時間: 2004-05-06
文章: 15


第 4 樓

發表發表於: 星期二 十一月 15, 2005 10:35 am    文章主題: 引言回覆

1.我使用的是 利用下面的 狾‘h取得遠端的ftp server 資料
2.下載尚未完全時可以用何方式取得已經存入多少資料,用adir()嗎?
3.謝謝各位的回答,謝謝!!

DECLARE INTEGER GetLastError IN Kernel32
DECLARE INTEGER FileTimeToSystemTime IN Kernel32 STRING @ , STRING @
DECLARE INTEGER InternetOpen IN WinInet STRING @ , INTEGER , STRING @ , STRING @ , ;
INTEGER
DECLARE INTEGER InternetConnect IN WinInet INTEGER , STRING @ , SHORT , STRING @ , ;
STRING @ , INTEGER , INTEGER , INTEGER
DECLARE INTEGER InternetCloseHandle IN WinInet INTEGER
DECLARE INTEGER FtpCreateDirectory IN WinInet INTEGER , STRING @
DECLARE INTEGER FtpDeleteFile IN WinInet INTEGER , STRING @
DECLARE INTEGER FtpFindFirstFile IN WinInet INTEGER , STRING @ , STRING @ , INTEGER , ;
INTEGER
DECLARE INTEGER InternetFindNextFile IN WinInet INTEGER , STRING @
DECLARE INTEGER FtpGetCurrentDirectory IN WinInet INTEGER , STRING @ , INTEGER @
DECLARE INTEGER FtpGetFile IN WinInet INTEGER , STRING @ , STRING @ , INTEGER , INTEGER , ;
INTEGER , INTEGER
DECLARE INTEGER FtpOpenFile IN WinInet INTEGER , STRING @ , INTEGER , INTEGER , INTEGER
DECLARE INTEGER FtpPutFile IN WinInet INTEGER , STRING @ , STRING @ , INTEGER , INTEGER
DECLARE INTEGER FtpRemoveDirectory IN WinInet INTEGER , STRING @
DECLARE INTEGER FtpRenameFile IN WinInet INTEGER , STRING @ , STRING @
DECLARE INTEGER FtpSetCurrentDirectory IN WinInet INTEGER , STRING @
DECLARE INTEGER InternetGetLastResponseInfo IN WinInet INTEGER @ , STRING @ , INTEGER @
回頂端
檢視會員個人資料 發送私人訊息
ckp6250



註冊時間: 2004-07-30
文章: 1537


第 5 樓

發表發表於: 星期三 十一月 16, 2005 5:28 pm    文章主題: 引言回覆

Adir() , 可以用的
回頂端
檢視會員個人資料 發送私人訊息
jasonyummy



註冊時間: 2004-05-06
文章: 15


第 6 樓

發表發表於: 星期三 十一月 16, 2005 7:15 pm    文章主題: 引言回覆

謝謝您的回應,但是經我測試在下載途中(尚未下載完畢時)我用adir()去取得的檔案大小資料為 0
不知是我哪裡有錯,還是另有方式可以得知目前的下載進度。
謝謝!!
回頂端
檢視會員個人資料 發送私人訊息
ckp6250



註冊時間: 2004-07-30
文章: 1537


第 7 樓

發表發表於: 星期三 十一月 16, 2005 10:52 pm    文章主題: 引言回覆

應該沒問題啊,我都使用進度條顯示下載進度的。

您的程式碼貼出來看看吧
回頂端
檢視會員個人資料 發送私人訊息
jasonyummy



註冊時間: 2004-05-06
文章: 15


第 8 樓

發表發表於: 星期二 十二月 12, 2006 9:49 pm    文章主題: 引言回覆

這位先生所說用adir() 方法原則上應該是可以的,但是因為我一執行 我自己寫的fpt.prg 時,整個程式的控制權都跑到這支fpt.prg 內,使我所作的 timer 物件一點
作用也沒有,必須等到 fpt.prg 執行完才能回來,這樣就導致我所作的偵測總共下了多少k一點用也沒有,可否麻煩告知我該如何處理這控制權歸回的問題,謝謝!!!

我所用的fpt方式是利用以下的程式

DECLARE INTEGER FtpGetFile IN WinInet INTEGER , STRING @ , STRING @ , INTEGER , INTEGER , ;
回頂端
檢視會員個人資料 發送私人訊息
211482



註冊時間: 2003-07-15
文章: 51


第 9 樓

發表發表於: 星期二 十二月 12, 2006 11:08 pm    文章主題: 引言回覆

看看這裡
http://www.gz9f.com/bbs/dispbbs.asp?boardID=1&ID=225405&page=1
回頂端
檢視會員個人資料 發送私人訊息
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2096


第 10 樓

發表發表於: 星期三 十二月 13, 2006 2:36 pm    文章主題: 引言回覆

參考 http://vfp.sunyear.com.tw/viewtopic.php?t=91&highlight=ftp+declare 的範例,
記得可以顯示進度條.

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
jasonyummy



註冊時間: 2004-05-06
文章: 15


第 11 樓

發表發表於: 星期三 十二月 13, 2006 8:24 pm    文章主題: 引言回覆

謝謝!
你們所提的方法我測試ok了,但是目前碰到一個問題,不知為何若是下載或上傳超過50Mb的資料(一個檔案)就會在FCOLSE檔案時停的非常久,一直呈現忙碌中
......
真苦惱!!!
-----------------------
回頂端
檢視會員個人資料 發送私人訊息
215001



註冊時間: 2003-06-11
文章: 350


第 12 樓

發表發表於: 星期四 十一月 19, 2009 3:12 pm    文章主題: 引言回覆

我也是碰到相同問題,

就是當我下了 ftpgetfile() 之後,感覺整個程式的控制權全部都在ftpgetfile() ,
就算是表單中有設 timer 顯示進度,也非得等到 ftpgetfile() 下載完畢,timer才有作用

不知到各位都如何處理,附上程式碼

xnet = InternetOpen( "mytest", 1, CHR(0), CHR(0) , 0)
xftp = InternetConnect( xnet , ALLTRIM(NOW_FTP) , 21 , ALLTRIM(NOW_FTPUSER) , ALLTRIM( NOW_FTPPASS) ,1,0,0)

xok=ftpgetfile(xftp,"test.dbf","c:\test\test.dbf" , 0 , 0x800 , 2 , 0) && 請找一個大檔案測試
回頂端
檢視會員個人資料 發送私人訊息
ckp6250



註冊時間: 2004-07-30
文章: 1537


第 13 樓

發表發表於: 星期四 十一月 19, 2009 4:49 pm    文章主題: 引言回覆

用這個吧 Vfpconnection.fll
進度都幫您處理了
Google 一下
回頂端
檢視會員個人資料 發送私人訊息
ezpos



註冊時間: 2011-04-20
文章: 306


第 14 樓

發表發表於: 星期四 九月 26, 2019 2:26 pm    文章主題: 引言回覆

請問大大,如何中斷 傳輸??


1.我在FTPGet 下面放 DOEVENTS
***下載
FTPGet("FTP://XXXXXX@ezpos.asuscomm.com/Software/XXXX.7z", "D:\XXXX", "thisform.do_01()", "thisform.do_02()")
DOEVENTS

2.在離開按鈕放

thisform.Release


-->傳輸中.按離開 卻沒作用...須等結束
是不是 要等 每一個 FTPGet 事件完成,才能結束

_________________
ezPos收銀機 簡單好用低成本 http://www.ezpos.info
全新美觀的POS收銀機.POS軟硬體耗材.
軟體客制化.網站規劃....能賺錢的都可以找我

http://www.twelife.com 台灣生活網
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
CPS0204



註冊時間: 2014-08-24
文章: 218


第 15 樓

發表發表於: 星期六 十一月 02, 2019 7:55 pm    文章主題: 用這個吧 Vfpconnection.fll 引言回覆

用這個吧 Vfpconnection.fll +1

100%可用

隨時可知道已下載幾k

記得使用vfp9...........vfp6不行用
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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