# Öffnen Dialog



## enricohofmann (4. August 2004)

hi

wie kann ich denn einen öffnen dialog machen, also ich will im prinziep eine datei öffnen, oder muss ich das alles selbst bauen, gibt es da keinen standart ?

und bitte gleich sagen wie ich auf eine dateierweiterung begrenzen kann, und ich muss auch noch wissen wie ich dann den dateinamen als string in meinem progamm wieder habe.

mfg enrico hofmann


----------



## enricohofmann (4. August 2004)

ok habe das problem selbst gelöst, commondialog braucht man dazu


----------



## Filone (4. August 2004)

Wenn Du es unabhängig von einer Runtime machen willst, geht es auch mit der API :

Public Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long

Public Type OPENFILENAME
    lStructSize As Long
    hwndOwner As Long
    hInstance As Long
    lpstrFilter As String
    lpstrCustomFilter As String
    nMaxCustFilter As Long
    nFilterIndex As Long
    lpstrFile As String
    nMaxFile As Long
    lpstrFileTitle As String
    nMaxFileTitle As Long
    lpstrInitialDir As String
    lpstrTitle As String
    flags As Long
    nFileOffset As Integer
    nFileExtension As Integer
    lpstrDefExt As String
    lCustData As Long
    lpfnHook As Long
    lpTemplateName As String
End Type

Private Sub pctFileSearchUpload_Click()
'Datei mittels API suchen, OPENFILENAME-Struktur nutzen um
'suche einzuschränken
Dim OFName As OPENFILENAME
    OFName.lStructSize = Len(OFName)
    OFName.lpstrFile = Space$(254)
    OFName.nMaxFile = 255
    OFName.lpstrFileTitle = Space$(254)
    OFName.nMaxFileTitle = 255
    OFName.lpstrInitialDir = "C:\"
    OFName.lpstrTitle = "Mephisto - Dateibrowser"
    OFName.lpstrFilter = "Alle Dateien (*.*)" + Chr$(0) + "*.*"
GetOpenFileName OFName
frmFileTransfer.txtsource.Text = OFName.lpstrFile
End Sub


----------

