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 

Delete From Array funktioniert komisch



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.)
Beitrag #1

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Delete From Array funktioniert komisch
Hallo Leute, ich habe folgende Frage:

warum kommt aus dem VI ein 0x1 großes 2D Array raus? Screenshots und das VI mit Defaultvalues sind im Anhang.

Danke, eg


P.S. ich will also in diesem Fall ein 0x0 Array rauskriegen.

(VI LV 8.2)


Angehängte Datei(en) Thumbnail(s)
           

Sonstige .vi  PubSub_Unregister.vi (Größe: 26,7 KB / Downloads: 180)

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30.10.2007, 22:45
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.689
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Delete From Array funktioniert komisch
Laut Hilfe gilt:
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).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.10.2007, 22:55 (Dieser Beitrag wurde zuletzt bearbeitet: 30.10.2007 22:56 von eg.)
Beitrag #3

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Delete From Array funktioniert komisch
' 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).

eg

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.10.2007, 00:14
Beitrag #4

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.689
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Delete From Array funktioniert komisch
' 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).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.10.2007, 00:49 (Dieser Beitrag wurde zuletzt bearbeitet: 03.12.2007 21:23 von jg.)
Beitrag #5

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Delete From Array funktioniert komisch
' 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.

eg

(VI LV 8.2)


Angehängte Datei(en) Thumbnail(s)
   

Sonstige .vi  PubSub_Register.vi (Größe: 24,3 KB / Downloads: 199)

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.10.2007, 09:56
Beitrag #6

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Delete From Array funktioniert komisch
Hallo, keine weitere Vorschläge dazu? Muss ich mit diesem Workaround arbeiten? Ist es ein Bug?

Gruß, eg

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
31.10.2007, 10:02
Beitrag #7

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.689
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Delete From Array funktioniert komisch
' 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).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.10.2007, 11:20
Beitrag #8

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Delete From Array funktioniert komisch
0x1 bedeutet für mich "0 Zeilen - 1 Spalten - Array" und ja, eine Tabelle mit 0 Zeilen sollte eigentlich leer sein oder ist auch leer.

Danke, eg

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.10.2007, 11:26
Beitrag #9

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.689
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Delete From Array funktioniert komisch
' schrieb:0x1 bedeutet für mich "0 Zeilen - 1 Spalten - Array"
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. Big Grin

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.10.2007, 12:45
Beitrag #10

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Delete From Array funktioniert komisch
.... und von mir noch was zum "Klugscheißen". Big Grin
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 !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  OpenG Write INI Cluster, COM Port wird komisch gespeichert dali4u 2 3.784 06.11.2014 13:27
Letzter Beitrag: dali4u
  Wie funktioniert das VI "Array-Größe"? Matze 2 3.418 16.07.2010 07:55
Letzter Beitrag: Matze
  komisch, alles blockiert! H_S 8 7.477 19.08.2009 07:28
Letzter Beitrag: Lucki
  Delete from Array Kathy 2 3.936 26.02.2009 11:49
Letzter Beitrag: Kathy
  Delete from array D3nnis.C 6 6.363 29.01.2008 13:48
Letzter Beitrag: D3nnis.C
  Wie funktioniert delete from array D3nnis.C 2 4.013 14.01.2008 13:08
Letzter Beitrag: D3nnis.C

Gehe zu: