Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: domino23 am 05.02.13 - 12:04:32

Titel: "Anwendung öffnen" mit Script
Beitrag von: domino23 am 05.02.13 - 12:04:32
Moin,

ich stehe im Moment auf dem Schlauch, vielleicht kann mir jemand helfen.

Ich möchte per Script einen Dialog öffnen, in dem ich mehrere DB´s wählen kann.
Mit
Code
Dim filenames As Variant
	filenames = ws.Prompt( 13, "", "")
bekomme ich auch den Dialog und alles super. Wenn ich nur eine DB wähle, ist der Rückgabewert in filenames(1)
Code
"names.nsf"
auch schön.
Wenn ich aber mehrere DB´s auswähle, ist der Rückgabewert
Code
"""names.nsf"" ""namagent.nsf"""
und ich bekomme mit Notessession.Getdatabase die DB nicht geöffnet.

Wo kommen diese doppelten " her?
WIe bekomme ich die weg...?

Matthias

Titel: Re: "Anwendung öffnen" mit Script
Beitrag von: ascabg am 05.02.13 - 12:12:49
Hallo,

Ist ja vielleicht nicht wichtig, ABER hast Du Dir schon mal angeschaut, was in der Hilfe zu NotesUIWorkspace.Prompt steht, wenn
Du als Type die 13 (PROMPT_CHOOSEDATABASE) verwendest?

Der Rueckgabewert ist ein Variant Array.


Andreas
Titel: Re: "Anwendung öffnen" mit Script
Beitrag von: Peter Klett am 05.02.13 - 12:15:38
Wenn Du mehrere Datenbanken ausgewählt hast, ist der Button "Öffnen" ausgegraut. Vermutlich ist es nicht vorgesehen, mehrere Datenbanken auf diese Weise zu öffnen.
Titel: Re: "Anwendung öffnen" mit Script
Beitrag von: ascabg am 05.02.13 - 12:21:54
@Peter
Zitat
Wenn Du mehrere Datenbanken ausgewählt hast, ist der Button "Öffnen" ausgegraut. Vermutlich ist es nicht vorgesehen, mehrere Datenbanken auf diese Weise zu öffnen.
Will er das ueberhaupt?

Ich denke eher das er mit dem Rueckgabewert des Prompt-Aufrufes weiterarbeiten will.


Andreas
Titel: Re: "Anwendung öffnen" mit Script
Beitrag von: domino23 am 05.02.13 - 12:23:29
Ja, der Button ist ausgegraut aber der Button "Auswählen" nicht.
Und ein Array wäre ja auch truamhaft, aber warum sind da die doppelten und dreifachen " enthalten? Die sollen weg, dann bin ich ja am Ziel

Im Grunde ist mir die Funktion auch egal  :)
Aufgabe: Mehrere DBs wählen können und diese sauber in "irgendwas" speichern. Array, Variant, Liste- völlig egal. Nur ohne diese überflüssigen Anführungszeichen.

Wenn es eine andere Funktion oder einen anderen Weg gibt, dann freue ich mich über Tipps!
Die Funktion erschien mit am Sinnvollsten und sie macht ja auch zu 99% das, was ich erwarte.


Matthias
Titel: Re: "Anwendung öffnen" mit Script
Beitrag von: Axel am 05.02.13 - 12:28:35
Schau dir mal aus NotesUIWorkspace die Methode OpenFiledialog an. Der ist dem Öffnen - Dialog aus Windows nachempfunden.

Du mußt ein paar mehr Parameter entsprechend übergeben, dafür kannst du aber auch mehrere Datenbanken auswählen.

Axel
 
Titel: Re: "Anwendung öffnen" mit Script
Beitrag von: ascabg am 05.02.13 - 12:36:51
Dein eigentliches 'kleines' Problem duerfte wohl aber hierher kommen.

Zitat
For PROMPT_CHOOSEDATABASE, the return value is a three-element array of strings, containing the server, filepath, and title of the database, in that order;
Also, egal wieviele Datenbank Du auswaehlst, es wird immer ein Array mit 3 Elementen zurueckgegeben werden.


Andreas
Titel: Re: "Anwendung öffnen" mit Script
Beitrag von: dnotes am 05.02.13 - 12:45:15
Jetzt wurde es doch noch erkannt, dass es ein anderes Array zurück gibt.

Stör Dich nicht an den überflüssigen Anführungszeichen.
So geht´s:

Dim ws As New NotesUIWorkspace
   Dim filenames As Variant
   filenames = ws.Prompt( 13, "", "")
   Dim vv As Variant
   w = Split(filenames(1)," ")
'Als Beispiel mal das 2. Element aus w ausgewählt. Ein Loop über alle gewählten geht natürlich auch.
   Dim db As New NotesDatabase("",w(1))

*Anführungszeichen sind doch zu viel und müssen weg
Titel: Re: "Anwendung öffnen" mit Script
Beitrag von: Peter Klett am 05.02.13 - 12:46:31
Dann mach es so:

Sub Click(Source As Button)
   Dim ws As New NotesUIWorkspace
   Dim filenames As Variant
   filenames = ws.Prompt( 13, "", "")
   Dim dateinamen As Variant
   dateinamen = Fulltrim (Split (filenames (1), |"|))
End Sub

filenames (0) enthält den Server
dateinamen ist ein Array mit allen Dateinamen
Titel: Re: "Anwendung öffnen" mit Script
Beitrag von: koehlerbv am 05.02.13 - 12:48:03
... und filenames (2) enthält immer nur einen Titel, was man wohl als Bug bezeichnen muss.

Bernhard
Titel: Re: "Anwendung öffnen" mit Script
Beitrag von: domino23 am 05.02.13 - 13:18:08
Jo, vielen Dank Peter. So wirds gemacht.
Das Split hatte ich auch, aber kein Fulltrim...

Das mit dem Titel ist mir auch aufgefallen (wie der ausgegraute Button), aber den brauche ich auch nicht.

Vielen Dank!


Matthias
Titel: Re: "Anwendung öffnen" mit Script
Beitrag von: Mitch am 05.02.13 - 13:55:44
Zusätzlich zu dem komischen Format kommt bei mir noch ein Fehler wenn die Länge der Dateinamen (inklusive Pfad) zu lang wird ("Der angegebene Server- und Dateiname ist länger als 100 Zeichen").

Das nur als Hinweis, also nicht zu viele Datenbank in zu tiefen Verzeichnissen auf einmal auswählen. ;)

Gruß,

Mitch