TFileStringList
Mahlzeit,
ich hätte hier eine Art StringList, welche mit irgendeiner Textdatei verbunden sein kann und, ohne den Textinhalt komplett in den RAM zu laden, diesen zum Zugriff bereitstellt. Diese StringListe, bzw. die Datei läßt natürlich sich auch bearbeiten. (Create und/oder LoadFromFile erstellt quasi nur einen Zeilenindex) Num müßte ich dieses "Monstrum" eh mal etwas überarbeiten und wollte da gerne mal etwas rumfragen. Aktuell kann diese Stringliste theoretisch bis zu 89.478.483 Zeilen (also 2 GB Index) mit maximal 2 GB pro Zeile verwalten. Ich denke mal die Zeilenlänge dürfte ausreichend sein, aber ich überlege grade, ob ich den Index in eine temporäre MMF auslagern soll, womit diese 90-tausender Zeilengrenze auch gleich mit wegfallen würde und nebenbei würde der RAM noch etwas geschont. Würde jemand sowas gebrauchen können oder kann ich mir eine Änderung diesbezüglich sparen? PS: Die Klasse wäre ab Delphi 2009 und würde auch alle möglichen Stringkodierungen in der Datei erlauben. Änderungen (Zeilen hinzugefügen oder geändern) könnte man, solange der Speicher ausreicht, auch im RAM belassen und so eine Datei dennoch als ReadOnly öffnen oder einen Großteil der nötige Zeit, zum Ändern/Speichern der Datei, einsparen. |
Re: TFileStringList
Klingt gar nicht schlecht. Kann ich für einige Dinge gebrauchen. Kann man die aktuelle Version bereits herunterladen?
|
Re: TFileStringList
Liste der Anhänge anzeigen (Anzahl: 2)
So, hat ein bissl länger gedauert, als geplant.
Hab noch nich alles getestet, aber es scheint zu laufen. (grade eben einen hartnäckigen/fießen Fehler ausgemärzt, welcher alles aufhielt ... schon blöd, wenn man beim Löschen eines Puffers vergißt das Offset entsprechend zu verschieben :wall: ) Aber es wird noch Einiges geändert werden: (weshalb ich einige Testes erstmal verschoben hab)
Gut, nun schonmal was zur Klasse:
( PS: nicht über die auskommentierten Zeilen im Klassen-Header wundern ... es ist nur alles Mögliche ein bissl sortiert aufgelistet, welches quasi unterstützt wird, was aber nicht unbedingt direkt in der Klasse implementiert ist. ) [edit] Die Version mit der Ableitung von TStringList scheint so weit ok zu sein ... hoff ich mal, da so einiges umgeleitet/verschoben werden mußte. |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Klatsch und Tratsch" nach "Open-Source" verschoben.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz