![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Есть вот такая муть. Выбор каталога.
Все прекрасно кроме того, что немогу задать начальный каталог. Программирую очень мало. Инет изучил но все вогруг да около. Доработайте пожалуйста мой исходничек. Начальный каталог например D:\TMP; Код:
FillChar( BrowseInfo, SizeOf( TBrowseInfo ), #0 ); BrowseInfo.hwndOwner := FMain.Handle; BrowseInfo.pszDisplayName := DisplayName; TitleName := 'Выбери каталог.'; BrowseInfo.lpszTitle := PChar( TitleName ); BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS; lpItemID := SHBrowseForFolder( BrowseInfo ); if lpItemId <> nil then begin SHGetPathFromIDList( lpItemID, TempPath ); PathD := TempPath; ShowMessage(PathD); Показываем путь который выбрали. GlobalFreePtr( lpItemID ); end; Последний раз редактировалось Admin, 21.04.2008 в 20:16. |
#2
|
|||
|
|||
![]() помойму так:
SetCurrentDir('c://..') |
#3
|
|||
|
|||
![]() Не прокатывает. Там все намного сложнее.
![]() |
#4
|
|||
|
|||
![]() Ну может кто знает другой способ выбора каталога с предустановкой изначального пути??
|
#5
|
|||
|
|||
![]() Товарисч Jump правильно говорит.
Оператор SetCurrentDir('D:\TMP'); \\установит каталог TMP на диске D как текущий и все операции ввода вывода с файловой системой без указания пути будут проводится в этом каталоге. Что бы проверить используй функцию Label1.Caption := GetCurrentDir; |
#6
|
|||
|
|||
![]() Во первых, можно посмотреть в ShellControls реализации дерева каталогов (можно и свою форму для этого написать.
Во вторых, например, я нашел компонент, который дает теже возможности, как и BrowseForFolder плюс еще кучу всяких вкусностей, в т.ч. и установку начального каталога. Если я правильно понял в чем проблема. |
#7
|
|||
|
|||
![]() Цитата:
Может сюда выложешь??? |
#8
|
|||
|
|||
![]() Нашел на Тори.
Attached. |
#9
|
|||
|
|||
![]() Все отлично только еще маленькая просьба подсказать как этим пользоваться.
Потыкал и ничего не понял. Допер только до If FileBrowser1.execute Then ![]() пробовал переменную присваивать add : String; add := Filebrowser.GetNamePath; add := Filebrowser.SelectedDirectory; add := FileBrowser.GetNamePath; В add ничего не записывается после выбора каталога. |
#10
|
|||
|
|||
![]() Типа так:
Код:
dlgBrowse.Directory := InitDir; If dlgBrowse.Execute Then ShowMessage('User select ' + dlgBrowse.Directory + ' folder'); |
#11
|
|||
|
|||
![]() Ура ура ура!!! Все получилось! Огромное спасибо!
Разобрался. |