Autor Thema: Script FileDialog Datei-Verzeichnis auswählen ??!!  (Gelesen 1682 mal)

Offline tdoepper

  • Frischling
  • *
  • Beiträge: 4
  • I love YaBB 1G - SP1!
Hallo,

habe folgendes Problem:

in Script kann ich über OpenFileDialog dem User ermöglichen, mittels des Datei-Browsers eine Datei auf seiner Platte auszuwählen. Wenn eine Ausgabedatei auf die Platte geschrieben soll, wie kann ich es dann dem User ermöglichen, ein Dateiverzeichnis per Datei-Browser auszuwählen, in das die Datei dann später gespeichert wird. Mit OpenFileDiaog können nur Dateien, keine Datei-Verzeichnisse ausgewählt werden.

Gruss
Thomas


Glombi

  • Gast
Re: Script FileDialog Datei-Verzeichnis auswählen
« Antwort #1 am: 21.08.02 - 13:20:52 »
Hi,
hier ist ein Beispiel:
Gruß
Andreas

(Declarations)
Private Const BIF_RETURNONLYFSDIRS = 1
Private Const BIF_DONTGOBELOWDOMAIN = 2
Private Const MAX_PATH = 260

Private 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

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

Sub Click(Source As Button)
'Opens a Browse Folders Dialog Box that displays the
'directories in your computer
Dim lpIDList As Long ' Declare Varibles
Dim sBuffer As String
Dim szTitle As String
Dim tBrowseInfo As BrowseInfo

szTitle = "Hello World. Click on a directory and " & _
"it's path will be displayed in a message box"

' Text to appear in the the gray area under the title bar
' telling you what to do

tBrowseInfo.hWndOwner = 0
tBrowseInfo.lpszTitle = lstrcat(szTitle, "")
tBrowseInfo.ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN

lpIDList = SHBrowseForFolder(tBrowseInfo)

If (lpIDList) Then
sBuffer = Space(MAX_PATH)
SHGetPathFromIDList lpIDList, sBuffer
sBuffer = Left(sBuffer, Instr(sBuffer, Chr(0)) - 1)
Msgbox sBuffer
End If
End Sub
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz