我有一个应用程序,它表现为文件夹中所有图片的幻灯片。它是用 Borland 的 C++ Builder (9) 编写的。它目前使用一些借用的代码将文件名放入列表框并将列表框项目保存为文本文件。
我想更新它,以便将文件名存储在适当的数据库中,以便我可以包含额外的字段并使用它执行适当的 SQL 操作。
所以基本上,如果我看到一些“示例”代码做同样的事情,我就能解决这个问题。
因此,如果有人知道执行此操作的任何代码,我将不胜感激。它需要能够对某些文件类型执行此操作……而不仅仅是所有文件。
我有一个应用程序,它表现为文件夹中所有图片的幻灯片。它是用 Borland 的 C++ Builder (9) 编写的。它目前使用一些借用的代码将文件名放入列表框并将列表框项目保存为文本文件。
我想更新它,以便将文件名存储在适当的数据库中,以便我可以包含额外的字段并使用它执行适当的 SQL 操作。
所以基本上,如果我看到一些“示例”代码做同样的事情,我就能解决这个问题。
因此,如果有人知道执行此操作的任何代码,我将不胜感激。它需要能够对某些文件类型执行此操作……而不仅仅是所有文件。
您基本上需要编写一个带有 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);
}