Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: arcon am 06.06.03 - 13:01:56
-
Im folgen Script wird der User aufgefordert eine Verzeichniss zu wählen
wie kann ich da ein Vorgabeverzeichnis angeben (zB.: C:\Temp). ???
'Get Folder Declarations
Const BIF_RETURNONLYFSDIRS = 1
Const BIF_DONTGOBELOWDOMAIN = 2
Const MAX_PATH = 260
Private Type BrowseInfo
hWndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As String
ulflags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Declare Function SHGetPathFromIDList Lib "shell32" (Byval pidList As Long, Byval lpBuffer As String) As Long
Public Function GetDirectory(BoxTitle As String) As String
Dim lpIDList As Long
Dim sBuffer As String *260
Dim szTitle As String
Dim temp As String
Dim endpath As String
Dim filepath As String
Dim tBrowseInfo As BrowseInfo
tbrowseinfo.lpszTitle = BoxTitle
tBrowseInfo.ulflags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN
lpIDList = SHBrowseForFolder(tBrowseInfo)
If (lpIDList) Then
SHGetPathFromIDList lpIDList, sBuffer
temp = Left(sBuffer, Instr(sBuffer, Chr(0)) - 1)
endpath = "\"
filepath$ = temp + endpath
End If
GetDirectory = filepath$
End Function
THX
Arcon
-
Hi,
das wird über die Variable pIDLRoot in der BrowseInfo - Struktur vorgegeben. Ich war mal ein bisschen auf der Suche wie die Variable gesetzt werden könnte, habe aber auf die Schnelle nichts gefunden.
Am besten schaust du mal intensiver unter http://msdn.microsoft.com/library/default.asp (http://msdn.microsoft.com/library/default.asp).
Oder unser Win32-API - Papst eknori ;D ;) hat noch eine Lösung.
Axel
-
:-\ ist zwahr schon die Richtung nur bin ich so richtig schön hilflos wen ich mich da umsehe. Habe da zwahr was gefunden nur wich das nun in Notes umsetzten soll poeee kein Tau.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/shell_basics/shell_basics_programming/folder_id.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/shell_basics/shell_basics_programming/folder_id.asp)
Aber danke mal für die mühe falls noch was findest wähere ich natürlich happy ;)
THX
Arcon
-
Bin selber schon seit einiger Zeit auf der Suche :-[
Das Problem ist, dass der Pfad ein Variable des Typs Long ist. Also wie mache ich aus einem Pfad Namen eine Zahl? Es gibt Lösungen in VB, leider benutzen diese alles "Addressof" und das gibts nicht in LS.
-
hier (http://www.vbarchiv.net/archiv/tipp_1089.html) ganz unten ist ne Funktion, die das scheinbar ohne AdressOf machen kann. Habs selber aber nicht probiert