Thema: Delphi Abbruch beim Shreddern

Einzelnen Beitrag anzeigen

Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Abbruch beim Shreddern

  Alt 30. Aug 2009, 16:26
Hier mal ein abgewandelter Auszug aus einem ähnlichen Programm von mir:
Delphi-Quellcode:
type
  TShredder = class
  private
    FBuffer: packed array[0..$20000 div sizeof(integer)] of integer;
  public
    constructor Create;
    function ShredderFile(Name: string): Boolean;
  end;

constructor TShredder.Create;
begin
  randomize;
end;

procedure TShredder.GenerateRandomBuffer;
var
  i: Integer;
begin
  for i := 0 to High(FBuffer) do
    FBuffer[i] := random(maxint);
end;

function TShredder.ShredderFile(Name: string): Boolean;
var
  LFileStream: TFileStream;
  LWriteCount: integer;
begin
  Result := False;
  LFileStream := TFileStream.Create(Name,fmCreate);
  try
    LFileStream.Position := 0;

    while LFileStream.Position < LFileStream.Size-1 do
    begin
      LWriteCount := min(length(FBuffer),
         LFileStream.Size-LfileStream.Position);
      LFileStream.Write(FBuffer[0],LWriteCount);
      GenerateRandomBuffer;
    end;
    Result := True;
  finally
    LFileStream.Free;
  end;
end;
Übrigens würde mich interessieren, weshalb du Bit-Operationen verwendest, anstatt die Daten einfach mit völlig anderen Werten zu überschrieben.
  Mit Zitat antworten Zitat