Autor Thema: Verständnisproblem: Zugriff auf Variable  (Gelesen 1330 mal)

Offline littleS

  • Junior Mitglied
  • **
  • Beiträge: 78
Verständnisproblem: Zugriff auf Variable
« am: 20.05.05 - 11:56:18 »
Hallo,

wenn ich mir im debugger "gdoc" anschaue, sehe ich unter
gdoc.items
  • .name ="Test"

gdoc.items
  • .type = 1280

gdoc.items
  • .values[0]="3" bzw.

gdoc.items
  • .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.
« Letzte Änderung: 20.05.05 - 12:39:44 von littleS »

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Verständnisproblem: Zugriff auf Variable
« Antwort #1 am: 20.05.05 - 12:06:22 »
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 ...
« Letzte Änderung: 20.05.05 - 12:24:57 von Semeaphoros »
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Verständnisproblem: Zugriff auf Variable
« Antwort #2 am: 20.05.05 - 12:09:18 »
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])
)



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
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Verständnisproblem: Zugriff auf Variable
« Antwort #3 am: 20.05.05 - 12:11:09 »
@Jens,

du warst mal wieder schneller.  ;)

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

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re: Verständnisproblem: Zugriff auf Variable
« Antwort #4 am: 20.05.05 - 12:18:40 »
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.
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline littleS

  • Junior Mitglied
  • **
  • Beiträge: 78
Re: Verständnisproblem: Zugriff auf Variable
« Antwort #5 am: 20.05.05 - 12:39:33 »
Danke für die prompte Hilfe.


s.

Marinero Atlántico

  • Gast
Re: Verständnisproblem: Zugriff auf Variable
« Antwort #6 am: 20.05.05 - 12:45:25 »
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")
I second that.

Braucht man für eine Operation mehrere Felder in einem Dokument kann man dann die Feldnamen in Arrays oder sogar in KOnfigurationsdokumente schreiben. *
Das ist oft wirklich übersichtlicher als diese endlosen Listen von Feldnamen mit verkürzter Syntax.

Eine leichte Variation - wobei man dort das von Thomas angesprochene Feature des Autochecks, ob dieses Item in dem Dokument überhaupt vorhanden ist nicht hat - ist diese Syntax:
doc.getItemValue("nameItem") --> gibt Array zurück
oder:
doc.getItemValue("nameItem")(0)
--> gibt ersten Wert zurück. Datentyp abhängig von Datentyp Item.

Axel


* Das letzte erinnert mich dann ein bischen an den beancontainer von dem Springfr.  :-X

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz