Registriert seit: 29. Mai 2002
37.621 Beiträge
Delphi 2006 Professional
|
Re: Verschachtelte Schleifen - Gesamtfortschritt
27. Feb 2008, 11:51
Richtig sähe es so aus:
Delphi-Quellcode:
PosTotal := 0;
for Pass := 0 to FOverWriteCount do
begin
// Schreibpuffer füllen
for i := 0 to Length(Buffer) div SizeOf(TTrippleByte) - 1 do
if (Pass < Low(Mask)) or (Pass > High(Mask)) then
begin
Buffer[i * SizeOf(TTrippleByte)] := Random(256);
Buffer[i * SizeOf(TTrippleByte) + 1] := Random(256);
Buffer[i * SizeOf(TTrippleByte) + 1] := Random(256);
end
else
PTrippleByte(@Buffer[i * SizeOf(TTrippleByte)])^ := Mask[Pass];
// Datei überschreiben
SetFilePointer(H, 0, nil, FILE_BEGIN);
Pos := 0;
while Pos < Sectors do
begin
PosTotal := PosTotal + Pos; // MP
SendMessage(Parent, FCM_DELFILE_PROG, Trunc((Pass* (Sectors+PosTotal)) / (FOverWriteCount * Sectors) * 100), 0);
i := Min(Sectors - Pos, Length(Buffer) div Integer(SectorSize));
if not WriteFile(H, Buffer[0], i * SectorSize, W, nil)
or (Integer(W) <> i * SectorSize) then
Exit;
Inc(Pos, i);
end;
end;
Damit wird eine Datei sicher gelöscht durch mehrmaliges Überschreiben mit bestimmten Bitmustern.
Michael Ein Teil meines Codes würde euch verunsichern.
|
|
Zitat
|