要如何只取得資料夾 |
答題得分者是:jow
|
demon740405
一般會員 發表:6 回覆:10 積分:3 註冊:2005-12-10 發送簡訊給我 |
我之前是有使用DirectoryListBox + FileListBox 來處理取得資料夾數量
但請問還有別的方法嗎? 我只是需要某個資料夾下所有的資料夾就夠了(檔案不要) 舉例來說: 在C:\裡還有四個資料夾、10個檔案 但我只要知道有幾個資料夾就夠了 其他的不用管 因為之前是使用DirectoryListBox和FileListBox 來找 但是現在想使用別的方法來實現 請問有方法來達成嗎?
------
** 何須劍道爭鋒? 千人指,萬人封; 可問江湖鼎峰? 三尺秋水塵不染, 天 下 無 雙 ** |
herbert2
尊榮會員 發表:58 回覆:640 積分:894 註冊:2004-04-16 發送簡訊給我 |
做法一樣, 只是傳參數時只挑資料夾就好了!
將 findfirst("*.*",&DirBlock,FA_RDONLY|FA_HIDDEN|FA_SYSTEM|FA_DIREC|FA_ARCH); 改 findfirst("*.*",&DirBlock,FA_RDONLY|FA_HIDDEN|FA_SYSTEM|FA_DIREC); findnext(&DirBlock); ===================引 用 demon740405 文 章=================== 我之前是有使用DirectoryListBox FileListBox 來處理取得資料夾數量 但請問還有別的方法嗎? 我只是需要某個資料夾下所有的資料夾就夠了(檔案不要) |
demon740405
一般會員 發表:6 回覆:10 積分:3 註冊:2005-12-10 發送簡訊給我 |
可以煩請前輩講解詳細一點嗎?
小弟我還是不太了解 ===================引 用 herbert2 文 章=================== 做法一樣, 只是傳參數時只挑資料夾就好了! 將 findfirst("*.*",&DirBlock,FA_RDONLY|FA_HIDDEN|FA_SYSTEM|FA_DIREC|FA_ARCH); 改 findfirst("*.*",&DirBlock,FA_RDONLY|FA_HIDDEN|FA_SYSTEM|FA_DIREC); findnext(&DirBlock); ===================引 用 demon740405 文 章=================== 我之前是有使用DirectoryListBox FileListBox 來處理取得資料夾數量 但請問還有別的方法嗎? 我只是需要某個資料夾下所有的資料夾就夠了(檔案不要)
------
** 何須劍道爭鋒? 千人指,萬人封; 可問江湖鼎峰? 三尺秋水塵不染, 天 下 無 雙 ** |
pceyes
尊榮會員 發表:70 回覆:657 積分:1140 註冊:2003-03-13 發送簡訊給我 |
[code delphi] procedure TForm1.Button1Click(Sender: TObject); var i ,j: integer; dirs : string; begin j:=0; for i :=DirectoryListBox1.ItemIndex 1 to DirectoryListBox1.Items.Count-1 do begin dirs := dirs DirectoryListBox1.Items[i] #13; inc(j); end; showmessage(dirs); showmessage('共 ' inttostr(j) ' 個次目錄'); end; [/code]
------
努力會更接近成功 |
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
[code delphi] function TfrmMain.GetDirectoryList(TargetDir: string; var L: TStringList): Boolean; procedure getting_directory_list(dir: string; L: TStringlist); var F: TSearchRec; begin if FindFirst(dir '\*.*', faDirectory,F) = 0 then repeat if(F.Attr and faDirectory <> 0) and (F.Name <> '.') and (F.Name <> '..') then begin L.Add(dir '\' F.Name); getting_directory_list(dir '\' F.Name,L) end; until FindNext(F) <> 0; FindClose(F); end; begin if Assigned(L) then FreeAndNil(L); L := TStringList.Create; getting_directory_list(TargetDir,L); Result := L <> nil; end; [/code] [code delphi] procedure TfrmMain.Button1Click(Sender: TObject); var L: TStringList; begin L := nil; if GetDirectoryList('C:\WINDOWS\SYSTEM32', L) then try L.SaveToFile('D:\RESULT.TXT'); finally FreeAndNIl(L); end; end; [/code]
編輯記錄
jow 重新編輯於 2008-11-21 10:24:42, 註解 無‧
|
demon740405
一般會員 發表:6 回覆:10 積分:3 註冊:2005-12-10 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |