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

目錄的傳輸

尚未結案
G_D
一般會員


發表:6
回覆:5
積分:2
註冊:2004-12-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-12-06 18:42:55 IP:211.76.xxx.xxx 未訂閱
請問一下各位 我之前有看到某大大 有用一種比較快的刪除目錄就算目錄底下有檔案也可以刪 那如果我現在要對目錄作傳輸 就像是上傳目錄到遠端或者是下載目錄到本地端(如果目錄底下又有目錄檔案) 是否也有比較快的方法
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-12-06 19:20:49 IP:220.130.xxx.xxx 未訂閱
節錄之前回答問題的程式片段,函式是用來抓取特定目錄下的所有檔案(Full Path) 不過是用delphi寫的,你可以改寫看看.
function TForm1.CreateFileList(Dir: string): TStringList;
  procedure CreatingFileList(SubDir: string);
  var
    F: TSearchRec;
  begin
    if FindFirst(SubDir '\*.*', faAnyFile, F) = 0 then
    repeat
      if (F.Name<>'.') and (F.Name<>'..') then
      begin
        if F.Attr and faDirectory = faDirectory then
          CreatingFileList(SubDir '\' F.Name)
        else//限定FileExt='.TXT'//
          if Pos('.TXT', UpperCase(F.Name)) > 0 then
           Result.Add(SubDir '\' F.Name);
        end;
    until FindNext(F) <> 0;
    FindClose(F);
  end;
begin
  Result := TStringList.Create;
  CreatingFileList(Dir);
end;    
G_D
一般會員


發表:6
回覆:5
積分:2
註冊:2004-12-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-12-06 22:24:21 IP:211.76.xxx.xxx 未訂閱
首先很感謝你的方法 但是我對Delphi沒有很深的認識 語法也不熟 不知道有沒有BCB的範例
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-12-07 10:52:41 IP:220.130.xxx.xxx 未訂閱
TStringList* __fastcall TForm1::CreateFileList(AnsiString Dir)
{
  TStringList* P = new TStringList();
  CreatingFileList(P, Dir);
  return P;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::CreatingFileList(TStringList* P, AnsiString SubDir)
{
  TSearchRec F;
  if(FindFirst(SubDir   "\\*.*", faAnyFile, F)==0){
    do{
      if(F.Name!="." && F.Name!=".."){
        if((F.Attr & faDirectory)==faDirectory)
          CreatingFileList(P, SubDir   "\\"   F.Name);
        else if(F.Name.UpperCase().Pos(".TXT"))
          P->Add(SubDir   "\\"   F.Name);
        }
     }while(FindNext(F)==0);
     FindClose(F);
  }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  TStringList *P = CreateFileList("C:\\TEMP");
  ListBox1->Items->Text = P->Text;
  delete P;
}
//---------------------------------------------------------------------------    
系統時間:2024-04-28 17:24:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!