線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2246
推到 Plurk!
推到 Facebook!

請問有關IdFTP的用法和我看到的範例片段問題!

 
JS
一般會員


發表:22
回覆:26
積分:9
註冊:2002-07-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-08-13 17:09:35 IP:61.219.xxx.xxx 未訂閱
想請教一下IdFTP的Event=> OnConnected,OnDisconnected,OnStart,OnWork OnWorkBegin,OnWorkEnd發生順序為何,其中OnWork的觸發時機為何?另外有在 c:\program files\borland\delphi6\demos\Indy\FTPDemo內有一範例碼片段:    function GetNameFromDirLine(Line: String; Var IsDirectory: Boolean): String; Var   i: Integer;   DosListing: Boolean; begin   IsDirectory := Line[1] = 'd';   DosListing := false;   for i := 0 to 7 do begin   if (i = 2) and not IsDirectory then begin   IsDirectory := Copy(Line, 1, Pos(' ', Line) - 1) = ''; if not IsDirectory then DosListing := Line[1] in ['0'..'9'] else DosListing := true; end; Delete(Line, 1, Pos(' ', Line)); While Line[1] = ' ' do Delete(Line, 1, 1); if DosListing and (i = 2) then break; end; Result := Line; end; 此函數是用來retrieve由ftp server抓回來的string中的檔案名稱,但我不了解 問題一: for i:=0 to 7 do begin(為什麼要run這個loop) 問題二: IsDirectory := Line[1] = 'd';(為什麼要檢查Line[1]='d'來決定 IsDirectory為true or false,因為我們抓回來的字串開頭是時間日期等字串數值)
strans
一般會員


發表:0
回覆:2
積分:0
註冊:2002-07-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-08-15 10:01:32 IP:61.228.xxx.xxx 未訂閱
我只有辦法根據我的使用經驗回覆第一個問題: IdFTP事件的順序應該是: OnConnected, 連線 OnWorkBegin, 開始傳檔,這個事件可以告訴程式傳送的檔案的大小 OnWork, 傳檔中,這個事件可以告訴程式已經傳送了多少 OnWorkEnd, 傳送結束 OnDisconnected 斷線,不過此處的斷線是只timeout被ftp踢出來,或是程式自行斷線後,才會啟動這個事件的。 至於OnStart,這個我就沒用過,不知道了。
JS
一般會員


發表:22
回覆:26
積分:9
註冊:2002-07-20

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-08-15 11:29:43 IP:61.219.xxx.xxx 未訂閱
感謝大哥的盛情相助!Thank you!
系統時間:2024-04-18 17:43:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!