Jupp, dahinter stecken teilweise einige eigene Definitionen/
API-Implementationen.
Delphi-Quellcode:
PLongWordArray = ^TLongWordArray;
TLongWordArray = Array[0..0] of LongWord;
TLargeIntRec =
Int64Rec
Memory.Fill1 =
FillMemory usw.
Aber Aufgrund der aktuellen Datendichte und wegen dem exzessiven Logging von NTFS, reicht ein einfaches überschreiben.
Delphi-Quellcode:
var
s: TFileStream;
a:
array[0..$FFFF]
of Byte;
i: Int64;
begin
FillChar(a, SizeOf(a), 0);
s := TFileStream.Create(TheFileName, fmOpenReadWrite);
try
i := (s.Size + $FFFF)
and not Int64($FFFF);
while i > 0
do begin
s.
Write(a, SizeOf(a));
if i
mod $03FFFFFF = 0
then
FlushFileBuffers(s.Handle);
Dec(i, SizeOf(a));
end;
FlushFileBuffers(s.Handle);
finally
s.Free;
end;
PS: Wirklich sicher löschen geht aber nicht.
OK, die Daten in dieser Datei mögen weg sein, aber es können noch Kopien der Dateidaten vorhanden sein.
(Fragmentierung, Pagefile usw.)
Aber den Grund dafür hatte ich in irgendeinem dieser Sicher-Löschen-Threads schonmal ausführlich benannt.