Domino 9 und frühere Versionen > ND6: Entwicklung

Verständnisproblem: Zugriff auf Variable

(1/2) > >>

littleS:
Hallo,

wenn ich mir im debugger "gdoc" anschaue, sehe ich unter
gdoc.items[x].name ="Test"
gdoc.items[x].type = 1280
gdoc.items[x].values[0]="3" bzw.
gdoc.items[x].values[1]="5"

Jetzt dachte ich eigentlich ich könnte in Formula über
Test[0] den Wert "3" erhalten. Es gibt dann allerdings die Fehlermeldung
"Array Index out of bounds".

Wenn ich auf den Wert zugreifen kann, wollte ich in einer For-Schleife dann alle Elemente in Test durchlaufen, aber so weit bin ich noch nicht.

Kann mir jemand auf die Sprünge helfen?


s.

Semeaphoros:
Kann man eigentlich in der Hilfe unter NotesItem sehr genau nachlesen. Was Du brauchst, ist

Test.Values (i)


** edit **

müssen natürlich runde Klammern und nicht eckige sein ...

Axel:
Hi,

ein Blick in die Designer-Hilfe wirkt manchmal Wunder.


--- Zitat ---Beispiele: @For

1. Dieser Agent zeigt nacheinander alle Elemente des Felds "Kategorien" an.

@For(n := 1; n <= @Elements(Kategorien); n := n + 1;
  @Prompt([OK]; "Kategorie " + @Text(n); Kategorien[n])
)



--- Ende Zitat ---

Bei der Formelsprache ist der Index des ersten Elementes 1 und nicht wie bei Script 0.
Test[1] würde dann bei dir den Wert "3" ergeben.



Axel

Axel:
@Jens,

du warst mal wieder schneller.  ;)

Aber ich denke hier geht's eigentlich um die Formelsprache.

Axel

animate:
Kann sein, dass es um Formelsprache geht, die Fehlermeldung kenne ich nur von Script, deshalb poste ich meinen Senf zu Script:

notesDocumemt.getFirstItem(ITEMNAME) liefert ein NotesItem zurück

notesItem.Values liefert ein Array mit den Werten zurück, die das Item hält

array(i) liefert dir das Element des Arrays, das an der i-ten Stelle steht (wobei 0 oder 1 die Basis ist, je nach Einstellung)

Für dein Vorhaben musst du das kombinieren, analog zur Hierarchie, die der Debugger dir anzeigt:

notesDocument.getFirstItem(ITEMNAME).Values(i)


ich empfehle, Feldnamen als Konstanten zu deklarieren und dann die Konstanten mit der GetFirstItem-Methode zu verwenden wie gezeigt, anstelle der abgekürzten Form.
Also nicht
notesDocument.Test
sondern
notesDocument.GetFirstItem("Test")

Erspart Schreibfehler und daraus resultierende Folgefehler.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln