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 

Dieses Thema hat akzeptierte Lösungen:

Enum Baumstruktur



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.02.2017, 12:37 (Dieser Beitrag wurde zuletzt bearbeitet: 21.02.2017 12:46 von Hydrogencarbonat.)
Beitrag #1

Hydrogencarbonat Offline
LVF-User
**


Beiträge: 187
Registriert seit: Apr 2014

2013,2014
2014
DE

XXXXX
Deutschland
Enum Baumstruktur
Hi,

ich habe ein Enum im eine Baumstruktur eingefügt und kann in bestimmten Positionen wie zum Beispiel der Parents-Tags (Oberste Ebene) das Enum anzeigen und einen Wert verändern
(Siehe VI in Ordner: Ein Enum).
Jedoch möchte ich in jedes Enum unterschiedliche Werte auswählen können.In diesem Beispiel ist nur ein Enum mit seinen Werten im Tree eingefügt und wird an bestimmten Position ( Parent-Tags) angezeigt.
-> Problem: Ändern sich die Werte des Enums, dann wird in jedem angezeigten Enum des Trees logischerweise dessen neuen Werte angezeigt.

Also habe ich als 2 Testbeispiel etwas mit 4 Enums programmiert, die unterschiedliche Werte haben.
Diese Umsetzung ist jedoch sehr statisch und ich müsste bei einer Erweiterung immer ein neues Enum in das Programm einfügen bzw. mehrere, für jedes Parents oder Child-tag (untere Ebene).
Gehen wir mal davon aus , dass ich für jedes Child Tag von dem jeweiligen Parent ein Enum mit unterschiedlichen Werten haben möchte.
Dann müsste ich für jedes Child Tag per Hand ein Enum in mein VI einfügen, eine Referenz für das Cluster erzeugen und in dem Case Tree Mausbewegung für jedes Child Tag ein Case erstellen und noch andere Anpassungen im VI machen (siehe angehängtes VI).
Dies ist so sehr unvorteilhaft programmiert und kann bei großen Datenmengen nicht so genutzt werden.

Deswegen möchte ich, dass mein Tree mit den Enums dynamisch so programmiert haben, das für jedes Child-Tag ein Enum mit unterschiedlichen Werten in dem Tree auswählbar ist. (Die Werte von jedem Tree, die zur Auswahl stehen sollen, kommen später von einer Datenbank und sollen dann über einen Eigenschaftsknoten (weiss jetzt gerade nicht aus dem Kopf mit welcher Eigenschaft genau) in jedem Enum gesetzt werden)
In meinen Test VIs habe ich erstmal die Parents Tags für die Enums verwendet.

Ich hoffe ich habe mein Problem verständlich beschrieben und mir kann jemand weiterhelfen. (Die VIs sind angehängt)

Gruß HCO

Sry, hatte den falschen Ordner von "mehr Enums" hochgeladen.


Angehängte Datei(en)
0.0 .rar  Test_Tree_Drop-Down.rar (Größe: 154,37 KB / Downloads: 255)

0.0 .rar  mehr Enums.rar (Größe: 96,13 KB / Downloads: 239)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.02.2017, 13:30
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Enum Baumstruktur
Nimm für die Auswahlanzeige ein Ring-Control anstatt ein Enum!!!!

vgl. https://lavag.org/files/file/31-type-sensitive-popup/

Gruß, 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.02.2017, 14:32
Beitrag #3

Hydrogencarbonat Offline
LVF-User
**


Beiträge: 187
Registriert seit: Apr 2014

2013,2014
2014
DE

XXXXX
Deutschland
RE: Enum Baumstruktur
Hi,

das Beispiel Projekt, welches du als Link gepostet hast kann ich nicht ausführen. Habe alle Vis ersetzt, er meckert trotzdem rum das Typedefs fehlen etc.

Habe bei mir im VI mit einem Enum, das Enum durch ein Ringcontrol ausgetauscht.
Jedoch ist dies ja meiner Meinung nach genau das gleiche Prinzip, ob da nun ein Enum, ein Ring Control etc. im Tree verwendet wird (Kann mich auch irren).

Ich will ja nur an unterschiedlichen Position im Tree bei dem besagten "Control" der jeweiligen Zeile (Parents. oder Child-Tags) unterschiedliche Werte auswählen können, die ich in einem Array von der DB erhalten habe.

Hast du eventuell ein konkreteres Beispiel, als das, was du gepostet hast?


Gruß HCO


