Zitat von
Joachim Rohde:
Es werden im Maximalfall wohl nur 500 Datensätze gespeichert. Und ich müsste mit einem zweiten, externen Tool auf die Daten zugreifen können, aber das sollte ja nicht das Problem sein.
Wenn ich dich richtig verstehe, wirds ja ne Einzelplatzanwendung. Dann wäre ein Blick auf die TDataSet-Kompnente gar nicht mal so abwegig.
Der große Vorteil, den ich für dich sehe, ist dass du die einzelnen Tabellen direkt als
XML-Dateien nutzen kannst.
Damit sollte man kein Problem haben, dass andere Progs drauf zu greifen können. und ein Konvertieren von
XML nach
CSV ist auch kaum Code.
Und auch wenn die Daten im Speicher gehalten werden, ist die Speicherauslatung durchaus erträglich. Ich habe hier ein Prog in dem ich momentan 152 Datensätze mit folgender Struktur habe:
Code:
<FIELDS>
<FIELD attrname="LfdNr" fieldtype="i4" SUBTYPE="Autoinc" />
<FIELD attrname="KartenNr" fieldtype="string" WIDTH="255" />
<FIELD attrname="Kennzeichen" fieldtype="string" WIDTH="55" />
<FIELD attrname="Datum" fieldtype="date" />
<FIELD attrname="Uhrzeit" fieldtype="time" />
<FIELD attrname="Sorte" fieldtype="string" WIDTH="5" />
<FIELD attrname="KM" fieldtype="i4" />
<FIELD attrname="Menge" fieldtype="r8" />
<FIELD attrname="Betrag" fieldtype="r8" SUBTYPE="Money" />
<FIELD attrname="OK" fieldtype="boolean" />
</FIELDS>
Das macht folgende Speichernutzung, wenn man es mit einfachen Variablen nutzen würde:
- LfdNr 4 Byte
- KartenNr 255 Byte
- Kennzeichen 55 Byte
- Datum 8Byte
- Uhrzeit 8Byte
- Sorte 5Byte
- KM 4Byte
- Menge 8Byte
- Betrag 8Byte
- OK 1Byte
Das macht zusammen 356Byte*152 DatenSätze = 54.112 Byte ≈ 0,05MB.
Mein Programm belegt außerhalb der
IDE ≈ 6,5MB. Ein leeres D7-Projekt liegt allein schon bei ≈ 2MB, Dazu kommen dann Kompos, etc.
QED: Ein TClientDataSet sollte auch mit älteren Rechnern nicht allzuviele Probleme machen. Zusätzlich ist es ziemlich fix, da es die Daten im Speicher hält und dadurch kaum Plattenzugriffe hat.
So, und der lange Text, war die Rache für deinen langen Text