Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Probleme beim Umstellen von Array zu Stringlist (https://www.delphipraxis.net/140231-probleme-beim-umstellen-von-array-zu-stringlist.html)

Medium 14. Sep 2009 13:23

Re: Probleme beim Umstellen von Array zu Stringlist
 
Zitat:

Zitat von BAMatze
Denke aber mal Binärdatei wird sicherlich heißen Zahl in Dualcode (Basis 2) speichern.

Physikalisch ist alles als 0 und 1 gespeichert, auch ein Textfile. Bei einem binären File macht man garnicht so viel anders, ausser dass man eben nicht in Text bzw. Strings umwandelt. Du schreibst einfach einen Wert so wie er im Speicher ist auf die Platte. Dass da Nullen und Einsen im Spiel sind bekommst du überhaupt nicht mit.

Zitat:

Könnte man das in dem Fall auch in einen Stream packen?
Zunächst wegen der Löschung: Du kannst doch eine Datei auch einfach löschen wenn sie nicht mehr benötigt wird.

Stream ist ein Oberbegriff. Zu unterscheiden sind in diesem Fall hier wohl Filestream und Memorystream. Ersteres entspräche meinem Vorschlag, letzteres deiner Nachfrage. Das schöne hier ist, dass sich das Schreiben und Lesen bei den beiden kaum unterscheidet, d.h. du musst im Idealfall einfach nur den Typ deines Streams ändern und kannst zwischen Puffern auf Platte und Puffern im RAM wechseln, ohne sonstige größere Umbauten.
Ob du mit einem Memorystream auskommst ist eine Frage der Datenmenge die du vorhalten willst, und des verfügbaren RAMs natürlich. Wenn du Double-Werte nimmst, brauchst du pro Wert 8 Byte. Du sagst du hast alle 50ms einen Wert. Wenn die Messung nun also 10 Sekunden dauert, sind das (1000/50)*10 = 200 Werte á 8 Byte ~= 1,56kB. Das ist ein Fliegenschiss :) Ab in einen Memorystream damit. Dauert eine Messung 1h sind es auch nur 562,5kB. Letztlich scheint mir ein Memorystream hier wohl auch deutlich geeigneter, da die Datenmenge irgendwie weit geringer ausfällt als ich so im ersten Moment gedacht hatte.
Vorteil bei der Umsetzung als Memorystream: Du kannst auf Wunsch dann sogar sehr einfach das Speichern einer Messreihe als Datei anbieten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr.
Seite 2 von 2     12   

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