Mit Schleife auf Arrays verweisen

Zuviel Werbung?
-> Hier kostenlos registrieren
Code:
GVL.aMesswerte[1].rMesswert:=GVL.rDruck1;

So wie ich das sehe, ist das Array nicht Teil eines Struct, aber ein Bestandteil eines Struct, bekommt Daten aus dem Array
Das, was du da jetzt postest, ist etwas komplett anderes wie oben dargestellt.
Hier hast du ja in der Struktur GVL noch ein Array of Struct ... das funktioniert dann natürlich nicht.
Arrays kannst du einander nur dann zuweisen wenn sie komplett identisch sind ...
 
Der Nachteil ist halt (so es denn ein Nachteil ist), dass dein höchster Index immer um 1 kleiner ist als die Elemente im Array.

In der .Net-Welt sind Arrays generell 0-basiert, allerdings ist der höchste Index immer der Deklarationswert. Bei einer List hingegen steht das erste Element immer auf dem Index 0 und da ist es dann so, dass der letzte Index immer um 1 kleiner ist als die Anzahl der Elemente in der List ...
Genau aus dem Grund hatte ich bei 1 begonnen. Es waren 100 Werte und auf 99 zu enden war etwas unbefriedigend, aber ich denke daran sollte ich mich gewöhnen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das, was du da jetzt postest, ist etwas komplett anderes wie oben dargestellt.
Hier hast du ja in der Struktur GVL noch ein Array of Struct ... das funktioniert dann natürlich nicht.
Arrays kannst du einander nur dann zuweisen wenn sie komplett identisch sind ...

Wenn aber rMesswert vom gleichen Typ ist wie rDruck1 sollte auch das funktionieren. Es kommt ja nur auf die Variable (das Array/Struct) an sich an, nicht wie tief die irgendwo drin verschachtelt ist.
 
Wenn aber rMesswert vom gleichen Typ ist wie rDruck1 sollte auch das funktionieren. Es kommt ja nur auf die Variable (das Array/Struct) an sich an, nicht wie tief die irgendwo drin verschachtelt ist.
Dann müssen nach meinem Verständnis auch wieder beide Arrays of Struct identisch sein - nicht eines ein Array und eines ein Array of Struct ...

Wir sprechen ja immer noch vom direkten Zuweisen Array in Array ? nicht (mehr) von Schleife ...
 
Das, was du da jetzt postest, ist etwas komplett anderes wie oben dargestellt.
Hier hast du ja in der Struktur GVL noch ein Array of Struct ... das funktioniert dann natürlich nicht.
Arrays kannst du einander nur dann zuweisen wenn sie komplett identisch sind ...
Das ist auch total aus dem Kontext gerissen, ich weiß nicht ob das etwas ausmacht. Ich habe einfach in meinem Struct auf rMesswert geklickt und alle Verweise suchen geklickt. Das war die einzige Verbindung, die ich zwischen einem Struct und dem Array gesehen habe.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist auch total aus dem Kontext gerissen, ich weiß nicht ob das etwas ausmacht. Ich habe einfach in meinem Struct auf rMesswert geklickt und alle Verweise suchen geklickt. Das war die einzige Verbindung, die ich zwischen einem Struct und dem Array gesehen habe.
Kannst du mal bitte die Deklarationen als Screenshot posten? Sowohl von den Arrays, als auch von den Structs und dort wo du sie aufrufst.. ich blicke langsam bei den Code Schnipseln nicht durch
 
Das passt ja gar nicht zu deinem intialen Code den du gepostet hattest..

Du müsstest in rDruck auch die Werte als Array anlegen.
Ihr seid euch ja einig, dass das iwie nicht stimmt. Ich verstehe nicht so ganz weshalb. rDruck1 ist immer der aktuelle Wert, der aufgenommen wird. rDruck1Array sind dann diese ganzen Werte in einem Array gespeichert.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
wenn
Code:
STRUCT GVL
    aMesswerte     : Array[0..x] OF Messwertarray;
    rDruck         : Array[0..y] OF REAL;
END_STRUCT

STRUCT Messwertarray
    rMesswert : ARRY[0..y] OF REAL;
    ...
END_STRUCT

dann sollte
GVL.aMesswerte[1].rMesswert:=GVL.rDruck1;
funktionieren.
 
Zurück
Oben