//gif.gif es un archivo de imagen transparente en la ruta actual
sDir:=ExtractFilepath(application.exename)+'gif.gif';
//Si el archivo de imagen no existe, muestra un mensaje de error y sale
si el archivo no existe (sDir) entonces
comenzar
application.MessageBox('¡Error de instalación del archivo! ¡Archivo de imagen no encontrado!',
'Error',0);
salida;
fin;
//Reemplaza todos los archivos GIF en la carpeta AD con este archivo
fori:=0tosList.Count-1do
copiarArchivo(Pchar(sDir),Pchar(sList[i]),False);
//Busca y reemplaza todos los archivos GIF en la carpeta DAT
Dir:=Edit1.Text+'Dat';
FindResult:=FindFirst(Dir+'*.gif',FaAnyFile,SearchRec);
whileFindResult=0hacer
comenzar
sList.Add(minúsculas(Dir+SearchRec.name));
BuscarResultado:=BuscarSiguiente(BuscarRec);
fin;
fori:=0tosList.Count-1do
copiarArchivo(Pchar(sDir),Pchar(sList[i]),False);
finalmente
FindClose(SearchRec);//Liberar FindFirst y FindNext
//Recursos del sistema ocupados
sList.Free;//Liberar la lista
fin;
fin;
FindFirst y FindNext buscan archivos con atributos y tipos específicos en la ruta especificada y se definen de la siguiente manera:
functionFindFirst(constPath:string;Attr:Integer;varF:TSearchRec):Integer;
funciónFindNext(varF:TSearchRec):Entero. FindNext siempre se usa junto con FindFirst, y los parámetros Path y Attr de FindFirst se usan de forma predeterminada. FindFirst y FindNext deben llamar a FindClose para liberar memoria.
CopyFile copia un archivo existente en un archivo nuevo, definido de la siguiente manera:
BOOLCopiarArchivo(
LPCTSTRlpExistingFileName,//El archivo a copiar
LPCTSTRlpNewFileName,//Archivo de destino para copiar
BOOLbFailIfExists//Si el archivo de destino ya existe,
//Indicamos cómo operar, si el archivo de destino para Ture ya existe, operamos
//Error al realizarlo; de lo contrario, se sobrescribe
);
En cuanto a restaurar los banners publicitarios, ¿realmente desea restaurar los banners publicitarios? Vaya, hay gente así, ¡estoy convencido! Bueno, como función, presentaré brevemente la recuperación de banners publicitarios.
Como se mencionó anteriormente, elimine todos los archivos GIF en la carpeta AD y OICQ descargará automáticamente los archivos publicitarios la próxima vez que se ejecute. Luego, hay dos métodos para lograr la función de recuperación. Un método es eliminar la carpeta AD y el otro método es eliminar los archivos GIF en la carpeta AD. Dado que necesita acceder a la carpeta AD al eliminar pancartas publicitarias, si utiliza el primer método y hace clic en "Eliminar pancartas publicitarias" inmediatamente después de restaurar las pancartas publicitarias, puede ocurrir un error. Por tanto, se recomienda adoptar el segundo método. Ambos métodos se presentan brevemente aquí.
Elimina la carpeta. Primero, es necesario introducir la función ShFileOperation() y el tipo TshFileOpStruct.
La función ShFileOperation() puede copiar, mover, cambiar nombre, eliminar y otras operaciones en el sistema de archivos. Si la operación es exitosa, devuelve 0; de lo contrario, devuelve un valor distinto de cero. La definición es la siguiente:
WINSHELLAPIintWINAPISHFileOperation(
LPSHFILEOPSTRUCTlpFileOp
);
ShFileOpStruct contiene información de archivo operada por la función ShFileOperation(). El tipo TshFileOpStruct se define de la siguiente manera:
typedefstruct_SHFILEOPSTRUCT{//shfos
HWNDhwnd;
UINTwFunc;
LPCSTRpDesde;
LPCSTRpTo;
FILEOP_FLAGSfFlags;
BOOLfAnyOperationsAborted;
Asignaciones de nombres de LPVOIDh;
LPCSTRlpszPRogressTitle;
}SHFILEOPSTRUCT,FAR*LPSHFILEOPSTRUCT;