LabVIEWForum.de
Aendern von Eigenschaften eines einzelnen Elements in einem Array - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Aendern von Eigenschaften eines einzelnen Elements in einem Array (/Thread-Aendern-von-Eigenschaften-eines-einzelnen-Elements-in-einem-Array)



Aendern von Eigenschaften eines einzelnen Elements in einem Array - Levin - 08.12.2012 18:07

Hallo Zusammen,

Ich habe folgendes Problem: ich habe einen Array, bei dem ich die Eigenschaften einzelner Elemente aendern will. Genauer: Ich will die min und max-werte fuer jedes einzelne element festlegen. Ich habe mal mit dem setzen einer referenz gestartet, die ich dann an eine property-node anschliessen will, aber ich weiss nicht genau, welche und wie ich dann weiter verfahren soll. ich habe das vi angehaengt.

vielen dank

levin


RE: Aendern von Eigenschaften eines einzelnen Elements in einem Array - Lucki - 08.12.2012 19:27

Die Festlegung des Wertebereiches ist überhaupt keine Eigenschaft, die man mit einem Eigenschaftsknoten festlegen kann. Insofern ist die Frage gegenstandslos, und wenn sie das nicht wäre, ginge es immer noch nicht, denn Arrayelemente sind, wie Jens es einmal audruckte "Kommunisten" (d.h uniforme Elemente ohne individuell unterschiedliche Eigenschaften)

Zwar kann man bei einer Anzeige mit der rechten Maustaste/Eigenschaften einen Wertebereich festlegen, aber der bezieht sich nur auf die manuelle Eingabe. Programmgesteuert kann man unabhängig davon jeden Wert zuweisen - und deshalb hat diese Eigenschaft auch nichts bei den Eigenschaftsknoten zu suchen.

Aber: Vergiss die Eigenschaftsknoten, und Deine Aufgabe wird zu einer an Einfachheit kaum noch zu unterbietenden leichten Übung.
So:
[attachment=42572]


RE: Aendern von Eigenschaften eines einzelnen Elements in einem Array - rolfk - 08.12.2012 22:01

(08.12.2012 19:27 )Lucki schrieb:  Die Festlegung des Wertebereiches ist überhaupt keine Eigenschaft, die man mit einem Eigenschaftsknoten festlegen kann. Insofern ist die Frage gegenstandslos, und wenn sie das nicht wäre, ginge es immer noch nicht, denn Arrayelemente sind, wie Jens es einmal audruckte "Kommunisten" (d.h uniforme Elemente ohne individuell unterschiedliche Eigenschaften)

Zwar kann man bei einer Anzeige mit der rechten Maustaste/Eigenschaften einen Wertebereich festlegen, aber der bezieht sich nur auf die manuelle Eingabe. Programmgesteuert kann man unabhängig davon jeden Wert zuweisen - und deshalb hat diese Eigenschaft auch nichts bei den Eigenschaftsknoten zu suchen.

Aber: Vergiss die Eigenschaftsknoten, und Deine Aufgabe wird zu einer an Einfachheit kaum noch zu unterbietenden leichten Übung.
So:

Zwar hast Du mit den meisten Dingen hier recht, nämlich dass Arrayelemente keine unterschiedlichen Eigenschaften haben können (sondern nur Werte) und dass die Limits nur für die Eingabe im UI eine Funktion haben (weil alles andere halt wirklich immer sinnvoller explizit programmiert werden sollte) aber dass es diese Eingabelimit-Eigenschaften nicht über die Eigenschaftsknoten gibt ist so sicher nicht ganz korrekt. Natürlich nicht fürs Array selber, denn das Numeric innerhalb des Arrays ist ein eigenständiges Objekt mit eigenen Eigenschaften. Wenn Du einen String in eine Arrayshell legst willst Du schliesslich keine Eigenschaften die nur für Numerics sinnvoll sind.

Wichtig dabei ist auch dass man den Eigenschaftsknoten direkt vom Numerischen Element innerhalb des Arrays generiert und nicht über die Eigenschaften der Arrayshell anzusprechen versucht, denn dieses Menu kennt nur die allgemein gültigen Eigenschaften die nur für alle möglichen Arrayelemente gelten aber nicht die datentypenabhängigen (ein String Control hat keine Data Entry Limit Eigenschaft).

Eventuelle Verwirrung könnte hier entstanden sein weil diese Eigenschaften in einer der letzten Versionen teilweise leicht geänderte Namen bekommen haben.

[attachment=42573]

Bei arrayelementspezifischen Limiten ist aber programmtechnische Kontrolle ohnehin die einzige Möglichkeit.


RE: Aendern von Eigenschaften eines einzelnen Elements in einem Array - Lucki - 09.12.2012 09:59

Danke für die Korrektur, ich hielt es für logisch, dass der Eigenschaftsknoten gar nicht existieren kann und hielt es nicht für nötig, da noch mal nachzuschauen. Mein Logik war aber trügerisch: Natürlich gibt es den Eigenschaftsknoten, so dass man programmgesteuert die Wertegrenzen eines numerischen Elementes änderen kann. Diese Grenzen verändern nur nicht den tatsächlichen Wert des Elementes, sondern machen bei der nächsten manuellen Eingabe nur die Eingabe von Werten außerhalb dieses Bereiches unmöglich (im Modus "Erzwingen") [jetzt habe ich wieder nicht nachgeschaut und probiert, aber es wird schon so stimmenBig Grin]

Allgemeine Zusatzbemerkung (passt hier nur nicht zur speziellen Frage "Wertebereich):
Das "Tabellenelement" ist ein spezielles 2D-Array für Text, bei dem sich etliche Eigenschaften der Elemente individual ändern lassen. Wenn man z.B. einzelne Zahlen farbig oder als Fettdruck hervorheben möchte, kann man das Zahlenaray für die FP-Ansicht einfach in Text hin- und zurückkonvertieren und erhält damit die gewünschten individuellen Optionen für einzelne Array-Elemente.


RE: Aendern von Eigenschaften eines einzelnen Elements in einem Array - gottfried - 09.12.2012 10:45

Danke

habe einiges gelernt

Gottfried


RE: Aendern von Eigenschaften eines einzelnen Elements in einem Array - Levin - 09.12.2012 15:25

Danke! Ich habe das ganze nach Luckis' loesung gemacht - sehr einfach!
gruesse