有關ListView |
尚未結案
|
Lindy
一般會員 發表:6 回覆:0 積分:1 註冊:2005-10-04 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
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.jpg7 天天敲鍵盤 v 時時按滑鼠 8 發表人 - RedSnow 於 2005/10/04 22:38:15 |
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
給個範例~
< 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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |