Hallo,
wie im Titel erkennbar machen mir zwei Arrays Probleme. Das Programm liest über einen Steuerprozessor ein Spannungssignal ein. Das ganze so oft wie möglich. Das funktioniert einwandfrei. Diese Werte möchte ich in einem Array speichern. Datentyp Single da 12-bit A/D-Wandler - aber das nur nebenbei.
Also global deklariertes Array:
Dazu eine Zählvariable, die mir die Indizes hochzählt und die Länge des Array jedes Mal neu definiert (absichtlich mit 1 initialisiert, sonst wird der erste Wert nicht gespeichert, da beim ersten Durchlauf die Länge von data 0 ist):
Vor jeder Messschleife:
Dann der Aufruf nach dem Auslesen der Daten, der Wert wurde in der Variable EngUnits gespeichert (Single):
Dann die Zählvariable um eins erhöhen, denke das brauch ich nicht schreiben.
Problem:
In der Auswertung danach stellt sich heraus, dass nur ein Wert gespeichert wurde, 0 auf Index 0. Ein Test mit dem eigenen Array-Datentyp von ZedGraphControl ZedGraph.PointPairList zeigt, dass es funktioniert, damit werden alle Punkte gespeichert.
Vielen Dank schonmal für die Hilfe!
Ich bin echt doof!
Ohne Redim Preserve wird das nichts *hust*!
Trotzdem danke an alle, die das gelesen haben! Darf gelöscht werden!
wie im Titel erkennbar machen mir zwei Arrays Probleme. Das Programm liest über einen Steuerprozessor ein Spannungssignal ein. Das ganze so oft wie möglich. Das funktioniert einwandfrei. Diese Werte möchte ich in einem Array speichern. Datentyp Single da 12-bit A/D-Wandler - aber das nur nebenbei.
Also global deklariertes Array:
Code:
Dim data() As Single
Dazu eine Zählvariable, die mir die Indizes hochzählt und die Länge des Array jedes Mal neu definiert (absichtlich mit 1 initialisiert, sonst wird der erste Wert nicht gespeichert, da beim ersten Durchlauf die Länge von data 0 ist):
Code:
Dim arrayCounter As Integer = 1
Vor jeder Messschleife:
Code:
ReDim data(arrayCounter)
Dann der Aufruf nach dem Auslesen der Daten, der Wert wurde in der Variable EngUnits gespeichert (Single):
Code:
data(arrayCounter) = EngUnits
Dann die Zählvariable um eins erhöhen, denke das brauch ich nicht schreiben.
Problem:
In der Auswertung danach stellt sich heraus, dass nur ein Wert gespeichert wurde, 0 auf Index 0. Ein Test mit dem eigenen Array-Datentyp von ZedGraphControl ZedGraph.PointPairList zeigt, dass es funktioniert, damit werden alle Punkte gespeichert.
Vielen Dank schonmal für die Hilfe!
Ergänzung ()
Ich bin echt doof!
Ohne Redim Preserve wird das nichts *hust*!
Trotzdem danke an alle, die das gelesen haben! Darf gelöscht werden!
Zuletzt bearbeitet: