Domino 9 und frühere Versionen > ND6: Entwicklung

Dateipfad ...

(1/1)

andrew22:
hi ho

Ich habe ne Schaltfläche und möchte gern Verzeichnisstruktur durchsuchen also openfiledialog und dann nur ne Verzeichnisauswahl machen ohne datei.

Also wie nen Durchsuchen Button allerdings soll dann im feld nur Verzeichnis Pfad stehen als z.B. C:\temp nicht C:\temp\bla.txt

 ???

diali:
ja mit der Win-API. Hatten wir glaube ich schon mal im Forum.

Axel:
Hi,

das hatten wir hier schon mal.

Guckst du hier: Nur Ordner auswählen

Bitte in Zukunft auch mal die Forensuche benutzen.


Axel

diali:
habs auf die Schnelle im Forum nicht gefunden
--- Code: ---'Dialog\OrdnerAuswahl:

Option Public

Public Type BrowseInfo
 hwndOwner     As Long
 pIDLRoot     As Long
 pszDisplayName As Long
 lpszTitle     As Long
 ulFlags        As Long
 lpfnCallback As Long
 lParam         As Long
 iImage         As Long
End Type

Const vbNullChar = &H0
Const vbNullString = &H0

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
Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (Byval lpString1 As String, Byval lpString2 As String) As Long

Public Function BrowseForFolder(Titel As String, hWnd As Long) As String
 Dim lngIDList As Long
 Dim strBuffer As String
 Dim usrBrowseInfo As BrowseInfo
 
 usrBrowseInfo.hwndOwner = hWnd
 usrBrowseInfo.lpszTitle = lstrcat(Titel, "")
 usrBrowseInfo.ulFlags = 3
 
 lngIDList = SHBrowseForFolder(usrBrowseInfo)
 If (lngIDList) Then
  strBuffer = Space(260)
  SHGetPathFromIDList lngIDList, strBuffer
  strBuffer = Fulltrim(strBuffer)
  If Right(strBuffer, 1) <> "\" Then strBuffer = strBuffer & "\"
  BrowseForFolder = strBuffer
 End If
End Function

Sub Initialize
 wert = BrowseForFolder("Ordnerauswahl",&H0)
 Msgbox wert
End Sub
--- Ende Code ---

Manfred Dillmann:
Ohne API gehts auch:

1. notesUIWorkspace.SaveFileDialog


--- Code: ---stringArray = notesUIWorkspace.SaveFileDialog( directoriesOnly , [title$] , [filters$] , [initialDirectory$] , [initialFile$] )

directoriesOnly
Boolean.
- True displays directories only.
- False displays directories and files.

This method returns a name. It does not save or perform any other action on files.
--- Ende Code ---

Sicherlich etwas merkwürdig zum Öffnen eine "Save"-Methode nehmen zu müssen.  ;)

2. uiws.Prompt


--- Code: ---Dim MeinOrdner As String
MeinOrdner = uiws.Prompt(14,"","")
--- Ende Code ---

Die "14" ist nicht dokumentiert, funktioniert aber wie gewünscht. Die anderen Parameter (Title and Prompt) werden dann aber ignoriert. Der Dialog ist dann nicht änderbar mit "Choose folder" benannt.

Gruß
Manfred

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln