AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TZipFile und Add

Ein Thema von Willie1 · begonnen am 30. Jan 2021 · letzter Beitrag vom 1. Feb 2021
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.316 Beiträge
 
Delphi 12 Athens
 
#1

AW: TZipFile und Add

  Alt 31. Jan 2021, 17:57
Mit der Hauseigenen Klasse, mußt du die alte Zip lesend öffnen
und zugleich eine neue ZIP erstellen.

Die unveränderten Dateien kopierst dann von der Einen in die Andere (kannst ja via MemoryStream innerhalb des Programms machen)
und dann fügst deine neuen Dateien ein.
Zuzüglich nachher/vorher noch die ZIP löschen/umbenennen, damit die neue ZIP den alten Namen bekommen kann.



Alternativ hängst eben immer nur deine neuen Dateien an und bekommst dann das mit dem "soll überschrieben werden?" beim Entpacken.
Im Prinzip hast so ja auch gleich ein Multibackup in einer Datei. (im Prinzip kann man sich da ja auch die alten Dateien noch rausholen)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
691 Beiträge
 
Delphi 10.1 Berlin Starter
 
#2

AW: TZipFile und Add

  Alt 31. Jan 2021, 18:18
Zitat:
(kannst ja via MemoryStream innerhalb des Programms machen)
und dann fügst deine neuen Dateien ein.
Ich brauche nicht den Umweg über Temp zu gehen?
Zitat:
Alternativ hängst eben immer nur deine neuen Dateien an und bekommst dann das mit dem "soll überschrieben werden?" beim Entpacken.
Im Prinzip hast so ja auch gleich ein Multibackup in einer Datei. (im Prinzip kann man sich da ja auch die alten Dateien noch rausholen)
Wenn ich auf [Alle Überschreiben] klicke, bleibt dann immer die neuste Version beim Entpacken erhalten? Eine neue Datei wird immer angehängt und die Reihenfolge immer gleich!?
Jede Datei in meinem Archiv ist 2932 Bytes groß.
Gut hören kann ich schlecht, schlecht sehen kann ich gut - Ersteres stimmt nicht, das zweite schon.

Geändert von Willie1 (31. Jan 2021 um 18:20 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.316 Beiträge
 
Delphi 12 Athens
 
#3

AW: TZipFile und Add

  Alt 31. Jan 2021, 18:31
Schau einfach mal die Extract/Add-Methoden an.
* entweder man nimmt einen Dateinamen oder einen TFileStream
* oder man nehme eben einen TMemoryStream beim oldZip.Extract und gibt dann das direkt ins newZip.Add rein. (beim Kopieren ... geht mit dem Stream auch direkt von wo Anders im Programm)




Erstmal kommt es drauf an, wie das Entpackprgramm arbeitet.

Nutzt es den CentralHeader (Verzeichnis) am ZIP-Ende, dann wird dessen Reihenfolge genutzt (machen die meisten Programme)
oder geht es einfach von vorne durch und nutzt die LocalHeader (es gibt ZIP-Programme, die den Stream/Datei mit minimalstem Speicher und schneller ohne hin-und-her-Positionieren durchgehen)
z.B. beim Verarbeiten von ZIP über StdIn bzw. StdOut einer Consolenanwendung, da kann man nicht einfach wieder zurück und muß sequentiell arbeiten.

Die LocalHeader und die Dateidaten werden nicht umsortiert
und so weit ich das grad sehen konnte, wird auch der CentralHeader im TZipFile nicht sortiert. (der wird komplett neu geschrieben, da die neue Datei dort ans Ende aller Dateien eingefügt angehängt wird, vor den CentralHeader, welcher praktisch immer ganz am Ende liegt)

Also ja
* ohne Überschreiben bekommst das Älteste (was zuerst gespeichert wird / alles andere wird Ignoriert)
* und mit Überschreiben das Neuste (was zuletzt gespeichert wurde)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (31. Jan 2021 um 19:59 Uhr)
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
691 Beiträge
 
Delphi 10.1 Berlin Starter
 
#4

AW: TZipFile und Add

  Alt 31. Jan 2021, 19:31
Ok, das sind gute Tipps.
wenn ich einfach nur anhänge, wird die Zip-Datei jedes Mal ca.. 3 KB größer. Ich denke, dass ist zu verkraften. Beim nächsten Auspacken, kommt sie wieder auf das normale Maß.

Für das Bessere brauche ich Zeit. Ich bin langsam aber ich krieg das hin.
Willie.
Gut hören kann ich schlecht, schlecht sehen kann ich gut - Ersteres stimmt nicht, das zweite schon.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.023 Beiträge
 
Delphi 12 Athens
 
#5

AW: TZipFile und Add

  Alt 31. Jan 2021, 22:55
Bist du wirklich auf Berlin Starter?
Falls ja evtl. überlegen auf 10.3 Community Edition zu wechseln?
Nur Mal so, weil hier kürzlich schon Mal wer nix von CE wusste...
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
691 Beiträge
 
Delphi 10.1 Berlin Starter
 
#6

AW: TZipFile und Add

  Alt 1. Feb 2021, 11:14
Ja, würde gerne auf die CE umsteigen. Wg. Augen bin ich froh, wenn alles läuft. Ist die Installation einfach? Kann ich die beiden (SE und CE) neben einander laufen lassen. W.
Gut hören kann ich schlecht, schlecht sehen kann ich gut - Ersteres stimmt nicht, das zweite schon.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.316 Beiträge
 
Delphi 12 Athens
 
#7

AW: TZipFile und Add

  Alt 1. Feb 2021, 11:32
Jede Delphi-Version ist ein eigenständiges Programm und kann parallel genutzt werden.
(Editionen nicht, also z.B. Starter und Professional der selben Version)

SE = 10.1 und 10.2
CE, also die neue SE/Turbo/Personal/Free = 10.3 und bald vielleicht auch 10.4

Drum heißt die URL auch immernoch https://www.embarcadero.com/products/delphi/starter



Die .4 kommt bestimmt noch ... irgendwann ...
https://web.archive.org/web/20180709...-geheime-zwei/
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 1. Feb 2021 um 11:36 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:20 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 by Thomas Breitkreuz