![]() |
Re: Beliebig große leere Dateien erzeugen
Hi,
du könntest es so machen:
Delphi-Quellcode:
function GetDiskSize(drive: Char; var free_size, total_size: Int64): Boolean;
var RootPath: array[0..4] of Char; RootPtr: PChar; current_dir: string; begin RootPath[0] := Drive; RootPath[1] := ':'; RootPath[2] := '\'; RootPath[3] := #0; RootPtr := RootPath; current_dir := GetCurrentDir; if SetCurrentDir(drive + ':\') then begin GetDiskFreeSpaceEx(RootPtr, Free_size, Total_size, nil); SetCurrentDir(current_dir); Result := True; end else begin Result := False; Free_size := -1; Total_size := -1; end; end; procedure SpammHDD(Path: string); var fs: TFileStream; free_size, total_size: Int64; begin if GetDiskSize(Path[1], free_size, total_size) then fs := TFileStream.Create(Path, fmCreate); try fs.Size := free_size - 100000; finally fs.Free; end; end; greetz Edit: Besser Version. |
Re: Beliebig große leere Dateien erzeugen
Hallo :hi:,
Delphi-Quellcode:
Das funktioniert ja wunderbar. Von einer Sekunde auf die andere ist die Platte voll, aber kann ich da jetzt auch irgendwie meine Bits noch auf Null setzen? Wird da wirklich was auf die Platte geschrieben, oder nur irgendwelche Marken gesetzt? Ich wäre dir sehr verbunden, wenn du da noch was zu sagen könntest. :)
fs := TFileStream.Create(Path, fmCreate);
try fs.Size := free_size - 100000; finally fs.Free; end; MfG freak |
Re: Beliebig große leere Dateien erzeugen
Mit dem TFileStream kannst du unter Verwendung der Methode Write (theoretisch) beliebig große Buffer in die Datei schreiben.
|
Re: Beliebig große leere Dateien erzeugen
Ich mach es so:
Delphi-Quellcode:
MfG
var
lBuffer: array [0..524287] of Byte; ... ZeroMemory(@lBuffer, SizeOf(lBuffer)); lFileStream.Seek(0, soFromBeginning); while (not FExit) do begin lFileStream.WriteBuffer(lBuffer, SizeOf(lBuffer)); FExit := (lFileStream.Size div (1024 * 1024) >= lMaxFileSize) or (GetFreeDiskSpace(Drive) < MBLeft); end; freak |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz