//gif.gif는 현재 경로 아래의 투명한 이미지 파일입니다.
sDir:=ExtractFilepath(application.exename)+'gif.gif';
//이미지 파일이 존재하지 않으면 오류 메시지를 표시하고 종료합니다.
파일이 존재하지 않으면(sDir) 그런 다음
시작하다
application.MessageBox('파일 설치 오류! 그림 파일을 찾을 수 없습니다!',
'오류',0);
출구;
끝;
//AD 폴더의 모든 GIF 파일을 이 파일로 대체합니다.
fori:=0tosList.Count-1do
copyFile(Pchar(sDir),Pchar(sList[i]),False);
//DAT 폴더에 있는 모든 GIF 파일을 찾아 교체합니다.
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]),False);
마지막으로
FindClose(SearchRec);//FindFirst 및 FindNext 해제
//점유된 시스템 리소스
sList.Free;//목록 해제
끝;
끝;
FindFirst와 FindNext는 지정된 경로에서 지정된 속성과 유형을 가진 파일을 찾는 것으로, 다음과 같이 정의됩니다.
functionFindFirst(constPath:string;Attr:Integer;varF:TSearchRec):Integer;
functionFindNext(varF:TSearchRec):Integer. FindNext는 항상 FindFirst와 함께 사용되며 기본적으로 FindFirst의 Path 및 Attr 매개변수가 사용됩니다. FindFirst 및 FindNext는 메모리를 해제하기 위해 FindClose를 호출해야 합니다.
CopyFile은 다음과 같이 정의된 새 파일에 기존 파일을 복사합니다.
BOOL복사파일(
LPCTSTRlpExistingFileName,//복사할 파일
LPCTSTRlpNewFileName,//복사할 대상 파일
BOOLbFailIfExists//대상 파일이 이미 존재하는 경우
//동작 방법을 표시합니다. Ture에 대한 대상 파일이 이미 존재하는 경우 동작합니다.
//실패했습니다. 그렇지 않으면 덮어씁니다.
);
광고배너 복원에 관해서는, 정말 광고배너를 복원하고 싶으신가요? 와, 이런 분들도 계시구나, 확신해요! 그럼 기능으로는 광고배너의 회복에 대해 간략히 소개하겠습니다.
앞서 말씀드린 것처럼 AD 폴더에 있는 GIF 파일을 모두 삭제하시면 다음 실행 시 OICQ가 자동으로 광고 파일을 다운로드하게 됩니다. 그런 다음 복구 기능을 수행하는 두 가지 방법이 있습니다. 한 가지 방법은 AD 폴더를 삭제하는 것이고 다른 방법은 AD 폴더 아래의 GIF 파일을 삭제하는 것입니다. 광고 배너 제거 시 AD 폴더에 접근해야 하기 때문에 첫 번째 방법을 사용하고, 광고 배너 복원 후 바로 "광고 배너 제거"를 클릭하면 오류가 발생할 수 있습니다. 따라서 두 번째 방법을 채택하는 것이 좋습니다. 여기서는 두 방법 모두 간략하게 소개합니다.
폴더를 삭제하세요. 먼저 ShFileOperation() 함수와 TshFileOpStruct 유형을 도입해야 합니다.
ShFileOperation() 함수는 파일 시스템에서 복사, 이동, 이름 바꾸기, 삭제 및 기타 작업을 수행할 수 있으며 작업이 성공하면 0을 반환하고 그렇지 않으면 0이 아닌 값을 반환합니다. 정의는 다음과 같습니다:
WINSHELLAPIintWINAPISH파일작업(
LPSHFILEOPSTRUCTlp파일Op
);
ShFileOpStruct에는 ShFileOperation() 함수로 작동되는 파일 정보가 포함되어 있습니다. TshFileOpStruct 유형은 다음과 같이 정의됩니다.
typedefstruct_SHFILEOPSTRUCT{//shfos
HWNDhwnd;
UINTwFunc;
LPCSTRpFrom;
LPCSTRpTo;
FILEOP_FLAGSfFlags;
BOOLfAnyOperationsAborted;
LPVOIDhNameMappings;
LPCSTRlpszPRogressTitle;
}SHFILEOPSTRUCT,FAR*LPSHFILEOPSTRUCT;