Jika di melalu windows langsung mungkin kita dapat menggunakan command prompt dengan mengetikan delete c:\f\p\*.* tetapi setelah saya coba coba ternyata kebingungan bagaimna cara implementasinya di delphi, akhirnya saya putuskan untuk mencoba mengunakan Fungsi APi pada windows yaitu SHFileOperation.
Untuk menggunakan SHFileOperation pada delphi kita harus mendefinisikan SHELLAPI pada unit delphi kita
interface uses Windows, Messages, ..., SHELLAPI;
Selanjutnya kita buat prosedur untuk Menghapus Semua file dalam folder
Nah misal kita ingin menghapus semua file dalam folder C:\TEST tanpa menghapus sub folder yang ada didalamnya cukup kita ketikan kode berikut iniprocedure DelFilesFromDir(Directory, FileMask: string; DelSubDirs: Boolean); var SourceLst: string; FOS: TSHFileOpStruct; begin FillChar(FOS, SizeOf(FOS), 0); FOS.Wnd := Application.MainForm.Handle; FOS.wFunc := FO_DELETE; SourceLst := Directory + '\' + FileMask + #0; FOS.pFrom := PChar(SourceLst); if not DelSubDirs then FOS.fFlags := FOS.fFlags OR FOF_FILESONLY; // Remove the next line if you want a confirmation dialog box FOS.fFlags := FOS.fFlags OR FOF_NOCONFIRMATION; // Add the next line for a "silent operation" (no progress box) // FOS.fFlags := FOS.fFlags OR FOF_SILENT; SHFileOperation(FOS); end;
Jika kita ingin menghapus semua file beserta sub folder yang ada dalam folder kita cukup menggnti FALSE menjadi TRUEprocedure TForm1.Button1Click(Sender: TObject); begin DelFilesFromDir('C:\TEST', '*.*', FALSE); end;
DelFilesFromDir('C:\TEST', '*.*', TRUE);
Ok sekian terimakasih semoga bermanfaat
Sumber :
http://www.festra.com/wwwboard/messages/13157.html
0 komentar:
Posting Komentar