Übergabe von mehr als einer Zelle an eine Funktion?

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

juebo
Beiträge: 3
Registriert: So, 16.01.2005 22:35

Übergabe von mehr als einer Zelle an eine Funktion?

Beitrag von juebo »

Wie kann ich von Calc mehr als eine Zelle an Basic übergeben?
Also eben nicht Zellen von Basic aus lesen!
Als Array geht es irgendwie nicht:

Func tu_was (x()) ...

Der Inspector zeigt dann den Inhalt von X als {[ 1;2;3 ]} an.
Bei einem Array zeigt er aber { 1;2;3 }, also ohne "[" ! Die gängigen Befehle zur Bearbeitung von Array hauen dann auch nicht hin. Also ein
X(0) gibt es nicht ;-(

Wer kann mir da helfen?
Was ist X für ein Datentyp, und wie komme ich an den Inhalt ran?

Mfg
Juebo
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

Das Du das als Strings übergeben kannst dürfte Dir klar sein:

Func tu_was ("A1:A10";"A23";"B2:C14";...)

aber darum geht es Dir sicher nicht.
Die Funktion Summentest() http://www.bcwin.ch/ooo/basic/calc/calc ... in%20Basic bietet ein Beispiel für Dein Anliegen, allerdings kannst Du nur einen geschlossenen Zellbereich (mit beliebig vielen Zellen) übergeben. Ich weiß nicht wie Du mehrere Zellbereiche oder Zellen auf diese Art übergeben kannst.


Gruß
Stephan
juebo
Beiträge: 3
Registriert: So, 16.01.2005 22:35

2^10 mal Danke

Beitrag von juebo »

Hallo Stephan,

ich hatte mich gestern schon bedankt, aber magels Einloggung ist der Beitrag nicht gekommen (allerdings auch keine Warnung)!

Dein Link ist genau das, was ich gebraucht habe! Du hast Dir also ein Bier redlich verdient ;-)

Ich habe folgendes gelernt:
Die Zellen aus dem Sheet werden immer als zweidimensionales Array übergeben, auch wen nur eine Zeile selektiert ist.
Die Indices des Übergebenen Arrays fängt bei 1 an, nicht bei 0 !
Außerdem kann ich jetzt die Darstellung des "Inspektors" deuten.

Ich habe so ca. einen Tag an diesem Problem "geschraubt", bin aber der Lösung nicht wirklich näher gekommen :-( Dabei habe ich mir tonnenweise Doku aus dem Net gezogen, aber auf so "einfache" Aufgaben geht man da leider nicht ein :-(

Deine Hilfe war für mich also von unschätzbarem Wert! (Ausserdem habe ich OOo nicht "in die Tonne gekloppt" ;-)

Nochmal vielen Dank

Juebo


Noch ne Frage: Wie bist Du denn eigentlich an den Link gekommen? Bei mir geht es ab .../basic/ nicht mehr weiter.
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

Ich habe so ca. einen Tag an diesem Problem "geschraubt", bin aber der Lösung nicht wirklich näher gekommen Dabei habe ich mir tonnenweise Doku aus dem Net gezogen, aber auf so "einfache" Aufgaben geht man da leider nicht ein
ich habe (zu einem früheren Zeitpunkt) etliche Tage damit verbracht, diese Info zu finden. Die Überlegungen der damaligen Diskussion dürften Dir bekannt vorkommen: viewtopic.php?t=1454&highlight=parameter Meiner Erfahrung nach ist der genannte Link (http://www.bcwin.ch/ooo/basic/calc/calc ... in%20Basic) der einzige Link zu dieser speziellen Thematik im ganzen Netz.
Wie bist Du denn eigentlich an den Link gekommen? Bei mir geht es ab .../basic/ nicht mehr weiter.
Ich verstehe jetzt das mit "ab .../basic/ nicht mehr" nicht so ganz, aber ich habe den Link aus meiner "Codeschnipseldatenbank" rauskopiert - und Du hast ja gefunden was Du suchtest. Vielleicht ist ein kleiner Fehler bei der Webseite.


Gruß
Stephan
Antworten