VisualBasic Problem mit Array

1337

Lt. Junior Grade
Registriert
Aug. 2010
Beiträge
324
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:
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:
Klar,

nimm redim preserve.
ein einfaches redim initialisiert das Array neu.

Suche aber bitte mal nach einer weniger resourcenfressenden Lösung.
 
ein ansatz wäre, dass du von vornherein nen array mit z.b. 10 feldern initialisierst und wenn du an die grneze stößt, verdoppelst du die felderanzahl...oder du schaust dir mal Listen an und arbeitest mit denen.
 
Zurück
Oben