çöp kutusuna göndermeden silmek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
zaxacm
Üye
Mesajlar: 129
Kayıt: 05 Ara 2005 05:48

çöp kutusuna göndermeden silmek

Mesaj gönderen zaxacm »

c:/deneme/data.mdb dosyasını butona tıkladığımda silmek istiyorum ama çöp kutusuna gitmeden doğrudan silecek(tıpkı shift tuşuna basılı tutarken delete ye basmak gibi) hangi kodla yapabilirim.
shadowmann
Üye
Mesajlar: 508
Kayıt: 30 Oca 2004 10:49

Mesaj gönderen shadowmann »

Benim kod bankımdan. Ama test etmedim. (Google gruplarda ararsanız: delete+file+permanently+delphi)

Kod: Tümünü seç

procedure WipeFile(FileName: string);
var
  buffer: array[0..4095] of Byte;
  max, n: LongInt;
  i: Integer;
  fs: TFileStream;

  procedure RandomizeBuffer;
  var
    i: Integer;
  begin
    for i := Low(buffer) to High(buffer) do
      buffer[i] := Random(256);
  end;
begin
  fs := TFilestream.Create(FileName, fmOpenReadWrite or fmShareExclusive);
  try
    for i := 1 to 3 do
    begin
      RandomizeBuffer;
      max := fs.Size;
      fs.Position := 0;
      while max > 0 do
      begin
        if max > SizeOf(buffer) then
          n := SizeOf(buffer)
        else
          n := max;
        fs.Write(Buffer, n);
        max := max - n;
      end;
      FlushFileBuffers(fs.Handle);
    end;
  finally
    fs.Free;
  end;
  Deletefile(FileName);
end; 
zaxacm
Üye
Mesajlar: 129
Kayıt: 05 Ara 2005 05:48

Mesaj gönderen zaxacm »

Çok teşekkürler
Ancak nasıl kullanacağımı açıklarmısın biraz acemiyim de.
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
begin
WipeFile('DosyaYoluveadi.uzantisi');
end;
Örnek:

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
begin
WipeFile('C:\Deneme\a.txt');
end;

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
begin
WipeFile(ExtractFilePath(Application.ExeName)+'a.txt');
end;
vs.
vs.
Kolay Gelsin.
t-hex
Kıdemli Üye
Mesajlar: 531
Kayıt: 18 Mar 2005 02:45
Konum: İstanbul/Antalya
İletişim:

Mesaj gönderen t-hex »

Delphideki DeleteFile fonksiyonu zaten çöp kutusuna yollamadan silmiyor mu?

Yukarda verilen kod ise dosyayı undelete benzeri uygulamalarla geri getirilemeyecek şekilde silmek için yazılmış.
Cevapla