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!
30.10.2007, 22:22 (Dieser Beitrag wurde zuletzt bearbeitet: 03.12.2007 21:24 von jg.)
Zitat:Da das Array mit dieser Funktion nur in einer Dimension verringert wird, kann immer nur ein Index-Eingang verbunden werden. Wenn Sie zum Beispiel aus einem 2D-Array eine Zeile löschen möchten, verbinden Sie nur den Zeilen-Index. Um eine Spalte zu löschen, verbinden Sie nur den Spalten-Index. Wenn Länge mit einem Wert verbunden wird, können auch mehrere aufeinander folgende Teilarrays auf einmal gelöscht werden.
Da das Eingangsarray ein 2D-Array ist, muss auch das Ausgangsarray ein 2D-Array sein. Bei der Eingangsgröße von 1x1 kommt dann eben - rein rechnerisch - 0x1 heraus. Das sieht zwar komisch aus, ist aber logisch richtig: Ein 1D-Array ist ein 2D-Array, bei dem die eine Dimension Null ist.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
30.10.2007, 22:55 (Dieser Beitrag wurde zuletzt bearbeitet: 30.10.2007 22:56 von eg.)
' schrieb:Laut Hilfe gilt:
Da das Eingangsarray ein 2D-Array ist, muss auch das Ausgangsarray ein 2D-Array sein. Bei der Eingangsgröße von 1x1 kommt dann eben - rein rechnerisch - 0x1 heraus. Das sieht zwar komisch aus, ist aber logisch richtig: Ein 1D-Array ist ein 2D-Array, bei dem die eine Dimension Null ist.
Die Eingangsgröße ist aber 0x1 und nicht 1x1 (ich meine bei dem 2.ten Teil des VIs).
' schrieb:Die Eingangsgröße ist aber 0x1 und nicht 1x1 (ich meine bei dem 2.ten Teil des VIs).
Aus einem 2D-Array der Größe 0x1 kann man nichts mehr löschen. Warum also sollte das Array-Bearbeitungselement irgendetwas tun? Das Array bleibt wie es ist - nämlich leer. Leerer als leer geht nicht.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
31.10.2007, 00:49 (Dieser Beitrag wurde zuletzt bearbeitet: 03.12.2007 21:23 von jg.)
' schrieb:Aus einem 2D-Array der Größe 0x1 kann man nichts mehr löschen. Warum also sollte das Array-Bearbeitungselement irgendetwas tun? Das Array bleibt wie es ist - nämlich leer. Leerer als leer geht nicht.
Ok, vielleicht verstehe ich etwas nicht, kann sein (ich habe eigentlich gedacht LEER ist 0x0), aber warum bekomme ich dann bei dem angehängten VI ein NICHTLEERES Array raus?
Ich muss leider folgendes Work Arround (siehe Screenshot) anwenden, bis mir jemand erklärt, warum sowas passiert.
' schrieb:Ich muss leider folgendes Work Arround (siehe Screenshot) anwenden, bis mir jemand erklärt, warum sowas passiert.
Speichertechnisch gesehen ist ein Array 0x1 genauso leer wie ein Array 0x0. Die Anzahl der Elemente in einem Array ergibt sich aus der (vereinfacht gesehen) Multiplikation der Längen der einzelnen Dimensionen. 0x1 ist aber genauso Null wie 0x0.
5x3 heißt: Die zweite Dimension ist 5mal vorhanden und jedes Element dieser zweiten Dimension hat die Länge 3.
0x1 hieße demzufolge: Die zweite Dimension ist nicht vorhanden, hat aber die Länge 1 - das ist widersinnig. Was nicht vorhanden ist kann keine Länge haben. Der eigentliche Fehler liegt bereits im ersten Teil, dort wo eben 0x1 herauskommt. (Das ist aber genau in dem Falle kein Fehler mehr, wenn es genau so in der Dokumentation steht).
Um dieses "Problem" zu beheben, würde ich genau so vorgehen wie du es gemacht hast.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Ich geb dir da völlig Recht. Das stimmt so. Und ist an sich auch logisch. Nur: Wenn ein Array physikalisch keine Zeile hat, wird es auch keine Spalte haben.
[*grübel*]
Nur:
[*erleucht*]
Wenn die Größe 0x123 besteht, kann man zu genau diesem Zeitpunkt (nämlich wenn das Array leer, also 0x0 ist) sagen, dass das Array 123 Spalten haben wird - falls denn mal mindestens eine Zeile da ist.
Mit anderen Worten: 0x1 ist doch ein Feature und kein Bug.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Delete From Array funktioniert komisch
.... und von mir noch was zum "Klugscheißen".
Du meinst in Deiner Dokumentation bestimmt "row" und nicht "raw" und "are not needed" statt "are don't needed".
Ist aber nur ein kleiner Hinweis, nicht negativ gemeint.
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------