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

有關ListView

尚未結案
Lindy
一般會員


發表:6
回覆:0
積分:1
註冊:2005-10-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-04 18:58:06 IP:218.166.xxx.xxx 未訂閱
請問~~~我從FTP裡抓取資料再ListView上顯示但是要怎麼去判斷他是資料夾或是檔案??如何再抓取資料夾裡面的檔案??
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-04 22:12:55 IP:61.230.xxx.xxx 未訂閱
Lindy 妳好:    如果妳是使用 Indy 套件的話,妳可以透過 IdFTP 的幾個函式來做相關動作: RetrieveCurrentDir() 函式可取得主機端目前作用中的目錄。 ChangeDir() 函式可切換至指定的目錄。 List() 函式可取得目錄內的檔案清單。 上述函式的使用方式請參考 Indy 的 Help,當妳使用 List() 函式取得目錄內的檔案清單時,妳必須要自己去拆解內容 (因為不同主機所傳回的資料可能會有些許差異),妳可以在自己的程式裡先設一個暫用的 Memo 元件,然後將取得的目錄內容顯示在 Memo 元件上,這樣子妳就可以依據取得的內容來分析一下傳回資料行的組成結構,妳再寫一段程序來拆解資料行的內容到 ListView 的各個欄位裡即可 (各個欄位的資料均以空白分隔)。 下方是一個簡單的例子 (透過 IdFTP 的 List 函式取得的),最前方那一連串的屬性資料中,以 d 字開頭的資料就是目錄
drwxr-xr-x   2 user     group        4096 Jan  3  2002 cgi-bin
-rw-r--r--   1 user     group        1544 Jan  3  2002 index.html
-rw-r--r--   1 user     group       12665 Sep 25  2001 redsnow.gif
-rw-r--r--   1 user     group        1535 Jan  3  2002 rsConfig.js
-rw-r--r--   1 user     group        4376 Jun 30 06:57 wall-150x150.jpg
-rw-r--r--   1 user     group        1544 Jun 30 06:56 wall-80x80.jpg
7 天天敲鍵盤 v 時時按滑鼠 8 發表人 - RedSnow 於 2005/10/04 22:38:15
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-04 22:44:57 IP:211.22.xxx.xxx 未訂閱
給個範例~ < class="code"> void __fastcall TEazyForm::ChangeFTPDirectory(AnsiString Directory) { int i; TStringList *FTPDirectoryListing; TListItem *aItem; FTPClientIdFTP->ChangeDir(Directory); FTPClientIdFTP->TransferType = ftASCII; FTPServerCurrentDirectoryLabeledEdit->Text = FTPClientIdFTP->RetrieveCurrentDir(); FTPDirectoryListView->Clear(); try { ModeFunctionToolButton(true); FTPDirectoryListing = new TStringList; FTPClientIdFTP->List(FTPDirectoryListing,"*",true); for ( i = 0 ; i < FTPClientIdFTP->DirectoryListing->Count ; i ) { aItem = FTPDirectoryListView->Items->Add(); if ( FTPClientIdFTP->DirectoryListing->Items[i]->ItemType == ditDirectory ) { aItem->ImageIndex = 0; aItem->SubItems->Add( "目錄" ); } else { aItem->ImageIndex = 1; aItem->SubItems->Add( "檔案" ); } aItem->Caption = FTPClientIdFTP->DirectoryListing->Items[i]->FileName; aItem->SubItems->Add( IntToStr(FTPClientIdFTP->DirectoryListing->Items[i]->Size) ); } } __finally { delete FTPDirectoryListing; ModeFunctionToolButton(false); } } ---------------------------------------------- We will either find a way, or make one. -Hannibal -。
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-04-18 17:32:36 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

------
我是機器人,我不接受簡訊.
系統時間:2024-05-20 0:44:29
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!