2008-09-24 67 views
0

我有一個應用程序,它可以作爲文件夾中所有圖片的幻燈片顯示。它是用Borland的C++ Builder(9)編寫的。它當前使用一些借用代碼將文件名引入列表框並將列表框項目保存爲文本文件。用目錄中的文件名填充數據庫

我想更新它,以便文件名存儲在一個合適的數據庫中,這樣我就可以包含額外的字段並對它進行適當的SQL操作。

因此,如果我看到一些「示例」代碼做同樣的事情,基本上我就能解決它。

所以,如果有人知道任何代碼,這樣做我會很大。它需要能夠在某些文件類型上執行...而不僅僅是所有文件。

回答

1

您基本上需要用TDataSet參數編寫遞歸函數。

(我無法編譯我的代碼,所以你得到它「原樣」)

void AddFiles(AnsiString path, TDataSet *DataSet) 
{ 
TSearchRec sr; 
int f; 
    f = FindFirst(path+"\\*.*", faAnyFile, sr); 
    while(!f) 
    { 
     if(sr.Attr & faDirectory) 
     { 
      if(sr.Name != "." && sr.Name != "..") 
      { 
       path.sprintf("%s%s%s", path, "\\", sr.Name); 
       AddFiles(path, DataSet); 
      } 
     } 
     else 
     { 
      DataSet->Append(); 
      DataSet->FieldByName("Name")->Value = sr.Name; 
      /* other fields ... */ 
      DataSet->Post(); 
     } 
     f = FindNext(sr); 
    } 
    FindClose(sr); 
} 
+0

此非常感謝。我會嘗試,當我可以不幸立即沒有。我會讓你知道結果。 – MrVimes 2008-09-25 00:12:18