Menghapus Semua file dalam folder menggunakan delphi

Leave a Comment
Udah cukup lama gk ngepost hari ini saya buat kategeori baru yang kusus membhas mengenai delphi, untuk posting kali ini saya akan menunjukan bagaimana cara Menghapus Semua file dalam folder menggunakan delphi oke langsung aje

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

procedure 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;
Nah misal kita ingin menghapus semua file dalam folder C:\TEST tanpa menghapus sub folder yang ada didalamnya cukup kita ketikan kode berikut ini
procedure TForm1.Button1Click(Sender: TObject);
begin
  DelFilesFromDir('C:\TEST', '*.*', FALSE);
end;
Jika kita ingin menghapus semua file beserta sub folder yang ada dalam folder kita cukup menggnti FALSE menjadi TRUE

DelFilesFromDir('C:\TEST', '*.*', TRUE);





Ok sekian terimakasih semoga bermanfaat

Sumber :
http://www.festra.com/wwwboard/messages/13157.html




SelanjutnyaPosting Lebih Baru SebelumnyaPosting Lama Beranda

0 komentar:

Posting Komentar