Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: directory Добавлено: 02.09.03 23:42  

Автор вопроса:  ZoomerSD | ICQ: 148640473 

народ, подскажите как вывести окно в котором содержиться дерево папок(стандартное)

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 DAN



ICQ: 234826 

Вопросов: 10
Ответов: 124
 Web-сайт: visualbasic.boom.ru
 Профиль | | #1
Добавлено: 03.09.03 07:12

Есть примерчик. Если нужен - говори - вот моё мыло - a_daniyar@mail.ru

Ответить

Номер ответа: 2
Автор ответа:
 Malyav



ICQ: 8440085 

Вопросов: 15
Ответов: 117
 Web-сайт: malyav.narod.ru
 Профиль | | #2
Добавлено: 03.09.03 07:23

Public Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, _

    ByVal nFolder As Long, ppidl As Long) As Long

Public Const CSIDL_DRIVES = &H11

Public Type BROWSEINFO

    hwndOwner As Long

    pidlRoot As Long

    pszDisplayName As String

    lpszTitle As String

    ulFlags As Long

    lpfn As Long

    lParam As Long

    iImage As Long

End Type

Public Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" _

    (lpbi As BROWSEINFO) As Long

Public Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" _

    (ByVal pidl As Long, ByVal pszPath As String) As Long

Public Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal pv As Long)

 

 

 

Private Sub cmdOpenFolder_Click()

'frmPath.Show vbModal

    Dim bi As BROWSEINFO  ' structure passed to the function

    Dim pidl As Long  ' PIDL to the user's selection

    Dim physpath As String  ' string used to temporarily hold the physical path

    Dim retval As Long  ' return value

   

    ' Initialize the structure to be passed to the function.

Ответить
Номер ответа: 3
Автор ответа:
 Malyav



ICQ: 8440085 

Вопросов: 15
Ответов: 117
 Web-сайт: malyav.narod.ru
 Профиль | | #3
Добавлено: 03.09.03 07:25

Оба-на!!! Не все строки вставляются в ответ после отправки. Админ может насторожиться.

    ' Initialize the structure to be passed to the function.

    With bi

        ' The owner of the dialog box.

        .hwndOwner = Me.hWnd

        ' Specify the My Computer virtual folder as the root.

        retval = SHGetSpecialFolderLocation(Me.hWnd, CSIDL_DRIVES, .pidlRoot)

        ' Make room in the buffer to get the [virtual] folder's display name.

        .pszDisplayName = Space(260)

        ' Message displayed to the user.

        .lpszTitle = "Please choose a folder."

        ' Nothing else needs to be set.

        .ulFlags = 0

        .lpfn = 0

        .lParam = 0

        .iImage = 0

    End With

   

    ' Open the Browse for Folder dialog box.

    pidl = SHBrowseForFolder(bi)

    ' If the user selected something, display its display name

    ' and its physical location on the system.

    If pidl <> 0 Then

        ' Remove the empty space from the display name variable.

        bi.pszDisplayName = Left(bi.pszDisplayName, InStr(bi.pszDisplayName, vbNullChar) - 1)

        Debug.Print "The user selected: "; bi.pszDisplayName<

Ответить

Номер ответа: 4
Автор ответа:
 Malyav



ICQ: 8440085 

Вопросов: 15
Ответов: 117
 Web-сайт: malyav.narod.ru
 Профиль | | #4
Добавлено: 03.09.03 07:27

        Debug.Print "The user selected: "; bi.pszDisplayName

        ' If the folder is not a virtual folder, display its physical location.

        physpath = Space(260)

        retval = SHGetPathFromIDList(pidl, physpath)

        If retval = 0 Then

            Debug.Print "Physical Location: (virtual folder)"

        Else

            ' Remove the empty space and display the result.

            physpath = Left(physpath, InStr(physpath, vbNullChar) - 1)

            txtDest.Text = physpath 'path to selected folder

            Debug.Print "Physical Location: "; physpath

        End If

        ' Free the pidl returned by the function.

        CoTaskMemFree pidl

    End If

   

    ' Whether successful or not, free the PIDL which was used to

    ' identify the My Computer virtual folder.

    CoTaskMemFree bi.pidlRoot

End Sub

Ответить

Номер ответа: 5
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #5
Добавлено: 03.09.03 12:12
Я ставил оганичение на 7000 знаокв. Но тут явно меньше... Странно...

Ответить

Номер ответа: 6
Автор ответа:
 ZoomerSD



ICQ: 148640473 

Вопросов: 135
Ответов: 270
 Профиль | | #6 Добавлено: 03.09.03 19:22

to Malyav у меня тут ошибка выскакивает в строках

Public Const CSIDL_DRIVES = &H11

Public Type BROWSEINFO

может я что-то неопонял?

Ответить

Номер ответа: 7
Автор ответа:
 Malyav



ICQ: 8440085 

Вопросов: 15
Ответов: 117
 Web-сайт: malyav.narod.ru
 Профиль | | #7
Добавлено: 04.09.03 09:37
To zoomersd
Все объявления в модуле а не в коде формы. ПоэтомуПаблик и не прокатывает. На форме только кнопка и код в событии для нее.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам