Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Karin am 19.02.03 - 09:20:35

Titel: @IsMember in LotusScript
Beitrag von: Karin am 19.02.03 - 09:20:35
Hallo,

Gibt es eine Übersetzung für @IsMember nach LotusScript?

Gruß Karin
Titel: Re:@IsMember in LotusScript
Beitrag von: Doc Torte am 19.02.03 - 09:30:54
ich würd die Feldwerte/ Liste als Array auslesen und dann mit einer Schleife duchsuchen, ist vielleicht nicht die beste, aber immerhin eine Methode.
Titel: Re:@IsMember in LotusScript
Beitrag von: Don Pasquale am 19.02.03 - 09:47:19
Das war mal irgendwo hier im Forum,
leider weiss ich nicht mehr wo.

Bei mir klappt das Prima

Function RoleEnabled(sRole As String) As Integer
   
   Dim vResult As Variant
   
   vResult = Evaluate(|@IsMember("| & sRole & |"; @UserRoles)|)
   
   If vResult(0) = 1 Then
      RoleEnabled = 1
   Else
      RoleEnabled = 0
   End If  'If vResult(0) = 1
   
End Function

Ciao

Don Pasquale
Titel: Re:@IsMember in LotusScript
Beitrag von: Axel am 19.02.03 - 10:28:08
Hi,

diesen Code habe ich mal im Web gefunden.

...
dim i as NotesItem, flag as integer

set i = doc.GetFirstItem("fieldname")
flag = false

forall v in i.Values
if cstr(v) = ValueToCheckFor$ then flag = true
end forall
...


Axel
Titel: Re:@IsMember in LotusScript
Beitrag von: ata am 19.02.03 - 11:00:18
... in R5 gibt es auch noch ArrayGetIndex( Array , Wert )

Dim vValue As Variant
Dim flag as Variant

flag = False
vValue = Evaluate("@UserRoles") ' # nur als Beispiel
If Not IsNull(ArrayGetIndex( vValue , "[Admin]") ) Then flag = true

ata
Titel: Re:@IsMember in LotusScript
Beitrag von: wflamme am 19.02.03 - 17:59:35
forall v in i.Values
if cstr(v) = ValueToCheckFor$ then flag = true
end forall

...
...then
 flag%=True
 Exit ForAll
...

Unnötig, die Liste nach einem Treffer noch weiter durchzuackern.
Titel: Re:@IsMember in LotusScript
Beitrag von: doliman am 19.02.03 - 18:04:23
Hi,

as gibt auch so etwas:

Syntax
IsElement ( listName ( stringExpr ) )
Elements
   listName
   The name of a defined list.
expr
   Any expression.
Titel: Re:@IsMember in LotusScript
Beitrag von: Axel am 19.02.03 - 18:29:19
forall v in i.Values
if cstr(v) = ValueToCheckFor$ then flag = true
end forall

...
...then
 flag%=True
 Exit ForAll
...

Unnötig, die Liste nach einem Treffer noch weiter durchzuackern.

Richtig! Ich habe den Code aus dem Web geladen aber selbst noch nicht getestet und optimiert.


@doliman
Das ist auch möglich, aber nur dann wenn eine Liste vorliegt. Mit einem Array oder einer Variant-Variablen funktioniert das nicht. Du mußt dann erst eine Liste draus machen.

Axel