![]() |
Re: frage zu tip datei löschen und..
Hai horst,
wie hast Du dein "Problem" denn gelöst? Wenn Du hier eine Antwort gibst haben alle die unsere Suchfunktion benutzen auch etwas davon. |
Re: frage zu tip datei löschen und..
hallo...gerne.
Delphi-Quellcode:
procedure SafeDeleteFile(Filename : String);
const Buffer = 1024; var arr: array [1..Buffer] of byte; fi: file; i, n: integer; begin if FileExists(FileName) then begin AssignFile(fi, FileName); Reset(fi, 1); n := FileSize(fi); FillChar(arr, SizeOf(arr), #0); for i := 1 to n div Buffer do begin BlockWrite(fi, arr, n mod Buffer); end; CloseFile(fi); Erase(fi); end; end; // Deklaration ab Delphi 5 procedure FindAllFiles(RootFolder: string; Mask: string = '*.*'; Recurse: Boolean = True); var SR: TSearchRec; begin if AnsiLastChar(RootFolder)^ <> '\' then RootFolder := RootFolder + '\'; // * * * * * // nur bis einschließlich Delphi 4 benötigt if Mask = '' then Mask := '*.*'; // * * * * * if Recurse then if FindFirst(RootFolder + '*.*', faAnyFile, SR) = 0 then try repeat if SR.Attr and faDirectory = faDirectory then // --> ein Verzeichnis wurde gefunden // der Verzeichnisname steht in SR.Name // der vollständige Verzeichnisname (inkl. darüberliegender Pfade) ist // RootFolder + SR.Name if (SR.Name <> '.') and (SR.Name <> '..') then FindAllFiles(RootFolder + SR.Name, Mask, Recurse); until FindNext(SR) <> 0; finally FindClose(SR); end; if FindFirst(RootFolder + Mask, faAnyFile, SR) = 0 then try repeat if SR.Attr and faDirectory <> faDirectory then begin // --> eine Datei wurde gefunden // der Dateiname steht in SR.Name // der vollständige Dateiname (inkl. Pfadangabe) ist // RootFolder + SR.Name // löschen/überschreiben SafeDeleteFile(RootFolder + SR.Name); end; until FindNext(SR) <> 0; finally FindClose(SR); end; end; procedure TForm1.Button1Click(Sender: TObject); begin FindAllFiles('C:\test\','*.*'); end; |
Re: frage zu tip datei löschen und..
Newbiefrage: Wie kann man damit jetzt noch eine komplette Ordnerstruktur incl Inhalt löschen?
danke EL FYI: ....... procedure FindAllFiles(var FileList: TStrings; RootFolder: string; Mask: string = '*.*'; Recurse: Boolean = True); var SR: TSearchRec; begin IncludeTrailingPathDelimiter(RootFolder); if Recurse then if FindFirst(RootFolder + '*.*', faAnyFile, SR) = 0 then try repeat if SR.Attr and faDirectory = faDirectory then // --> ein Verzeichnis wurde gefunden // der Verzeichnisname steht in SR.Name // der vollständige Verzeichnisname (inkl. darüberliegender Pfade) ist // RootFolder + SR.Name if (SR.Name <> '.') and (SR.Name <> '..') then FindAllFiles(FileList, RootFolder + SR.Name, Mask, Recurse); until FindNext(SR) <> 0; finally FindClose(SR); end; if FindFirst(RootFolder + Mask, faAnyFile, SR) = 0 then try repeat if SR.Attr and faDirectory <> faDirectory then begin // --> eine Datei wurde gefunden // der Dateiname steht in SR.Name // der vollständige Dateiname (inkl. Pfadangabe) ist // RootFolder + SR.Name FileList.Add(RootFolder + SR.Name); end; until FindNext(SR) <> 0; finally FindClose(SR); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz