Question

J'ai une application qui se comporte comme un diaporama pour toutes les images d'un dossier. Il est écrit en C ++ Builder (9) de Borland. Il utilise actuellement du code emprunté pour jeter les noms de fichiers dans une zone de liste et enregistrer les éléments en tant que fichier texte.

Je souhaite mettre à jour cette fonctionnalité afin que les noms de fichiers soient stockés dans une base de données appropriée, de sorte que je puisse inclure des champs supplémentaires et effectuer correctement les opérations SQL.

Donc, fondamentalement, je serais capable de le résoudre si je voyais un "exemple de code" faire la même chose.

Donc, si quelqu'un connaissait un code qui fait cela, je serais reconnaissant. Il doit pouvoir le faire sur certains types de fichiers, pas seulement tous les fichiers.

Était-ce utile?

La solution

Vous devez en principe écrire une fonction récursive avec un paramètre TDataSet.

(Je n'ai pas pu compiler mon code, vous l'aurez donc "tel quel")

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);
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top