| csyasar | 30.04.2004 - 19:36:33 |
| {silinen dosyaları dosya kurtarma yazılımları bile geri getirememez en azındantek parça halinde:) bu kod dosyaları ofislerdeki kağıt parçalama makineleri gibi parçalayarak siler
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; | |