Domino 9 und frühere Versionen > Entwicklung
Parameter aus Profildocauslesen
Don Pasquale:
Hallo Leute,
ich hatte keine Lust mehr ständig in meinem Code dutzende
von zeilen zu haben, nur um einen parameter aus dem
Profildokument zu ziehen.
In meinem Code steht jetzt nur noch :
GesuchterParameter = getParam("GesuchterParameter")
Die Funktio sieht so aus und lässt sich beliebig erweitern,
oder was meint Ihr ?
Function getParam( PARAM As String) As String
' Funktion um Parameter aus dem ProfilDokument auszulesen
Dim PROFILDOC As String
PROFILDOC = "Options" ' Name der Form
' PARAMETER
' NAME : Name von was weiss ich
' PFAD : Pfad zu irgendeiner Datei
Dim pdoc As NotesDocument
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Set pdoc = db.GetProfileDocument( PROFILDOC )
PARAM= Ucase$(PARAM)
Select Case PARAM
Case "NAME" : getParam = pdoc.WilderFeldname(0)
Case "PFAD" : getParam = pdoc.GanzWilderFeldname(0)
Case Else : getParam = "False"
End Select
End Function
Das ist so banal, vielleicht habe ich deswegen nirgendwo
im Forum bisher gesehen.
Ciao
Don Pasquale
ata:
... wenn du nur mit diesem einen Profildokument arbeitest, dann wäre das OK...
ata
Don Pasquale:
Was wäre denn möglich ?
Ein Profildoc für die DB und eines für jeden User.
oder ?
Ciao
Don Pasquale
ata:
... ich hätte mich an die möglichen Parameter des @GetProfileField gehalten, dann hast du es volldynamisch...
Toni
koehlerbv:
"Beliebig zu erweitern" - das würde ich hier auf jeden Fall empfehlen, dann so funktioniert das ja nur mit Bezug auf ein bestimmtes ProfileDoc.
Vorab: Wenn das ProfilDoc nicht vorhanden ist - was ja passieren kann - geht Deine Routine baden.
ALso:
If pdoc Is Nothing then
'-> definierten Fehlercode setzen
Exit Function
End If
Vorschläge zur Erweiterung:
Parameter der Function aufbohren:
- Name des ProfileDocs
- Name des Users (ist dies ein Leerstring, wird das ProfileDoc dann nur mit dem Maskennamen geholt)
- Name des auszulesenden Items
Rückgabewert der Function: Variant (und immer ein Array)
Definierte "Garantie-Antwort" (für RTF):
Dim aResult (0 to 0) as Variant
DeinFunctionName = NULL (das ist der Fehlerwert der Function)
GetItem und Prüfung auf item Is Nothing (wenn ja - exit)
Wenn item = RTF:
aResult (0) = doc.GetItemValue ...
DeinFunctioName = aResult (so kriegen wir auch hier ein Array zurück!)
Wenn nicht RTF:
DeinFunctioName = doc.GetItemValue ...
Das mal nur so als ein paar Überlegungen ;-)
HTH,
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln