Autor Thema: [LS] prompt mit aliaswerten?  (Gelesen 2489 mal)

Offline fritandr

  • Global Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 742
  • Geschlecht: Männlich
  • Höre nie auf besser zu werden...
    • KAMMACHI Consulting GmbH
[LS] prompt mit aliaswerten?
« am: 25.02.05 - 16:47:23 »
Hallo,

ich möchte gerne meinen Anwendern mit LS eine Auswahlbox präsentieren. Nach Auswahl eines Wertes soll der dazu passende Alias genommen und weitergearbeitet werden.
Ich habe dafür zwar eine Lösung. Aber die kommt mir reichlich kompliziert vor. Deshalb hoffe ich auf Verbesserungsvorschläge von Euch.

Meine Lösung bisher:
Code
Sub Click(Source As Button)
On Error Goto ERRORHANDLER
Dim se As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim ws As New NotesUIWorkspace
Dim response As Variant
Dim resview As String
Dim values(3) As Variant
Dim rvalues(3) As String
Dim i As Integer '----- Schleifenzähler
Dim max As Integer '----- Anzahl Elemente in Values und rvalues
'----- Ansichten vorbelegen
values(0) = "Maileingang"
values(1) = "Mailausgang"
values(2) = "Alle Dokumente"
values(3) = "Diskussionsbeiträge"
'----- Aliase festlegen
rvalues(0) = "$Inbox"
rvalues(1) = "$Sent"
rvalues(2) = "$All"
rvalues(3) = "Mail Threads"
resview = ""
i = 0
max = 3
Set db=se.CurrentDatabase
'----- Ansicht oder Ordner auswählen, aus dem importiert wird
response = ws.Prompt (PROMPT_OKCANCELLIST, _
"Ansicht / Ordner wählen", _
"Bitte wählen Sie eine Ansicht oder einen Ordner aus.", _
values(0), values)
If Isempty (response) Then
'----- keine Auswahl getroffen
Messagebox "Die Aktion wurde vom Benutzer abgebrochen", , "Abbruch erfolgt"
Else
'----- Alias für die Auswahl holen
For i = 0 To max
If response = values(i) Then
resview = rvalues(i)
i = max
End If
Next
Messagebox resview, 64, "gewählte Ansicht"
End If
EXITSCRIPT:
Exit Sub
ERRORHANDLER:
Call ErrorMessage("shared Action: Mail importieren")
Resume EXITSCRIPT
End Sub

Mein erster Versuch war, die Werte bei values in der Form
   values(0) = "Maileingang|$Inbox"
zu definieren. Dabei wird mir dann aber der komplette String auch in meiner Auswahlbox angezeigt. Das will ich aber nicht.

Wie kann ich es besser (variabler) machen?

Viele Grüße
Andreas
« Letzte Änderung: 27.02.05 - 22:59:24 von fritandr »
Andreas Fritz

Offline cgorni

  • Junior Mitglied
  • **
  • Beiträge: 54
  • Geschlecht: Männlich
Re: [LS] prompt mit aliaswerten?
« Antwort #1 am: 25.02.05 - 16:55:46 »
Hallo,

bei Paaren von Werten kann man sehr gut die Listen von LotusScript benutzen, ungefähr so:
zuerst die Dimensionierung

      dim SelectionList list as string

dann Initialisieren:

     SelectionList("Maileingang") = "$Inbox"
     SelectionList("Mailausgang") = "$Sent"

Später die Auswahl des Users benutzen um den Alias zu bekommen:

    resview = SelectionList(response)

Ich gehe jetzt davon aus, das ein einzelner String in <response> steckt.

gruß,
Christian

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: [LS] prompt mit aliaswerten?
« Antwort #2 am: 25.02.05 - 17:23:56 »
Hallo Andreas,

um Christians Gedanken weiterzuführen.

Dein Teil würde dann so aussehen.

'----- Alias für die Auswahl holen
   Forall einzelwert In SelectionList
      If response = Listtag(einzelwert) Then
         resview = einzelwert
         Exit Forall
      End If
   End Forall

Aber bekanntlich führen viele Wege nach Rom.

Ich benutze Listen bei solchen Dingen ganz gerne, da man sich das zählen der Arrayeinträge sparen kann. Ausserdem kann man sich das Redimmen bei dynamischen Arrays sparen und statt dessen ggf. eine Liste verwenden.

Gruß Sascha

Offline fritandr

  • Global Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 742
  • Geschlecht: Männlich
  • Höre nie auf besser zu werden...
    • KAMMACHI Consulting GmbH
Re: [LS] prompt mit aliaswerten?
« Antwort #3 am: 27.02.05 - 20:53:45 »
Danke für die Tipps. Vielleicht sollte ich mir das Thema Listen doch mal intensiver ansehen.
Schätze, damit kann man sich in vielen Situationen das Leben erleichtern.

Viele Grüße
Andreas
Andreas Fritz

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz