![]() |
AW: Datei an Datei anhängen
Siehe Edit obendrüber: Es werden die einzelnen Längen in die Datei geschrieben und wieder ausgelesen.
Bernhard |
AW: Datei an Datei anhängen
Such in dem Quelltext mal nach lDataSize. Das ist die Variable welche die Länge der Daten enthält und in die Datei geschrieben wird und umgekehrt.
Das Prinzip beim Speichern ist folgendes: - Platz lassen für Größe der folgenden daten - Daten schreiben - Schauen wie groß die geschriebenen Daten waren - Größe der geschriebenen Daten am Anfang platzieren wo wir Platz dafür gelassen haben. |
AW: Datei an Datei anhängen
ah jetzt hab ich es Verstnanden! Werde es eben Ausprobieren
|
AW: Datei an Datei anhängen
Moin,
das Trennzeichen hat aber den Vorteil, dass die Länge nicht begrenzt ist. Außerdem braucht man mit 4 Byte am Anfang, wenn gar kein Text drin steht, sondern nur 1 oder 2 (je nach Kodierung). Und es gibt viele die nicht das Rad neu erfinden: jars, Open Document, ![]() MfG Fabian |
AW: Datei an Datei anhängen
Wenn man die Länge aber kennt, könnte man, wenn man die 2. Datei Einlesen will, direkt den Datensatzzeiger richtig positionieren.
|
AW: Datei an Datei anhängen
Also bitte: 4 GB Text und 4 GB als JPEG sind auch in fernerer Zukunft so schnell noch nicht erreicht. Selbst wenn: Dann ändert man Cardinal auf Int64 und hat die Probleme bis in alle Ewigkeit verschoben.
Bernhard |
AW: Datei an Datei anhängen
Zitat:
|
AW: Datei an Datei anhängen
Zitat:
Aber warum das nachträgliche schreiben der Textlänge? Die kann ich doch schon vorher ermitteln und gleich schreiben. |
AW: Datei an Datei anhängen
Das nachträgliche Schreiben weil ich es allgemein halten wollte. Beim JPEG weiß ich erst nach dem schreiben wie groß es ist. Natürlich könnte man es in einem Memorystream zwischen speichern aber das kann man sich eben sparen in dem man nachträglich die Länge schreibt.
Und beim ermitteln der Textlänge ist es ja eigentlich auch nicht anders. Wenn man da Length(Memo.lines.text) abruft wird auch erstnochmal der Text abgerufen nur um die Länge zu ermitteln. Und das spart man sich damit ebenfalls. |
AW: Datei an Datei anhängen
Wenn es wirklich nur eine Text und ein JPEG hat, braucht er die Größe des JPEGs nicht zum Auslesen. Einfach ans Ende des Textes springen, wir wissen ja wie lang er ist, und dann bis zum Dateiende lesen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:23 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