如何將FTP內的所有檔案讀出? |
答題得分者是:hagar
|
channel
尊榮會員 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
各位Delphi前輩:
FTP----->Office(目錄)----->PPT(目錄)----->Ppt.ppt(檔案) | | | | | ----->DOC(目錄)----->Doc.doc(檔案) | ----->Txt.txt(檔案)(FTP下包含一個Office的目錄及Txt.txt的檔案,Office的目錄包含PPT及DOC兩個目錄,PPT包含一個Ppt.ppt的檔案,DOC包含一個Doc.doc的檔案) 使用IDFTP的元件 請問如何將Ppt.ppt、Doc.doc、Txt.txt這三個檔案放在TListBox中?敬請指教,感激不盡…
------
~小弟淺見,參考看看~ |
mine
中階會員 發表:28 回覆:129 積分:56 註冊:2004-03-31 發送簡訊給我 |
channel大大你好
用 IDFTP我可能不太會用
你可以試試引用WinINET.Pas
利用FtpGetCurrentDirectory 取代GetCurrentDirectory
用FtpFindFirstFile
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
大概像這樣(不過列出目錄那邊還有點 bug):
procedure TfrmMain.btnFtpConnectClick(Sender: TObject); procedure ListFile(ADir, ACompleteDir: string); var i: integer; DirCount: integer; CompleteDir: string; IdFtpListItems: TIdFTPListItems; begin IdFtp1.ChangeDir(ADir); mmFtp.Lines.Add('Change Dir: ' ADir); IdFtp1.List(mmFtp.Lines); DirCount := IdFtp1.DirectoryListing.Count; IdFtpListItems := TIdFTPListItems.Create; IdFtpListItems.Assign(IdFtp1.DirectoryListing); for i := 0 to DirCount - 1 do case IdFtpListItems[i].ItemType of ditDirectory: begin CompleteDir := ADir '\' IdFtpListItems[i].FileName; ListFile(IdFtpListItems[i].FileName, CompleteDir); end; ditFile: lbFtp.Items.Add('File: ' ACompleteDir '\' IdFtpListItems[i].FileName); end; IdFtpListItems.Free; IdFtp1.ChangeDirUp; end; var i: integer; DirCount: integer; CompleteDir: string; CurrentDir: string; IdFtpListItems: TIdFTPListItems; begin IdFtp1.Connect; if IdFtp1.Connected then begin CompleteDir := '\'; CurrentDir := '\'; IdFtp1.List(mmFtp.Lines); DirCount := IdFtp1.DirectoryListing.Count; IdFtpListItems := TIdFTPListItems.Create; IdFtpListItems.Assign(IdFtp1.DirectoryListing); for i := 0 to DirCount - 1 do case IdFtp1.DirectoryListing[i].ItemType of ditDirectory: begin CompleteDir := CompleteDir IdFtp1.DirectoryListing[i].FileName; ListFile(IdFtp1.DirectoryListing[i].FileName, CompleteDir); end; ditFile: lbFtp.Items.Add('File: ' CurrentDir IdFtp1.DirectoryListing[i].FileName); end; IdFtpListItems.Free; end; IdFtp1.Disconnect; ShowMessage('done!'); end;-- 棒球是從兩出局開始的. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |