|
|
Регистрация | << Правила форума >> | 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
|
||||
|
||||
есть маленький ответ можно
гм. сорцы этого компонента поставляются вместе с дельфой. Посмотри там, когда заполняется список - сделай фильр чтоб пропускал только архивы. По логике так. Пробуй. Нет повести печальнее на свете, чем повесть о заклиневшем Resete. |
#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... Это уже будет лучше... Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#12
|
|||
|
|||
Спасибо, заработало
|