//gif.gif ist eine transparente Bilddatei unter dem aktuellen Pfad
sDir:=ExtractFilepath(application.exename)+'gif.gif';
//Wenn die Bilddatei nicht existiert, wird eine Fehlermeldung angezeigt und beendet
ifnotfileexists(sDir)then
beginnen
application.MessageBox('Dateiinstallationsfehler! Bilddatei nicht gefunden!',
'Fehler',0);
Ausfahrt;
Ende;
//Alle GIF-Dateien im AD-Ordner durch diese Datei ersetzen
fori:=0tosList.Count-1do
copyFile(Pchar(sDir),Pchar(sList[i]),False);
//Alle GIF-Dateien im DAT-Ordner suchen und ersetzen
Dir:=Edit1.Text+'Dat';
FindResult:=FindFirst(Dir+'*.gif',FaAnyFile,SearchRec);
whileFindResult=0do
beginnen
sList.Add(lowercase(Dir+SearchRec.name));
FindResult:=FindNext(SearchRec);
Ende;
fori:=0tosList.Count-1do
copyFile(Pchar(sDir),Pchar(sList[i]),False);
Endlich
FindClose(SearchRec);//FindFirst und FindNext freigeben
//Systemressourcen belegt
sList.Free;//Liste freigeben
Ende;
Ende;
FindFirst und FindNext sollen Dateien mit angegebenen Attributen und Typen unter dem angegebenen Pfad finden und sind wie folgt definiert:
functionFindFirst(constPath:string;Attr:Integer;varF:TSearchRec):Integer;
functionFindNext(varF:TSearchRec):Integer. FindNext wird immer in Verbindung mit FindFirst verwendet, und die Parameter Path und Attr von FindFirst werden standardmäßig verwendet. FindFirst und FindNext müssen FindClose aufrufen, um Speicher freizugeben.
CopyFile kopiert eine vorhandene Datei in eine neue Datei, die wie folgt definiert ist:
BOOLCopyFile(
LPCTSTRlpExistingFileName,//Die zu kopierende Datei
LPCTSTRlpNewFileName,//Zu kopierende Zieldatei
BOOLbFailIfExists//Wenn die Zieldatei bereits existiert,
// Geben Sie die Vorgehensweise an. Wenn die Zieldatei für Ture bereits vorhanden ist, führen Sie die Operation durch
//Fehler, sonst überschreiben
);
Was die Wiederherstellung der Werbebanner betrifft, was wollen Sie wirklich? Wow, solche Leute gibt es, davon bin ich überzeugt! Nun, als Funktion werde ich kurz die Wiederherstellung von Werbebannern vorstellen.
Löschen Sie, wie bereits erwähnt, alle GIF-Dateien im AD-Ordner, und OICQ lädt die Werbedateien bei der nächsten Ausführung automatisch herunter. Dann gibt es zwei Methoden, um die Wiederherstellungsfunktion zu erreichen. Eine Methode besteht darin, den AD-Ordner zu löschen, und die andere Methode besteht darin, die GIF-Dateien im AD-Ordner zu löschen. Da Sie beim Entfernen von Werbebannern auf den AD-Ordner zugreifen müssen, kann es zu einem Fehler kommen, wenn Sie die erste Methode verwenden und direkt nach dem Wiederherstellen der Werbebanner auf „Werbebanner entfernen“ klicken. Daher wird empfohlen, die zweite Methode anzuwenden. Beide Methoden werden hier kurz vorgestellt.
Löschen Sie den Ordner. Zunächst müssen die Funktion ShFileOperation() und der Typ TshFileOpStruct eingeführt werden.
Die Funktion ShFileOperation() kann das Dateisystem kopieren, verschieben, umbenennen, löschen und andere Vorgänge ausführen. Wenn der Vorgang erfolgreich ist, gibt sie 0 zurück, andernfalls gibt sie einen Wert ungleich Null zurück. Die Definition lautet wie folgt:
WINSHELLAPIintWINAPISHFileOperation(
LPSHFILEOPSTRUCTlpFileOp
);
ShFileOpStruct enthält Dateiinformationen, die von der Funktion ShFileOperation() verwaltet werden. Der TshFileOpStruct-Typ ist wie folgt definiert:
typedefstruct_SHFILEOPSTRUCT{//shfos
HWNDhwnd;
UINTwFunc;
LPCSTRpFrom;
LPCSTRpTo;
FILEOP_FLAGSfFlags;
BOOLfAnyOperationsAborted;
LPVOIDhNameMappings;
LPCSTRlpszPRogressTitle;
}SHFILEOPSTRUCT,FAR*LPSHFILEOPSTRUCT;