//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
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, а параметры Path и Attr FindFirst используются по умолчанию. FindFirst и FindNext должны вызвать FindClose, чтобы освободить память.
CopyFile копирует существующий файл в новый файл, определяемый следующим образом:
BOOLCopyFile(
LPCTSTRlpExistingFileName, // Файл, который нужно скопировать.
LPCTSTRlpNewFileName,//Файл назначения для копирования
BOOLbFailIfExists//Если целевой файл уже существует,
//Укажите, как действовать, если целевой файл для Туре уже существует, действуйте
//Не удалось сделать, иначе перезаписать
);
Что касается восстановления рекламных баннеров, вы что, действительно хотите восстановить рекламные баннеры? Ого, такие люди есть, я убежден! Ладно, в качестве функции кратко представлю восстановление рекламных баннеров.
Как упоминалось ранее, удалите все файлы GIF в папке AD, и OICQ автоматически загрузит рекламные файлы при следующем запуске. Существует два способа реализации функции восстановления. Один метод — удалить папку AD, а другой — удалить файлы GIF в папке AD. Поскольку при удалении рекламных баннеров вам необходим доступ к папке AD, то если вы воспользуетесь первым способом и сразу после восстановления рекламных баннеров нажмете «Удалить рекламные баннеры», то может возникнуть ошибка. Поэтому рекомендуется использовать второй метод. Оба метода кратко представлены здесь.
Удалите папку. Сначала необходимо ввести функцию ShFileOperation() и тип TshFileOpStruct.
Функция ShFileOperation() может копировать, перемещать, переименовывать, удалять и выполнять другие операции с файловой системой. Если операция прошла успешно, она возвращает 0, в противном случае — ненулевое значение. Определение следующее:
WINSHELLAPIintWINAPISHFileOperation(
ЛПШФИЛЕОПСТРУКТлпфилеоп
);
ShFileOpStruct содержит информацию о файле, управляемую функцией ShFileOperation(). Тип TshFileOpStruct определяется следующим образом:
typedefstruct_SHFILEOPSTRUCT{//shfos
HWNDhwnd;
UINTwFunc;
ЛПКСТРпФром;
ЛПКСТРпто;
FILEOP_FLAGSfFlags;
BOOLfAnyOperationsAborted;
LPVOIDhNameMappings;
LPCSTRlpszPROgressTitle;
}SHFILEOPSTRUCT,FAR*LPSHFILEOPSTRUCT;