AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi in stream nach Datum sortiert schreiben
Thema durchsuchen
Ansicht
Themen-Optionen

in stream nach Datum sortiert schreiben

Ein Thema von bodenheim · begonnen am 12. Dez 2008 · letzter Beitrag vom 17. Dez 2008
Antwort Antwort
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#1

Re: in stream nach Datum sortiert schreiben

  Alt 17. Dez 2008, 11:36
Hallo bodenheim,

warum verwaltest du nicht einen zusätzlichen Index ("Inhaltsverzeichnis"), der neben dem Datum auch die Position der eigentlichen Nutzdaten im Stream enthält? Dieser Index könnte in einer weiteren Datei oder am Ende des bestehenden Streams liegen. Beim Hinzufügen eines neuen Datensatzes gehst du dann wie folgt vor:

1. Index einlesen (z.B. in eine TStringList)
2. Neuen Datensatz hinter die bisherigen Nutzdaten schreiben
3. Verwaltungsdaten für den neuen Datensatz in den Index einfügen (Datum und Position im Stream)
4. Index hinter den neuen Datensatz schreiben

Bei dieser "chaotischen" Verwaltung stehen die eigentlichen Nutzdaten zwar unsortiert im Stream, du kannst aber über den Index jederzeit eine beliebige Sortierung herstellen. Auf diese Weise musst du nur eine relativ kleine Datenmenge beim Erweitern der Datei lesen und schreiben. Auch beim eventuellen Löschen von Datensätzen bietet diese Vorgehnsweise einen Vorteil, da die zu löschenden Datensätze nur im Index als "gelöscht" markiert werden müssen. Bei einem späteren Bereinigungslauf kann dann der komplette Stream (ohne die gelöschten Datensätze) neu geschrieben werden.

Du kannst natürlich auch gleich auf eine "richtige" Datenbank (SQLite?) ausweichen...

Gruß Hawkeye
  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 06:58 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