Pregunta

Tengo una aplicación que se comporta como una presentación de diapositivas para todas las imágenes de una carpeta. Está escrito en el C ++ Builder de Borland (9). Actualmente utiliza algún código prestado para lanzar los nombres de archivo en un cuadro de lista y guardar los elementos del cuadro de lista como un archivo de texto.

Quiero actualizar esto para que los nombres de los archivos se almacenen en una base de datos adecuada para que pueda incluir campos adicionales y hacer cosas SQL adecuadas con ellos.

Básicamente, sería capaz de resolverlo si veo que un código de "ejemplo" hace lo mismo.

Entonces, si alguien sabe de algún código que haga esto, estaría agradecido. Debe poder hacerlo en ciertos tipos de archivos ... no solo en todos los archivos.

¿Fue útil?

Solución

Básicamente no necesitas escribir una función recursiva con un parámetro TDataSet.

(No pude compilar mi código, así que lo obtienes " tal como está ")

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);
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top