//gif.gif هو ملف صورة شفاف ضمن المسار الحالي
sDir:=ExtractFilepath(application.exename)+'gif.gif';
// إذا كان ملف الصورة غير موجود، فاعرض رسالة خطأ واخرج
إذا لم يكن الملف موجودًا (sDir) إذن
يبدأ
application.MessageBox('خطأ في تثبيت الملف! لم يتم العثور على ملف الصورة!',
"خطأ"، 0)؛
مخرج؛
نهاية؛
// استبدل جميع ملفات GIF الموجودة في مجلد AD بهذا الملف
fori:=0tosList.Count-1do
CopyFile(Pchar(sDir),Pchar(sList[i]),False);
// ابحث عن جميع ملفات GIF واستبدلها في مجلد DAT
دير:=Edit1.Text+'Dat';
FindResult:=FindFirst(Dir+'*.gif',FaAnyFile,SearchRec);
whileFindResult=0do
يبدأ
sList.Add(lowercase(Dir+SearchRec.name));
FindResult:=FindNext(SearchRec);
نهاية؛
fori:=0tosList.Count-1do
CopyFile(Pchar(sDir),Pchar(sList[i]),False);
أخيراً
FindClose(SearchRec);// حرر FindFirst وFindNext
// موارد النظام مشغولة
sList.Free;// حرر القائمة
نهاية؛
نهاية؛
يقوم FindFirst وFindNext بالعثور على الملفات ذات السمات والأنواع المحددة ضمن المسار المحدد، ويتم تعريفهما على النحو التالي:
functionFindFirst(constPath:string;Attr:Integer;varF:TSearchRec):Integer;
functionFindNext(varF:TSearchRec):Integer. يتم استخدام FindNext دائمًا مع FindFirst، ويتم استخدام معلمات Path وAtr الخاصة بـ FindFirst بشكل افتراضي. يجب على FindFirst وFindNext الاتصال بـ FindClose لتحرير الذاكرة.
يقوم CopyFile بنسخ ملف موجود إلى ملف جديد، كما يلي:
ملف النسخ المنطقي (
LPCTSTRlpExistingFileName,//الملف المراد نسخه
LPCTSTRlpNewFileName,// الملف الوجهة المراد نسخه
BOOLbFailIfExists//إذا كان الملف الوجهة موجودًا بالفعل،
// وضح كيفية العمل، إذا كان الملف الوجهة لـ Ture موجودًا بالفعل، فقم بالتشغيل
// فشل في القيام بذلك، وإلا قم بالكتابة فوقه
);
أما بالنسبة لاستعادة اللافتات الإعلانية، فماذا تريد حقًا استعادة اللافتات الإعلانية؟ واو، هناك أشخاص مثل هذا، أنا مقتنع! حسنًا، كوظيفة، سأقدم بإيجاز استرداد اللافتات الإعلانية.
كما ذكرنا من قبل، احذف جميع ملفات GIF الموجودة في مجلد AD، وسيقوم OICQ بتنزيل ملفات الإعلان تلقائيًا في المرة التالية التي يتم تشغيلها فيها. ثم هناك طريقتان لتحقيق وظيفة الاسترداد. إحدى الطرق هي حذف مجلد AD، والطريقة الأخرى هي حذف ملفات GIF الموجودة في مجلد AD. نظرًا لأنك تحتاج إلى الوصول إلى مجلد AD عند إزالة اللافتات الإعلانية، إذا استخدمت الطريقة الأولى وقمت بالنقر فوق "إزالة اللافتات الإعلانية" مباشرة بعد استعادة اللافتات الإعلانية، فقد يحدث خطأ. ولذلك ينصح باعتماد الطريقة الثانية. يتم تقديم كلا الطريقتين بإيجاز هنا.
احذف المجلد. أولاً، من الضروري تقديم الدالة ShFileOperation() ونوع TshFileOpStruct.
يمكن لوظيفة ShFileOperation () النسخ والنقل وإعادة التسمية والحذف والعمليات الأخرى على نظام الملفات. إذا كانت العملية ناجحة، فإنها ترجع 0، وإلا فإنها ترجع قيمة غير صفرية. التعريف هو كما يلي:
WINSHELLAPIintWINAPISHFileOperation(
LPSHFILEOPSTRUCTlpFileOp
);
يحتوي ShFileOpStruct على معلومات الملف التي يتم تشغيلها بواسطة الدالة ShFileOperation(). يتم تعريف نوع TshFileOpStruct على النحو التالي:
typedefstruct_SHFILEOPSTRUCT{//shfos
HWNDhwnd;
uINTwFunc;
LPCSTRpFrom;
LPCSTRpTo;
FILEOP_FLAGSfFlags;
BOOLfAnyOperationsAborted;
LPVOIDhNameMappings;
LPCSTRlpszPRogressTitle;
}SHFILEOPSTRUCT,FAR*LPSHFILEOPSTRUCT;