von DPunch » Mo, 20.06.2011 13:58
Aloha
Mr.Ed hat geschrieben:Die Logik ist eigentlich ganz einfach: Tabellen, und nichts anderes macht Calc ja, sind immer zweidimensionale Datenarrangements. Also wird ein zweidimensionales Array beim Schreiben in eine Tabelle akzeptiert. Beim Lesen aus einer Tabelle ist halt die Frage, was der Benutzer wünscht, ein zweidimensionales Array oder ein "Arrays von Arrays". Hier hat man sich wohl für die zweite Möglichkeit entschieden.
Nein, die API ist da eindeutig.
Erwartet und zurückgeliefert wird ein Array aus Arrays, respektive eine Sequenz aus Sequenzen im UNO-Slang.
Wie gesagt sind zweidimensionale Arrays etwas anderes als ein Array aus Arrays - zweidimensionale Arrays haben eine festgelegte Dimensionierung für jedes Element der 1. Dimension, während bei einem Array aus Arrays das 1. Element des Arrays ein Array mit 5 Elementen sein könnte und das 2. Element ein Array mit 3 Elementen.
Was aber in diesem Fall eine Besonderheit ist, ist, dass Zellbereiche immer ein Rechteck bilden, so dass ein zweidimensionale Arrays anscheinend problemlos transformiert und akzeptiert werden kann - das entspricht nicht der Spezifikation, aber es funktioniert, sogar entgegen der OOo-Wiki
UNO does not recognize multi-dimensional sequences. Instead, a sequences can have elements that are also sequences.
Sowas nenne ich Komfortfunktion

(dazu sei Dir noch erklärt, dass es einige Methoden gibt, die eine Sequenz, bzw eine Sequenz aus Sequenzen als Parameter verlangen, und ich befürchte, dass die wenigsten davon so nachsichtig sind wie .setDaraArray)
Aloha
[quote="Mr.Ed"]Die Logik ist eigentlich ganz einfach: Tabellen, und nichts anderes macht Calc ja, sind immer zweidimensionale Datenarrangements. Also wird ein zweidimensionales Array beim Schreiben in eine Tabelle akzeptiert. Beim Lesen aus einer Tabelle ist halt die Frage, was der Benutzer wünscht, ein zweidimensionales Array oder ein "Arrays von Arrays". Hier hat man sich wohl für die zweite Möglichkeit entschieden.[/quote]
Nein, die API ist da eindeutig.
Erwartet und zurückgeliefert wird ein Array aus Arrays, respektive eine Sequenz aus Sequenzen im UNO-Slang.
Wie gesagt sind zweidimensionale Arrays etwas anderes als ein Array aus Arrays - zweidimensionale Arrays haben eine festgelegte Dimensionierung für jedes Element der 1. Dimension, während bei einem Array aus Arrays das 1. Element des Arrays ein Array mit 5 Elementen sein könnte und das 2. Element ein Array mit 3 Elementen.
Was aber in diesem Fall eine Besonderheit ist, ist, dass Zellbereiche immer ein Rechteck bilden, so dass ein zweidimensionale Arrays anscheinend problemlos transformiert und akzeptiert werden kann - das entspricht nicht der Spezifikation, aber es funktioniert, sogar entgegen der OOo-Wiki[quote]UNO does not recognize multi-dimensional sequences. Instead, a sequences can have elements that are also sequences.[/quote] Sowas nenne ich Komfortfunktion ;)
(dazu sei Dir noch erklärt, dass es einige Methoden gibt, die eine Sequenz, bzw eine Sequenz aus Sequenzen als Parameter verlangen, und ich befürchte, dass die wenigsten davon so nachsichtig sind wie .setDaraArray)