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!
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)
' 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)
' 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.)
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.
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)
@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!
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