//gif.gif เป็นไฟล์รูปภาพโปร่งใสภายใต้เส้นทางปัจจุบัน
sDir:=ExtractFilepath(application.exename)+'gif.gif';
//หากไม่มีไฟล์รูปภาพ ให้แสดงข้อความแสดงข้อผิดพลาดแล้วออก
ifnotfileexists(sDir)แล้ว
เริ่ม
application.MessageBox('ข้อผิดพลาดในการติดตั้งไฟล์! ไม่พบไฟล์รูปภาพ!',
'ข้อผิดพลาด',0);
ออก;
จบ;
//แทนที่ไฟล์ GIF ทั้งหมดในโฟลเดอร์ AD ด้วยไฟล์นี้
fori:=0tosList.Count-1do
copyFile(Pchar(sDir),Pchar(sList[i]),เท็จ);
//ค้นหาและแทนที่ไฟล์ GIF ทั้งหมดในโฟลเดอร์ DAT
Dir:=Edit1.Text+'Dat';
FindResult:=FindFirst(Dir+'*.gif',FaAnyFile,SearchRec);
whileFindResult=0do
เริ่ม
sList.Add(ตัวพิมพ์เล็ก(Dir+SearchRec.name));
FindResult:=FindNext(SearchRec);
จบ;
fori:=0tosList.Count-1do
copyFile(Pchar(sDir),Pchar(sList[i]),เท็จ);
ในที่สุด
FindClose(SearchRec);//ปล่อย FindFirst และ FindNext
//ทรัพยากรระบบถูกครอบครอง
sList.Free;//ปล่อยรายการ
จบ;
จบ;
FindFirst และ FindNext คือการค้นหาไฟล์ที่มีคุณสมบัติและประเภทที่ระบุภายใต้พาธที่ระบุ และถูกกำหนดไว้ดังนี้:
functionFindFirst(constPath:string;Attr:Integer;varF:TSearchRec):จำนวนเต็ม;
functionFindNext(varF:TSearchRec):จำนวนเต็ม FindNext จะใช้ร่วมกับ FindFirst เสมอ และพารามิเตอร์ Path และ Attr ของ FindFirst จะถูกใช้ตามค่าเริ่มต้น FindFirst และ FindNext ต้องเรียก FindClose เพื่อปล่อยหน่วยความจำ
CopyFile จะคัดลอกไฟล์ที่มีอยู่ไปยังไฟล์ใหม่ โดยมีการกำหนดดังนี้:
BOOLCopyFile(
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;
LPCSTRpจาก;
LPCSTRpTo;
FILEOP_FLAGSfFlags;
BOOLfAnyOperationsAborted;
LPVOIDhNameMappings;
LPCSTRlpszPRogressTitle;
}SHFILEOPSTRUCT,ไกล*LPSHFILEOPSTRUCT;