Die Klassen CEinzelmessung, CMessreihe und CSysteverhalten
Inhalt
- Einleitung
- Die Klasse CEinzelmessung
- Die Klasse CMessreihe
- Die Klasse CSystemverhalten
Einleitung
Die Klassen CEinzelmessung, CMessreihe und CSystemverhalten bilden die Grundlage zur Ausgabe der bei
der Diagnose ermittelten Werte.
Die Klasse CEinzelmessung beinhaltet hierbei einen einzelnen Messwert sowie den zugehörigen Zeitpunkt.
Eine Messreihe ist eine einfach verkettete Liste von Einzelmessungen, ein Systemverhalten ist ein Feld
von mehreren Messreihen. Für jeden auszugebenden Wert wird hierbei eine Messreihe im Systemverhalten
angelegt.
Variablen (private):
- double Messwert
Gibt den Messwert an.
- double Zeitpunkt
Gibt den Zeitpunkt an, zu dem der Messwert aufgetreten ist.
Methoden:
- CEinzelmessung()
Standard-Konstruktor. Initialisert Messwert und Zeitpunkt mit 0.
- CEinzelmessung(double NewZeitpunkt, double NewMesswert)
Copy-Konstruktor.
- CEinzelmessung& operator= (const CEinzelmessung& NewEinzelmessung)
Zuweisungsoperator.
- void WriteContents (ofstream& OutputFile, int WriteTime)
Schreibt den Inhalt des Objekts auf den angegebenen Stream. Ist WriteTime 1, dann wird der Zeitpunkt
vor dem Messwert mit ausgegeben, ist WriteTime 0, dann wird der Zeitpunkt nicht mit ausgegeben.
Nach jedem ausgegeben Wert wird ein Tabulator-Zeichen geschrieben.
Strukturen und Typen:
Variablen (private):
- MESSREIHE *pFirst
Zeigt auf das erste Element der Liste.
- MESSREIHE *pLast
Zeigt auf das letzte Element der Liste.
- MESSREIHE *pMessreihe
pMessreihe ist ein variabler Zeiger auf ein beliebiges Listenelement. Dieser Zeiger wird von
einigen Listenfunktionen benutzt und sollte auf keinen Fall irgendwie von außen manipuliert werden.
- int Size
Gibt die Größe, d.h. die Anzahl der gespeicherten Elemente, der Liste an.
Abbildung einer Messreihe:
Methoden:
Variablen (private):
- int Size
Gibt die Größe des Feldes aMessreihe, d.h. die Anzahl der Messreihen des Systems an.
- int NrOfSteps
Gibt die Anzahl der Einzelmessungen an, die maximal pro Messreihe gleichzeitig im Speicher gehalten werden sollen.
Überschreitet die tatsächlich vorhandene Anzahl von Messwerten pro Messreihe diesen Wertm so wird
der Inhalt der Messreihe in die Datei, die durch OutputFile definiert ist, geschrieben.
- int ActiveStep
Gibt die Anzahl der Einzelmessungen an, die in den Messreihen zu finden sind und nioch nicht in die
Datei geschrieben wurden.
Datei
- ofstream OutputFile
Gibt die Datei an, die die Messreihen erhalten soll.
- CString OutputFileName
Gibt den Dateinamen der Ausgabedatei an.
Variablen (public):
- CMessreihe *aMessreihe
Ist das Felde der Größe size vomn Messreihen, in die die Messwerte eingetragen werden.
Methoden:
- CSystemverhalten()
Standardkonstruktor. Erzeugt ein leeres Feld.
- CSystemverhalten(int NewSize)
Konstruktor. Erzeugt ein Feld mit NewSize Messreihen.
- ~CSystemverhalten()
Destruktor. Löscht alle Messreihen und das Feld der Messreihen.
- void SetValue(int Index, const CEinzelmessung& NewEinzelmessung)
Fügt der Messreihe Index einen neuen Messwert NewEinzelmessung hinzu.
- void Allocate(int NewSize)
Löscht die vorhandenen Messreihen und legt das Feld der Messreihen mit der Größe NewSize neu an.
- void DeleteAll()
Löscht alle Messreihen und das Feld der Messreihen und aktualisert alle nötigen Variablen wie
Zeiger, Größe etc.
- void WriteContents(int DoDelete = 1)
Schreibt den Inhalt aller Messreihen in die Datei. Ist DoDelete 1, dann wird nach schreiben
der Messwerte der Inhalt der Messreihen gelöscht. Das Feld der Messreihen bleibt erhalten.
Die Ausgabe der Messwerte erfolgt in Tabellenform:
Jeweils eine Zeile der Datei enthält in der ersten Spalte den Zeitpunkt, in den folgenden size
Spalten stehen die Einzelmesswerte der Messreihen.
- void OpenFile(CString& FileName)
Öffnet die durch FileName angegebene Datei zum Schreiben und löscht ggf. den Inhalt dieser Datei.
- void CloseFile()
Schließt die Datei.