Hallo,
das sieht schon mal nicht schlecht aus, nur ist es so, dass die Anzahl und somit die Reihenfolge nicht immer dieselbe sein wird. In dem Beispiel würde es passen, aber ich habe auch noch eine Schaltmatrix, der ich über Switch-Executive Befehle, bzw. Pfade schicke. Da kann es dann mal sein, dass ich 5 Pfade schicke, oder auch mal nur 3 und dass die dann auch an einer anderen Stelle stehen. Von daher wäre es praktisch, wenn im gesamten "letzten Befehl" geschaut wird, ob der "aktuelle Befehl" enthalten ist (wie ich es vorgesehen hatte).
Als zweiter Schritt wäre es gerade in Bezug auf die Matrix recht praktisch, wenn ich dann auch noch sehen könnte, welcher Schritt weggefallen ist, um entsprechende Pfade abzuschalten.
Momentan ist es ja so, dass ich z.B. als aktuellen Befehl 1!3!4! habe und als vorigen Befehl 1!2!5!. Dann wird 3!4! geschickt, weil sich ja "1" nicht geändert hat. Praktisch wäre es, wenn an einem Ausgang dann 3!4! käme, zum Schalten und am anderen Ausgang 2!5!, zum Abschalten.
Morgen kann ich leider nicht antworten, weil ich bei NI in Stuttgart bin. Nicht, dass Du/Ihr denk(s)t, mich würden die Antworten nicht interessieren.
Gruß Markus
' schrieb:Den ganzen Aufwand, der Dir dann die Schwierigkeiten bringt, verstehe ich sowieso nicht:
So würde ich es machen:
a) Die zu vergleichenden Strings Arrays umwandeln. (Dein Sub-Vi ist überflüssig, die vorhandene Funktion"Tabellenstring nach Array" funktioniert auch mit einem ein-elementigen Array, mit einem eindimensionelen Array als Ergebnis.)
b) die Elemente werden miteinander verglichen. (ich gehe davon aus, daß die Anzahl und Reihenfolge (aktuell-letzter) immer gleich ist und daß deshalb die ganze Suchfunktion, die Dir die Schwierigkeiten bringt, ebenso überflüssig ist. Ist das so?)
c) gleiche Elemente werden nicht in den String aufgenommen, so wie Du es bisher schon hattest.