Lösung Ansatz für die Sammelung der Daten.
-
Hallo ,

ich möchte Daten aus Serielle Schnittstelle sammeln und nach 500 Daten Sätze will ich in eine Datei schreiben. Was für eine einfache und elegante Lösung gibt es?
Ich habe mir überlegt, in einer Struct zu schreiben. Später in eine Datei.
Ist eine Stuctarray dafür gut eignet?
Gibt es eine Möglichkeit eine Stuctarray dynamisch zu definieren?
Zß Statt myarray[500] einfach myarray[x].
Ich bedanke mich im Voraus.
Gruß
S.Mathi
-
Verwende statt arry einen vector. Dort kannst du einfach Elemente anhängen und brauchst nicht hin- und herkopieren, wie wenn du arrays verwendest und diese erweiterst. In den Header schreibst du dann #include <vector.h>. In der Hilfe findest du, wie du auf elemente zugreifst, anhängst, ect...
-
oder wenn du die vcl mitbenutzen willst, einfach eine TListBox nehmen..
speicher und ladefunktionen etc schon vorhanden.
-
helfer 23 schrieb:
In den Header schreibst du dann #include <vector.h>.
Nein schreibst du nicht. Es heißt
#include <vector> //ohne h lt Standard '98 using std::vector; //reich vollkommen, muss ja nicht der komplette Namensraum geöffnet werden
-
Ich werde erste mal mich mit Vector auseinander setzen. Falls ich noch Frage habe komme ich zurück.
Gruß
S.Mathi

-
PuppetMaster2k schrieb:
helfer 23 schrieb:
In den Header schreibst du dann #include <vector.h>.
Nein schreibst du nicht. Es heißt
#include <vector> //ohne h lt Standard '98 using std::vector; //reich vollkommen, muss ja nicht der komplette Namensraum geöffnet werdenAber nicht beim Borland Builder.
Dort nimmt man:#include <vector>
-
öhhm:
#include <vector.h>
-
Hallo,
Auch beim BCB verwendet man die Standardbibliotheken und die enden nunmal nicht auf .h und befinden sich im Namespace std. Da hat PuppetMaster2k absulut recht. Die Tatsache, dass die alten Bibliotheken ebenfalls mit dabei sind (aus Kompatibilitätsgründen) bedeutet nicht, dass man sie auch verwenden soll.
-
#include <vector.h>ist das genau das gleiche.
-
Nicht unbedingt.
Die Klasse vector aus <vector> ist im Namspace std, die aus <vector.h> normalerweise nicht. Im BCB5 ist das über das Define _RWSTD_NO_NAMESPACE in der vector.h geregelt.
Dies ist bei anderen Compilern aber anders.
Hier unterscheiden sich BCB5 und BCB6 aber auch voneinamder. Beim BCB5 steht die komplette Implementation von vector in vector.h beim BCB6 lediglich ein Verweis auf <oldstl\vector.h> oder <stlport\vector> je nachdem wie das define _USE_OLD_RW_STL gesetzt ist.