ملء قاعدة بيانات بأسماء الملفات من الدلائل

StackOverflow https://stackoverflow.com/questions/129919

  •  02-07-2019
  •  | 
  •  

سؤال

لدي تطبيق يعمل بمثابة عرض شرائح لجميع الصور الموجودة في المجلد.هو مكتوب في Borland's 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