![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
На форме нужно разместить компонент, с помощью которого в Edit можно указать путь до какого-нибудь файла. Есть в принципе компонент ShellTreeView, но в нем отображается путь только до папки.. Очень хорошо подходит компонент OpenDialog, но только можно ли его разместить на форме? или посоветуйте что-нибудь еще.
|
|
#2
|
||||
|
||||
|
Поместите на форму компоненты TEdit,TButton,TOpenDialog
В событии нажатие TButton выполняйте метод TOpenDialog.Execute. Результат TOpenDialog.FilePath записывайте в TEdit |
|
#3
|
|||
|
|||
|
Спасибо, но я знаю что так можно сделать, а можно ли, чтобы не при нажатии на кпопку открывалось окно (TOpenDialog) и в нем выбираешь, а допустим форму открываешь и на ней сразу лежит компонет, типо TShellTreeView??
|
|
#4
|
||||
|
||||
|
Ничего непонял. Еще раз поподробнее.
|
|
#5
|
|||
|
|||
|
Открываю форму "Извлечение данных" из контейнера(т.е. из архивного файла), на нем компонент tshelltreeview, но он видит только папки, а файлы не видит..
Последний раз редактировалось Aндрей, 19.10.2009 в 20:44. |
|
#6
|
|||
|
|||
|
Aндрей, так вы задайте для ShellTreeView атрибут ObjectTypes, чтобы отображались и файлы тоже...
Код:
procedure TForm1.FormCreate(Sender: TObject); begin ShellTreeView1.ObjectTypes := [otFolders, otNonFolders]; end; |
|
#7
|
|||
|
|||
|
Спасибо большое.
|
|
#8
|
|||
|
|||
|
Еще один маленький вопрос, а можно, чтобы из файлов которые отображаются в ShellTreeView, отображалиль только архивные файлы??
![]() Последний раз редактировалось Aндрей, 19.05.2009 в 23:24. |
|
#9
|
||||
|
||||
|
есть маленький ответ
можно ![]() гм. сорцы этого компонента поставляются вместе с дельфой. Посмотри там, когда заполняется список - сделай фильр чтоб пропускал только архивы. По логике так. Пробуй. |
|
#10
|
|||
|
|||
|
Нашел в инете такой фильтр.
Код:
uses masks; procedure TForm2.ShellTreeView1AddFolder(Sender: TObject; AFolder: TShellFolder; var CanAdd: Boolean); begin CanAdd := AFolder.IsFolder or MatchesMask(AFolder.DisplayName, '*.*') end; Пробовал задать, чтобы пропускал только *.arj, но он почему-то не видит arj-архивов, видит только если к имени этих архивов добавить .arj. А можно ли сделать, чтобы он пропускал тогда любые архивные файлы? |
|
#11
|
||||
|
||||
|
Можно. А надо ли? Ты видимо не то сравниваешь...
DisplayName - судя по названию - отображаемое имя. Попробуй поискать что-то вроде FileName или RealPath... Это уже будет лучше... |
|
#12
|
|||
|
|||
|
Спасибо, заработало
![]() |