Forum: Win32/Win64 API (native code)
by Willie1,
9. Dez 2021
Hallo,
ich hab' den Fehler gefunden! Open(TempName, zmWrite); //hier liegt der Fehler
for i := Low(List) to High(List) do begin
Add(List);// <-----------------
TFile.Delete(List);
end;
Close;
ich benutze die Instanz TZipFile zweimal, einmal zum Auspacken des alten Zip und einmal zum Schreiben des neuen Zip. Ich war davon aus gegangen, dass mit Open...
Forum: Win32/Win64 API (native code)
by Willie1,
8. Dez 2021
Du hast recht.
Die Zip-Datei wird neu geschrieben, sie wird nur immer größer. Wi.
Forum: Win32/Win64 API (native code)
by Willie1,
5. Dez 2021
Hallo KodeZwerg,
da hast du was Gutes bei Overflow gefunden. Ich werde es testen, bin aber sicher, dass es geht. Da habe ich schon oft Gutes gefunden.
Ich habe nur ein Problem: Bei dieser Methode wird wohl nur der Header gelöscht, die Datei bleibt. Mein von mir gegangener Weg wird bei Overflow genau so erwähnt. Bei 80 Dateien geht das sehr schnell und Speicherplatz auf der Festplatte ist kein...
Forum: Win32/Win64 API (native code)
by Willie1,
4. Dez 2021
procedure TWZZipFile.AddandOverride(const aFilename: string; const ArchiveFileName: string);
var
TempPa, TempName: string;
List: TStringDynArray;
i: Integer;
Done: Boolean;
begin
if TFileAttribute.faReadOnly in TFile.GetAttributes(ArchiveFilename, false) then begin
ShowMessage('Archiv "'+ExtractFilename(ArchiveFilename)+'"ist schreibgeschützt!');
Exit;
Forum: Win32/Win64 API (native code)
by Willie1,
3. Dez 2021
Hallo, jetzt zu meiner Frage.
Ich packe ca. 80 Dateien jede 2939 oder2777 Bytes groß in ein Zip-Archiv. Nicht um Platz zu sparen, sondern mit nur einer Datei umgehen zu können. Ich benutze TZipFile. Das auspacken klappt, mit dem Packen gibt es ein Problem. Mit TZipFile.Add lässt sich keine Datei im Archiv überschreiben. (Habe ich hier gelernt) Deshalb habe ich mir selbst was ausgedacht,...