INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Ereignistruktur - 1D-Array mit Cluster (4-Elemente)



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

21.07.2008, 11:16
Beitrag #1

LLEA2 Offline
LVF-Grünschnabel
*


Beiträge: 37
Registriert seit: Jan 2008

8.5
2008
kA

10777
Deutschland
Ereignistruktur - 1D-Array mit Cluster (4-Elemente)
Hallo zusammen,

ich habe ein 1D-Array, das aus einem Cluster mit 4 Elementen besteht. Ich weiß nicht, ob es überhaupt möglich ist, aber ich möchte eine Ereignisstruktur verwenden, die nur auf die Wertänderung eines Elements des Cluster-Arrays reagiert und nicht auf eine Wertänderung der anderen drei Elemente ( z.B des 3. und 4.-Elements, welche Anzeigen darstelen). Ist das so möglich, ohne das Array komplett umzubauen oder mit Hilfe von For-Schleifen usw. zu zerstückeln.

Ziel dieser Ereignisstruktur sollte es dann sein, aufgrund einer Änderung des ersten Elements; das zweite, ein Ring, anzupassen. Das geht auch bestimmt alles anders (Umbau des Cluster-Arrays oder ein einfaches Bedienelement, wo der Benutzer eine Eingabe von Hand machen muss usw.) , würde mich halt nur interessieren, ob ich mit Hilfe der Ereignisstruktur auch eine "ebene Tiefe" arbeiten kann.

mfg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.07.2008, 11:34
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Ereignistruktur - 1D-Array mit Cluster (4-Elemente)
Ganz grundsätzliche Antwort aus meiner Sicht: NEIN, geht nicht.

Ich kann mir momentan auch nicht vorstellen, wie das vielleicht mal in Zukunft gehen soll?! Array ist ja grundsätzlich immer dynamisch in der Größe, also wie soll dann die Event-Structure da auf die Änderung nur eines Array-Elements reagieren? Und was du willst, ist ja noch aufwändiger, da du auf die Elemente des Clusters innerhalb des Arrays zurückgreifen willst...

Ich sehe da nur eine Chance: Value-Change Event des gesamten Array abfangen, und durch Vergleich des Old- mit dem New-Value kannst du dann herausfinden, welches Array-Element sich geändert hat und dann entsprechend mit der Weiterverarbeitung weitermachen.

MfG, Jens

P.S.: Nur der Vollständigkeit halber, bei einem Cluster als oberstes Element kannst du einen Value-Change Event der Cluster-Elemente als Einzel-Event abfangen.

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.07.2008, 12:03
Beitrag #3

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.696
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Ereignistruktur - 1D-Array mit Cluster (4-Elemente)
Ich würde ja ganz grundsätzlich sagen: Das geht.

' schrieb:aber ich möchte eine Ereignisstruktur verwenden, die nur auf die Wertänderung eines Elements des Cluster-Arrays reagiert und nicht auf eine Wertänderung der anderen drei Elemente ( z.B des 3. und 4.-Elements, welche Anzeigen darstelen).
Das geht auf jeden Fall.
Ein Event tritt nur dann ein, wenn der Benutzer eine Eingabe macht oder wenn das Property Wert(signalisierend) beschrieben wird. Willst du also haben, dass 3 der 4 Elemente kein Event auslösen, so setzt du die im Cluser einfach auf deaktiviert. (Der Cluster selbst muss ein Eingabeelement sein, wie auch das Array. Demzufolge sind alle Elemente des Clusters Eingabeelemente. Vor Eingabe kann man sie schützen, in dem man sie eben auf deaktiviert setzt). Wenn du dann nicht das Property Wert(signalisierend) verwendest, kommt auch kein Event.

Ob der Event in der Eventstruktur als Event vom Element oder vom Cluser oder vom Array kommt, ist an sich egal. Je nachdem woher er kommt muss dann halt das Array entsprechend bearbeitet werden. Möglicherweise ist im Event z.B. der aktuelle Index verfügbar.

Man kann ohne weiteres bei jedem Event das komplette Array "durchmachen". Der Zeitaufwand hierfür ist minimal.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.07.2008, 12:15
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Ereignistruktur - 1D-Array mit Cluster (4-Elemente)
' schrieb:Ganz grundsätzliche Antwort aus meiner Sicht: NEIN, geht nicht.

' schrieb:Ich würde ja ganz grundsätzlich sagen: Das geht.
@IchSelbst:
Klasse Tongue, du sagst, es geht, ich sag, es geht nicht. Tongue

Aber prinzipiell sind wir uns doch (hoffentlich) einig: So wie die Frage gestellt ist (Kann die Event-Struktur direkt auf die Wertänderung eines Cluster-Elements innerhalb eines Array programmiert werden), geht es nicht. Ich habe auch versucht, zu tricksen (dynamische Event etc.), aber da man keine RefNum auf einzelne Array-Elemente erstellen kann, geht das ja auch nicht.

Der weitere Lösungsweg ist ja dann identisch (i.e. Durcharbeiten des Array nach Value Change Event).

MfG, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.07.2008, 13:18
Beitrag #5

LLEA2 Offline
LVF-Grünschnabel
*


Beiträge: 37
Registriert seit: Jan 2008

8.5
2008
kA

10777
Deutschland
Ereignistruktur - 1D-Array mit Cluster (4-Elemente)
...vielen Dank für die schnellen Antworten. Damit ich das richtig verstehe..^^: Ich deaktiviere im Cluster Element 3 und 4, fange dann ein Value-Change-Event des gesamten Arrays ab, ....um anschließend, das Array in seinem jetztigen Zustand mit dem vorherigen Zustand zu vergleichen und so die Änderung ausfindig zu machen ?...

Dazu hätte ich ja gleich mal zwei Fragen:

1) Könnte ich nicht das zweite Elemente (Ring-Element), nicht auch deaktivieren oder kann ich es dann nicht mehr bearbeiten, also die Beschriftungen der einzelnen Objekte anpassen? Das auslösende Ereignis soll ja nur vom ersten Element kommen.

2)Die Suche nach dem veränderten Wert muss ich mir dann mit Hilfe von einer For-Schleife, einem Schieberegister und einem simplen Vergleich auf Gleichheit zusammen basteln???

Falls, ich es so richtig verstanden haben sollte, finde ich, dass es fast schon ein bissel zu viel des Guten ist für mein "Problem" ist und ich es vllt durch Änderung des Array-Clusters angehen sollte, vor allem müsste ich so, ja dann immer das ganze Array durchsuchen...ich habe immer nur gehört, dass man For-Schleifen umgehen sollte, weil sie zu viel Zeit kosten...

Letztendlich suche ich nur nach einer Möglichkeit, um mein bisheriges Programm an eine Änderung der Hardwarekomponenten anzupassen. Der Benutzer sollte mit Hilfe des ersten Elements des Cluster-Arrays bestimmen, welchen Teil der ihm zur Verfügung stehenden 60 Kanäle er im Zweiten Element dann auswählen kann. Es wäre zu unübersichtlich, wenn ich hier alle 60 Kanäle anzeigen bzw. zu umständlich, wenn ich mit einem Scrollbalken arbeiten würde. Am Besten wäre es vllt, wenn ich hier einfach nur ein Bedienfeld (numerisches Eingabefeld) verwende...

..wäre euch für noch eine Anregung dankbar...

mfg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.07.2008, 13:18
Beitrag #6

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.696
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Ereignistruktur - 1D-Array mit Cluster (4-Elemente)
Offtopic2
' schrieb:@IchSelbst:
Klasse Tongue, du sagst, es geht, ich sag, es geht nicht. Tongue
Es geht immer. Egal was gehen soll. (Gehn tut alles, nur die Frösch hüpfen).

Der Anwender wird seinen Array of Cluster(4 Elemente) beibehalten können und es schließlich so im Ablauf haben, wie er will. Dass sein Ablauf, also der Programmcode, ganz anders aussehen wird, als er es sich jetzt vielleicht vorstellt, ist ja was anderes. Im schlimmsten Falle gilt es sogar dann als "es geht", wenn in der Event-Struktur z.B. über eine Referenz eine Maskierung stattfindet. Wichtig ist nur, dass sein Datenmodell (array of cluster ...) anwenderfreundlich erhalten bleibt. Cool

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
21.07.2008, 13:31
Beitrag #7

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.696
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Ereignistruktur - 1D-Array mit Cluster (4-Elemente)
' schrieb:Ich deaktiviere im Cluster Element 3 und 4, fange dann ein Value-Change-Event des gesamten Arrays ab
Jawohl.

Zitat:, ....um anschließend, das Array in seinem jetztigen Zustand mit dem vorherigen Zustand zu vergleichen und so die Änderung ausfindig zu machen ?...
Bisher sehe ich keine Notwendigkeit, den neuen Zustand mit dem alten zu vergleichen.
Du passt ganz einfach für alle Indices den Text im Ring dem einen Eingabefeld an. Ob da schon das richtige drinnensteht oder nicht spielt überhaupt keine Rolle. So gesehen muss die Eventstruktur nicht mal wissen, welcher Arrayindex gerade vom Anwender bearbeitet wurde.

Zitat:1) Könnte ich nicht das zweite Elemente (Ring-Element), nicht auch deaktivieren oder kann ich es dann nicht mehr bearbeiten, also die Beschriftungen der einzelnen Objekte anpassen? Das auslösende Ereignis soll ja nur vom ersten Element kommen.
Du kannst auch dieses Element deaktivieren. Die Deaktivierung gilt ja nur für die manuelle Eingabe. Einen Wert zuweisen an das Element geht immer. Allerdings: Eine Beschriftung im Sinne von LV kann man grundsätzlich nicht ändern. Das ist nämlich der Variablenname. Hier meinst du bestimmt den RingText respektive den RingValue.

Zitat:Die Suche nach dem veränderten Wert muss ich mir dann mit Hilfe von einer For-Schleife, einem Schieberegister und einem simplen Vergleich auf Gleichheit zusammen basteln???
Für was brauchst du den Wert des Indexes, der geändert wurde? Nur für die Berichtigung im Anzeigefeld? Nur alleine hierfür bräuchte man keine Änderungserkennung.

Zitat:Falls, ich es so richtig verstanden haben sollte, finde ich, dass es fast schon ein bissel zu viel des Guten ist für mein "Problem" ist und ich es vllt durch Änderung des Array-Clusters angehen sollte, vor allem müsste ich so, ja dann immer das ganze Array durchsuchen...ich habe immer nur gehört, dass man For-Schleifen umgehen sollte, weil sie zu viel Zeit kosten...
Das eben ist Ansichtssache. Zeit ist relativ. Ich lass das Suchen nach der Änderung nämlich immer weg und setze das ganze Feld neu.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.07.2008, 13:42
Beitrag #8

LLEA2 Offline
LVF-Grünschnabel
*


Beiträge: 37
Registriert seit: Jan 2008

8.5
2008
kA

10777
Deutschland
Ereignistruktur - 1D-Array mit Cluster (4-Elemente)
' schrieb:Jawohl.

Bisher sehe ich keine Notwendigkeit, den neuen Zustand mit dem alten zu vergleichen.
Du passt ganz einfach für alle Indices den Text im Ring dem einen Eingabefeld an. Ob da schon das richtige drinnensteht oder nicht spielt überhaupt keine Rolle. So gesehen muss die Eventstruktur nicht mal wissen, welcher Arrayindex gerade vom Anwender bearbeitet wurde.

Für was brauchst du den Wert des Indexes, der geändert wurde? Nur für die Berichtigung im Anzeigefeld? Nur alleine hierfür bräuchte man keine Änderungserkennung.

Das eben ist Ansichtssache. Zeit ist relativ. Ich lass das Suchen nach der Änderung nämlich immer weg und setze das ganze Feld neu.

