Anzahl der Elemente in einem Array

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Anzahl der Elemente in einem Array

von Stephan » So, 27.03.2005 18:54

Hm, jetzt stehe ich vor dem nächsten Problem. Kann man auch irgenwie herausfinden, was für eine Dimension der Array hat (Array(x) => 1 Array(x,y) =>2 usw.)?
Du kannst bei LBOUND() und UBOUND() die Dimension des Arrays angeben, fasse also eines der beiden in eine Schleife und zähle die Dimension hoch. Sobald die zu groß wird gibt es einen Fehler, fange diesen ab und ermittle den aktuellen Zählerwert der Schleife. Dieser Wert minus 1 ist die Dimension des Arrays.

ohne Feinheiten also prinzipiell so:

Code: Alles auswählen

...
On Error Goto z
x = 0
Do
   x = x + 1
   a = LBOUND(arrayname(),x)
Loop

z:
dimension = x - 1
...

Gruß
Stephan

von Frank Lauer » So, 27.03.2005 16:43

Hm, jetzt stehe ich vor dem nächsten Problem. Kann man auch irgenwie herausfinden, was für eine Dimension der Array hat (Array(x) => 1 Array(x,y) =>2 usw.)?

von Frank Lauer » Fr, 25.03.2005 15:23

Danke für die schnelle Antwort! Genau das habe ich gesucht.

von Stephan » Fr, 25.03.2005 13:47

wie kann ich herausfinden wieviel elemente ein Array enthält?

Das ist ein bißchen philosopisch in sofern es um die Anzahl der Elemente geht (weil ja Element möglicherweise Inhalt meint), Du kannst jedoch die Größe des Arrays ermitteln, dafür gibt es:

LBound und UBound

siehe Onlinehilfe von OOo.
Du müßtest dann noch prüfen ob jede "Zelle" des Arrays auch tatsächlich mit Inhalt belegt ist.


Gruß
Stephan

Anzahl der Elemente in einem Array

von Frank Lauer » Fr, 25.03.2005 11:57

Hallo zusammen,

wie kann ich herausfinden wieviel elemente ein Array enthält?

Manche Methoden und Funktionen des UNO geben mir ja Arrays zurück (z.B. das Dialogelement Listbox über die Methode "DelectedItemsPosition(Array of String,Boolean)). Ich weis jedoch nicht wieviele elemente in diesem Array drin sind (zum Beispiel wieviele Elemente in der Listbox markiert sind). Wenn ich dann Element für Element durchlaufe bekomme ich irgenwann eine Fehlermeldung wenn ich über das letzte Element hinausschieße.

Das Ganze könnte man natürlich mit einem Errohandler in den Griff bekommen, wäre aber schön wenn es eine Funktion gäbe.

Nach oben