13.03.2009, 15:17
Beitrag #1
|
TSC
LVF-Team
Beiträge: 1.882
Registriert seit: Sep 2008
LV 2018 SP1
2008
EN
52379
Deutschland
|
Array Anzeige auf belegte Elemente beschränken
Moin zusammen,
Auf meinem Frontpanel habe ich eine Arrayanzeige untergebracht. Angezeigt wird immer ein Element. Über die Indexanzeige kann man den angezeigten Index einstellen. Ist es möglich, zu verhindern, dass ein Index gewählt wird, der nicht belegt ist? Also wennim Array 5 Elemente sind, dann sollten nur die Indizes 0-4 gewählt werden können.
Ausnahme: Wenn kein Element im Array ist, sollte der leere Index "0" angezeigt werden!
LG
Torsten
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" ( Konrad Zuse)
|
|
|
13.03.2009, 15:42
Beitrag #2
|
|
|
13.03.2009, 15:52
Beitrag #3
|
TSC
LVF-Team
Beiträge: 1.882
Registriert seit: Sep 2008
LV 2018 SP1
2008
EN
52379
Deutschland
|
Array Anzeige auf belegte Elemente beschränken
' schrieb:...
Mache jetzt mal kein Bsp. damit du was fürs Wochenende hast.
...
Schade, ich hab nämlich grade keinen Schimmer wie das laufen könnte. Also bisher ist es so, dass ich sobald ein Fehler auftritt, diesen Fehler in ein Array schreibe und das Array auf dem FP angezeigt wird. Über den Eigenschaftsknoten IndexWerte setzte ich das angezeigte Element immer auf den letzten Fehler. das klappt gut, damit bin ich zufrieden. manuell kann man dabei durch alle Fehler durch indizieren. aber eben auch darüber hinaus. ich könnte nun natürlich ein event abfangen "Index Changed" und wenn der Wert ungültig ist, auf die entsprechende Stelle zurück schalten. Aber das finde ich irgendwie zu aufwändig.
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" ( Konrad Zuse)
|
|
|
13.03.2009, 18:51
Beitrag #4
|
IchSelbst
LVF-Guru
Beiträge: 3.695
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
Array Anzeige auf belegte Elemente beschränken
' schrieb:Aber das finde ich irgendwie zu aufwändig.
Find ich nicht.
Ich hab das mal so gemacht: [list]
[*]Array-Index-Auswahl ausblenden. <>
[*]Eigenes I32-Eingabefeld anstelle der Array-Index-Auswahl plazieren. <>
[*]Dort, wo sich die Array-Index-Anzahl ändert, werden Min und Max des eigenen I32-Eingabefeldes angepasst.<>
[*]Jetzt kann also automatisch nur noch zwischen Min und Max eingegeben werden.<>
[*]Im OnChange-Event des eigenen I32-Eingabefeldes wird das Array-Index per IndexValue gesetzt.<>
[st]Zweck der Übung: Jetzt steht beim Array-Index 0 nicht mehr "Nullter Prüfling", sondern "Erster Prüfling". Sehr schön für den Kunden und die Bedienung der Oberfläche. Aber aufwändig. Fazit: nie weider solche schönen Sachen in LV. ^_^
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
13.03.2009, 18:57
(Dieser Beitrag wurde zuletzt bearbeitet: 13.03.2009 18:58 von jg.)
Beitrag #5
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Array Anzeige auf belegte Elemente beschränken
Nein, das musst du wirklich selber programmieren.
Und ein Event für "Index-Changed" bei Arrays gibt es auch nicht.
Folgende Idee dagegen könnte funktionieren: Du machst den Index beim Array nicht sichtbar. Stattdessen gibt es ein neues Eingabe-Element vom Typ Integer.
Und hier kannst du per PropertyNode den Eingabebereich vorgeben.
Anbei ein schnell zusammengezimmertes Bsp, dass das Prinzip verdeutlicht.
Bsp.vi (Größe: 10,23 KB / Downloads: 303)
Gruß, Jens
EDIT: , IchSelbst hat dieselbe Idee... , Unterfranken ist sich einig.
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.
|
|
|
13.03.2009, 19:13
Beitrag #6
|
TSC
LVF-Team
Beiträge: 1.882
Registriert seit: Sep 2008
LV 2018 SP1
2008
EN
52379
Deutschland
|
Array Anzeige auf belegte Elemente beschränken
Danke für die Tipps. Evtl gelingt es mir ja auch, ein eigenes Ereignis zu definieren!? Ich bin ja noch in der Lernphase und probier gerne so allerlei aus. Meistens lernt man was dabei. Ansonsten werd ich wohl die "Unterfränkische Lösung" implementieren.
LG und ein schönes Wochenende
Torsten
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" ( Konrad Zuse)
|
|
|
13.03.2009, 21:56
Beitrag #7
|
|
|
14.03.2009, 06:22
(Dieser Beitrag wurde zuletzt bearbeitet: 14.03.2009 09:54 von jg.)
Beitrag #8
|
|
|
14.03.2009, 18:55
Beitrag #9
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Array Anzeige auf belegte Elemente beschränken
@thomas: Dein Bsp hat einen kleinen Schönheitsfehler: Wenn ich mal den maximalen Index anzeige, komme ich da nicht mehr raus (zumindest nicht mit Mausklicks).
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.
|
|
|
14.03.2009, 19:02
|
thomas.sandrisser
LVF-SeniorMod
Beiträge: 1.298
Registriert seit: Sep 2005
xxxx
2005
EN
78759
United States
|
Array Anzeige auf belegte Elemente beschränken
natuerlich hat es schoenheitsfehler, du siehst doch wieder code aussieht :-)
Bei mouse down gibts noch die coordinates mit dem man die area of interest noch genauer einschraenken kann mit der position und den boundaries vom control
|
|
|
| |