Moin
DP!
Mich nervt gerade das Problem, das mir (große) Dateien immer genullt werden, was mir zu lange dauert, für meine Zwecke unnötig ist und meine Nerven strapaziert...
Ums auf den Punkt zu bringen hab ich einen Test QT gemacht:
Delphi-Quellcode:
var F:File;
i:Cardinal;
PC:Array[0..65535] of Char;
begin
AssignFile(F, 'L:\~Test.tmp');
ReWrite(F, 1);
i:=1 * 1024 * 1024 * 1024;
Seek(F, i+65536);
Truncate(F);
Seek(F, i);
BlockWrite(F, PC, 65536); // Hier haben wir das Die-Lämmer
CloseFile(F);
end;
Sobald ich Daten ans Ende der Datei schreibe wird die komplette Datei von Anfang bis FilePos genullt
und erst dann die eigentlichen Daten geschrieben...
Ich habs versucht, die Datei (mit der Größe) zu erstellen, schließen, öffnen und dann ans Ende schreiben, aber das half nix, sie wurde wieder genullt
Dann hab ichs direkt mit der
WinAPI versucht, aber auch da war der selbe Effekt
Wie kann ich ans Ende einer Datei schreiben ohne das alles davor genullt wird?
MfG, Sun