我有一个应用程序,它表现为文件夹中所有图片的幻灯片。它是用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);
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top