BCX Console Demonstration Program s126.bas
|
'-------------------------------------------------
' BrowseFolder -- Original by Jacob Navia
' Converted to BCX version by Kevin Diggins
'-------------------------------------------------
DIM Folder1$
IF BrowseDir("Choose a directory", Folder1$) THEN
PRINT "Chosen Folder: ", Folder1$
ELSE
PRINT "Action Cancelled"
END IF
FUNCTION BrowseDir (Title$, Result$)
'---------------------------------------
LOCAL pMalloc AS LPMALLOC
LOCAL browseInfo AS BROWSEINFO
LOCAL lpItemIDList AS LPITEMIDLIST
LOCAL Rc
'---------------------------------------
IF S_OK <> SHGetMalloc(&pMalloc) THEN EXIT FUNCTION
memset(&browseInfo, 0, SIZEOF(BROWSEINFO))
browseInfo.hwndOwner = GetActiveWindow()
browseInfo.pszDisplayName = Result$
browseInfo.lpszTitle = Title$
browseInfo.ulFlags = BIF_NEWDIALOGSTYLE
lpItemIDList = SHBrowseForFolder(&browseInfo)
IF lpItemIDList <> NULL THEN
Result$ = ""
IF SHGetPathFromIDList(lpItemIDList, Result$) THEN
IF LEN(Result$) > 0 THEN Rc = 1
END IF
pMalloc->lpVtbl->Free( pMalloc, lpItemIDList )
END IF
pMalloc->lpVtbl->Release(pMalloc) ' BCX is amazing !
FUNCTION = Rc
END FUNCTION
Result:
Result not displayed for this example.