Autor Thema: [LS] prompt mit aliaswerten?  (Gelesen 2386 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