Angehängte Datei(en)
13.0 .vi  Baum und Drop_Down_Test_Ring.vi (Größe: 49,66 KB / Downloads: 263)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.02.2017, 15:57
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Enum Baumstruktur
Die Idee mit Ring anstatt Enum ist, dass du nur 1 Ring-Control brauchst, da du selber vor der Darstellung die Werte zur Laufzeit setzen kannst.

Mir ist bekannt, dass das verlinkte Tool beim Öffnen unter neueren LV-Versionen rumzickt.
Öffne mal das VI TSPopop.FG.Popup.vi. Dort folgendes machen:
1) Sortiere die Cases der Case-Struktur um (Rechtsklick auf Case-Struktur). Mache den "Initialize" Fall zum ersten Fall.
2) Dann die folgende Verbindung löschen und wieder neu anlegen:
   
3) VI speichern und es läuft.

Vielleicht kannst du dir bei dieser API was abschauen.

Gruß, 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.02.2017, 16:41
Beitrag #5

Hydrogencarbonat Offline
LVF-User
**


Beiträge: 187
Registriert seit: Apr 2014

2013,2014
2014
DE

XXXXX
Deutschland
RE: Enum Baumstruktur
Ok, habe ich gemacht.
Da tritt noch ein weiterer Fehler auf.
Was soll ich da machen?

Gruß HCO


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.02.2017, 17:03
Beitrag #6

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Enum Baumstruktur
Hast du auch zuerst umsortiert - so wie geschrieben? Hat bei mir unter lv16_img funktioniert. Spiel mal ein wenig rum. Im Extremfall musst du das gesamte Shift-Register neu anlegen. Da kommt was durcheinander mit dem Datentyp durch das Hochkonvertieren.

Gruß, 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
Anzeige
21.02.2017, 21:17
Beitrag #7

Hydrogencarbonat Offline
LVF-User
**


Beiträge: 187
Registriert seit: Apr 2014

2013,2014
2014
DE

XXXXX
Deutschland
RE: Enum Baumstruktur
Hi,
hab ein bischen rumgespielt.
Klappt jetzt endlich. Jetzt erstmal das VI anschauen.Danke für die Hilfe.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.02.2017, 22:19
Beitrag #8

Hydrogencarbonat Offline
LVF-User
**


Beiträge: 187
Registriert seit: Apr 2014

2013,2014
2014
DE

XXXXX
Deutschland
RE: Enum Baumstruktur
Ok, top VI. Die dynamische Erstellung von Rings in dem Tree ist genau das was ich brauche und ich kann das Prinzip auch nach meinen Bedürfnissen in meinem Main VI einfügen/umsetzen. Jedoch bleibt noch ein Problem, da ich wie es in dem VI sehe jeder erstellte Ring die gleichen Werte hat.Die Werte des Rings werden im 1D-Array (String) vor der While Loop gesetzt.
Ich möchte jedoch unterschiedliche Werte in jedem Ring für jedes Child setzen.

Wie kann ich das am Besten umsetzen?

Gruß HCO
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.02.2017, 00:01
Beitrag #9

Hydrogencarbonat Offline
LVF-User
**


Beiträge: 187
Registriert seit: Apr 2014

2013,2014
2014
DE

XXXXX
Deutschland
RE: Enum Baumstruktur

Akzeptierte Lösung

Habe es endlich herausgefunden :=).

Man muss in dem Ereignis "Tests,Maustaste gedrückt" im True Case für die Childs,die man in dem Tree gesetzt hat und einen Ring bekommen sollen, den Prop Type des Rings bei einer Übereinstimmung des ermittelten Tags mit den Child_Names(Linker zellen String), sowie dessen individuellen "Ring String" setzen.

Gruß HCO
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
  Enum-Variable "zurücksetzen" Hans96 8 8.261 06.01.2023 07:48
Letzter Beitrag: Hans96
  Type Def Enum unterscheiden? Achim 5 3.982 30.07.2020 08:19
Letzter Beitrag: Freddy
  Enum gesteuertes Event ares2013 3 4.590 29.11.2019 19:03
Letzter Beitrag: Lucki
  String nach Enum konvertieren NoWay 2 4.902 20.08.2019 10:58
Letzter Beitrag: NoWay
  Inhalt einer Baumstruktur über Methodenknoten speichern funktioniert nicht... enone 2 3.935 10.05.2019 10:19
Letzter Beitrag: enone
  Baumstruktur - Objekte nur zwischen Elemente einfügen (keine neue Unterebene) enone 9 6.171 08.02.2019 08:05
Letzter Beitrag: 83Daniel

Gehe zu: