Der jetzige Code deckt alle Dateigrößen ab, auch ungerade
Delphi-Quellcode:
function DateiSchreiben(
const AFilename:
string;
const AFileSize: Int64): boolean;
const
coFileData = '
#abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ+';
var
lStream: TStream;
lBytesToWrite: Int64;
lWriteCount: Int64;
begin
result := false;
// Erstmal den Stream öffnen. Wenn das nicht klappt, brauch ich kein Array...
lStream := TFileStream.Create(AFilename, fmCreate
or fmShareDenyWrite);
try
lBytesToWrite := AFileSize;
while ( lBytesToWrite > 0 )
do
begin
lWriteCount := Min(lBytesToWrite, length(coFileData));
lStream.WriteBuffer(coFileData, lWriteCount);
Dec(lBytesToWrite, lWriteCount);
end;
result := true;
finally
lStream.free;
end;
end;
Wieder ungetestet, aber sollte so klappen.