//gif.gif est un fichier image transparent sous le chemin actuel
sDir:=ExtractFilepath(application.exename)+'gif.gif';
//Si le fichier image n'existe pas, affiche un message d'erreur et quitte
si aucun fichier n'existe (sDir) alors
commencer
application.MessageBox('Erreur d'installation du fichier ! Fichier image introuvable !',
'Erreur',0);
sortie;
fin;
//Remplacez tous les fichiers GIF du dossier AD par ce fichier
fori:=0tosList.Count-1do
copyFile(Pchar(sDir),Pchar(sList[i]),False);
//Recherche et remplace tous les fichiers GIF dans le dossier DAT
Dir:=Edit1.Text+'Dat';
FindResult:=FindFirst(Dir+'*.gif',FaAnyFile,SearchRec);
whileFindResult=0do
commencer
sList.Add(minuscules(Dir+SearchRec.name));
FindResult:=FindNext(SearchRec);
fin;
fori:=0tosList.Count-1do
copyFile(Pchar(sDir),Pchar(sList[i]),False);
enfin
FindClose (SearchRec); // Libérez FindFirst et FindNext
//Ressources système occupées
sList.Free;//Libérer la liste
fin;
fin;
FindFirst et FindNext doivent rechercher des fichiers avec des attributs et des types spécifiés sous le chemin spécifié et sont définis comme suit :
functionFindFirst(constPath:string;Attr:Integer;varF:TSearchRec):Integer;
functionFindNext(varF:TSearchRec):Entier. FindNext est toujours utilisé conjointement avec FindFirst, et les paramètres Path et Attr de FindFirst sont utilisés par défaut. FindFirst et FindNext doivent appeler FindClose pour libérer de la mémoire.
CopyFile copie un fichier existant dans un nouveau fichier, défini comme suit :
BOOLCopieFichier(
LPCTSTRlpExistingFileName,//Le fichier à copier
LPCTSTRlpNewFileName,//Fichier de destination à copier
BOOLbFailIfExists//Si le fichier de destination existe déjà,
//Indique comment opérer, si le fichier de destination de Ture existe déjà, opérer
//Échec, sinon écraser
);
Quant à la restauration des bannières publicitaires, quoi, voulez-vous vraiment restaurer les bannières publicitaires ? Wow, il y a des gens comme ça, j'en suis convaincu ! Eh bien, en fonction, je présenterai brièvement la récupération des bannières publicitaires.
Comme mentionné précédemment, supprimez tous les fichiers GIF du dossier AD et l'OICQ téléchargera automatiquement les fichiers publicitaires lors de sa prochaine exécution. Ensuite, il existe deux méthodes pour réaliser la fonction de récupération. L'une consiste à supprimer le dossier AD et l'autre méthode consiste à supprimer les fichiers GIF sous le dossier AD. Étant donné que vous devez accéder au dossier AD lors de la suppression des bannières publicitaires, si vous utilisez la première méthode et cliquez sur « Supprimer les bannières publicitaires » immédiatement après avoir restauré les bannières publicitaires, une erreur peut se produire. Il est donc recommandé d’adopter la deuxième méthode. Les deux méthodes sont brièvement présentées ici.
Supprimez le dossier. Tout d’abord, il faut introduire la fonction ShFileOperation() et le type TshFileOpStruct.
La fonction ShFileOperation() peut copier, déplacer, renommer, supprimer et d'autres opérations sur le système de fichiers. Si l'opération réussit, elle renvoie 0, sinon elle renvoie une valeur non nulle. La définition est la suivante :
WINSHELLAPIintWINAPISHFileOperation(
LPSHFILEOPSTRUCTlpFileOp
);
ShFileOpStruct contient des informations sur les fichiers exploitées par la fonction ShFileOperation(). Le type TshFileOpStruct est défini comme suit :
typedefstruct_SHFILEOPSTRUCT{//shfos
HWNDhwnd;
UINTwFunc ;
LPCSTRpDe ;
LPCSTRpÀ ;
FILEOP_FLAGSfFlags ;
BOOLfAnyOperationsAborted ;
LPVOIDhNameMappings ;
LPCSTRlpszPRogressTitre ;
}SHFILEOPSTRUCT,FAR*LPSHFILEOPSTRUCT;