Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi serielle Daten wohin speichern? (https://www.delphipraxis.net/33392-serielle-daten-wohin-speichern.html)

moelski 6. Nov 2004 10:13


serielle Daten wohin speichern?
 
Moins!

Bastele da gerade an einer Software für den Modellbau. Und zwar werden serielle Daten von einem Gerät X im Sekundentakt zum Rechner geschickt. Die große Frage ist nun, was tun mit diesen Daten?

Mir fallen da nun ein paar Szenarien ein, aber ich kann nicht abschätzen, was sinnvoll und was Nonsense ist. Also wäre um ein paar Tips dankbar :thumb:

Ok, das fällt mir zu dem Thema ein:
1) dyn. Array
So löse ich das im Moment. Aber das scheint mir nicht so sinnvoll, denn wenn man Langzeotmessungen macht, dann könnte es schnell zu Problemen kommen mit dem Speicher.
2) in Datei speichern
Das würde bedeuten, das die Platte fast permanent am rödeln wäre. Auch nicht so die feine Art. Aber man hätte weniger Stress mit Speicherkapazität. Allerdings wäre die Geschwindigkeit deutlich langsamer.
3) Datenbank
Hmm, kann ich gonix zu sagen. Habe ich noch nie gemacht.

Und um mal ein Beispiel zu nennen, was da für Daten kömmen können, hier mal eine Beispielrechnung:
60Bytes / Sekunde
Macht 3600 Bytes pro Minute
Macht 216000 Bytes pro Stunde
Macht 5184000 Bytes pro Tag (~5,2MB)
Nun könnte es auch vorkommen, das die Frequenz geändert wird. Dann könnte es auch das 10fache sein, also ca. 52MB.
Oder wenn man extrem lange loggen würde (was selten vorkommt), auch mehr. Aber ich sage mal so bis 100MB wäre unter gewissen Umständen realistisch.

Danke schonmal für alle Tips!

PS: Wie kann man eigentlich die Speicherbelegung eines dyn. Arrays ermitteln?

Sharky 6. Nov 2004 10:34

Re: serielle Daten wohin speichern?
 
Hai moelski,

schaue Dir doch mal Delphi-Referenz durchsuchenTMemoryStreams an. Damit solltest Du das recht elegant lösen können.

moelski 6. Nov 2004 11:07

Re: serielle Daten wohin speichern?
 
Moin !

Zitat:

schaue Dir doch mal TMemoryStreams an
Sehr schön! Danke für die Info. Das liest sich sehr gut in meinem Buch.
Vor allem kann man den Stream mit einer Zeile Quellcode in eine Datei sichern.
Das ist sehr gut! Ich hoffe das laden geht genauso :?:

Eine Frage aber noch. Wie weit kann man denn einen TMemoryStream aufblähen? Sprich wieviele Daten verkraftet der?

Sharky 6. Nov 2004 11:18

Re: serielle Daten wohin speichern?
 
Zitat:

Zitat von moelski
...Wie weit kann man denn einen TMemoryStream aufblähen? Sprich wieviele Daten verkraftet der?

Hmmm... gute Frage. Die Eigenschaft Size ist vom Typ INT64 also 2^64 - 1 Byte. Wenn dein Betriebsystem das schaft ;-)

Muetze1 6. Nov 2004 11:35

Re: serielle Daten wohin speichern?
 
Moin!

Bis Delphi 5 ist Size, Position etc bei einem TStream Descandent noch Integer und noch nicht Int64...

MfG
Muetze1


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:45 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