genau das verstehe ich noch nicht Mellow ...meiner Meinung nach brauche ich doch einen Index bzw. die genau Stelle der Änderung, damit ich z.B. dann veranlassen kann, dass in der dritten Zeile meines Arrays, im zweiten Element des Clusters nur noch die Kanäle 16-30 angezeigt werden sollen...würde ich ohne direkte Indizierung nicht auch bei den anderen Elementen des Arrays....damit auch nur noch die Auswahl dieser Kanäle (16-30) zulassen ?

mfg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.07.2008, 14:25
Beitrag #9

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.696
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Ereignistruktur - 1D-Array mit Cluster (4-Elemente)
' schrieb:meiner Meinung nach brauche ich doch einen Index bzw. die genau Stelle der Änderung, damit ich z.B. dann veranlassen kann, dass in der dritten Zeile meines Arrays, im zweiten Element des Clusters nur noch die Kanäle 16-30 angezeigt werden sollen
Du gibst das Array mit Autoindizierung auf eine For-Schleife. In der For-Schleife hat du dann nur noch Cluster. Von diesem Cluster liest du das Eingabeelement aus und berechnest die Daten für den Ring von genau diesem Cluster. Diese berechneten Daten schreibst du dann in genau diesen Cluster hinein. Den Clusterausgang gibt du auf einen indizierten Array-Ausgang. (Du kannst statt der automatischen Indizierung auch ein Schieberegister nehmen. Dann musst du das Array halt mit dem Schleifenzähler indizieren und im Array den Cluster ersetzen.)

Zitat:..würde ich ohne direkte Indizierung nicht auch bei den anderen Elementen des Arrays....damit auch nur noch die Auswahl dieser Kanäle (16-30) zulassen ?
Nein, das sehe ich jetzt nicht so.
Wenn du 10 per se von einander unabhängige Indices hast, dann sind das eben 10 von einander unabhängige Cluster.

Jeder Cluster hat ein Eingabeelement und einen Ring. Im diesem Ring sollen genau solche Daten stehen, die dem Eingabewert im Eingabefeld entsprechen. Hast du also 10 Cluster, so hast du auch 10 Eingabeelemente und 10 dazugehörige Ringe.

Hinweis:
Ich gehe jetzt davon aus, dass du eben einen solches Array hast: array of cluster(Eingabe, Ring, Elem3, Elem4). In Ring soll was stehen, was dem Wert in Eingabe entspricht.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.07.2008, 20:44
Beitrag #10

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Ereignistruktur - 1D-Array mit Cluster (4-Elemente)
Ich muss nochmal was nachschieben:

Wenn ich richtig verstehe, dann sollen die "Ring-Elemente" in den verschiedenen Array-Elementen verschiedene Auswahlelemente anzeigen (also sowas der Art: Array-Index 0 -> Ring hat Auswahl-Text 0,1,... bis 9; Array-Index 1-> Ring hat Auswahl-Text 10,11,...,19).

Das geht natürlich nicht! Alle Elemente eines Arrays haben identische Eigenschaften! Dazu gehören halt auch Ring-Texte. Dabei ist es egal, dass der Ring Teil eines Clusters ist.

MfG, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Elemente Cluster in Cluster ansprechen simcum 3 3.728 02.10.2023 10:49
Letzter Beitrag: th13
  Wann schließe ich (ActiveX, Excel) Referenzen? + wie Cluster to Array? TpunktN 9 9.908 28.01.2020 14:14
Letzter Beitrag: TpunktN
  (Array of )Cluster direkt als Icon? NoWay 4 4.083 16.10.2019 11:16
Letzter Beitrag: Trinitatis
  Cluster aufschlüsseln immer 9 Elemente Philipp99 1 2.828 12.05.2019 23:17
Letzter Beitrag: jg
  Elemente aus 2D-Array nach bestimmten Index (n,m) auslesen und in 2D Array speichern 1990 2 5.622 29.04.2017 21:51
Letzter Beitrag: 1990
  Cluster mit Referenzen auf FP-Elemente Oli_N 8 9.070 15.02.2017 11:19
Letzter Beitrag: Oli_N

Gehe zu: