Hallo Oliver,

[email protected] schrieb:
Hallo Liste,

ich spiele hier gerade mit Array in OOo-Basic (3.0.0) herum. Dabei fällt
mir auf, dass immer die Zählung bei 0 beginnt, auch wenn ich das Array
anders definiere, z.B. mit

dim a(1 to 7)
a = array ( "Montag" , "Dienstag" , "Mittwoch" , "Donnerstag" , "Freitag"
, "Samstag" , "Sonntag")


Dann ergibt a(1) den "Dienstag". Daran ändert sich auch nichts, wenn ich

Option Base 1

setze zu Beginn des Moduls. Ist das ein Fehler oder habe ich da etwas
übersehen?

Ich gehöre hier nicht zu den "Basic-Gurus", deshalb nimm meine Antwort mal mit Vorsicht.

Du vermischt zwei Konzepte, einmal die "echten" Felder und die Sequenzen.

Mit
dim a(1 to 7) as string erzeugst du ein echtes Feld. Dieses könntest dann mit
   a(1)="Montag"
   a(2)="Dienstag"
usw
füllen. Der Indexbereich geht hier dann von 1 bis 7

Mit
Array( "Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag") erzeugst du eine Sequenz. Der Indexbereich fängt dann immer bei 0 an. Die zugehörige Vereinbarung ist dann
  dim a as variant

Die Festlegung
   Option Base 1
wirkt nur auf "echte" Felder und zwar solche, die mit der Anzahl und nicht dem Indexbereich vereinbart werden. Möglich wäre also auch

   Option Base 1
und dann später
  dim a(6) as string
um einen Indexbereich von 1 bis 7 zu erhalten.

Wohin gegen mit 'Option Base 0' durch 'dim a(6) as string' der Indexbereich von 0 bis 6 erzeugt würde.

mfG
Regina

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Antwort per Email an