Domino 9 und frühere Versionen > ND6: Entwicklung
Verständnisproblem: Zugriff auf Variable
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