Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.05.2009, 15:03
Aндрей Aндрей вне форума
Прохожий
 
Регистрация: 16.02.2009
Адрес: Брянск
Сообщения: 34
Репутация: 10
По умолчанию Помогите с компонентом

На форме нужно разместить компонент, с помощью которого в Edit можно указать путь до какого-нибудь файла. Есть в принципе компонент ShellTreeView, но в нем отображается путь только до папки.. Очень хорошо подходит компонент OpenDialog, но только можно ли его разместить на форме? или посоветуйте что-нибудь еще.
Ответить с цитированием
  #2  
Старый 13.05.2009, 15:11
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Поместите на форму компоненты TEdit,TButton,TOpenDialog
В событии нажатие TButton выполняйте метод TOpenDialog.Execute.
Результат TOpenDialog.FilePath записывайте в TEdit
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 13.05.2009, 15:21
Aндрей Aндрей вне форума
Прохожий
 
Регистрация: 16.02.2009
Адрес: Брянск
Сообщения: 34
Репутация: 10
По умолчанию

Спасибо, но я знаю что так можно сделать, а можно ли, чтобы не при нажатии на кпопку открывалось окно (TOpenDialog) и в нем выбираешь, а допустим форму открываешь и на ней сразу лежит компонет, типо TShellTreeView??
Ответить с цитированием
  #4  
Старый 13.05.2009, 15:29
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Ничего непонял. Еще раз поподробнее.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 13.05.2009, 16:00
Aндрей Aндрей вне форума
Прохожий
 
Регистрация: 16.02.2009
Адрес: Брянск
Сообщения: 34
Репутация: 10
По умолчанию

Открываю форму "Извлечение данных" из контейнера(т.е. из архивного файла), на нем компонент tshelltreeview, но он видит только папки, а файлы не видит..

Последний раз редактировалось Aндрей, 19.10.2009 в 20:44.
Ответить с цитированием
  #6  
Старый 13.05.2009, 16:19
Nyctos Kasignete Nyctos Kasignete вне форума
Активный
 
Регистрация: 29.03.2009
Сообщения: 300
Репутация: 94
По умолчанию

Aндрей, так вы задайте для ShellTreeView атрибут ObjectTypes, чтобы отображались и файлы тоже...
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
  ShellTreeView1.ObjectTypes := [otFolders, otNonFolders];
end;
Или то же в Объектном Инспекторе.
Ответить с цитированием
  #7  
Старый 13.05.2009, 16:43
Aндрей Aндрей вне форума
Прохожий
 
Регистрация: 16.02.2009
Адрес: Брянск
Сообщения: 34
Репутация: 10
По умолчанию

Спасибо большое.
Ответить с цитированием
  #8  
Старый 19.05.2009, 19:05
Aндрей Aндрей вне форума
Прохожий
 
Регистрация: 16.02.2009
Адрес: Брянск
Сообщения: 34
Репутация: 10
По умолчанию

Еще один маленький вопрос, а можно, чтобы из файлов которые отображаются в ShellTreeView, отображалиль только архивные файлы??

Последний раз редактировалось Aндрей, 19.05.2009 в 23:24.
Ответить с цитированием
  #9  
Старый 20.05.2009, 10:28
Аватар для Ferra
Ferra Ferra вне форума
Местный
 
Регистрация: 12.03.2006
Адрес: Минск
Сообщения: 527
Репутация: 1336
По умолчанию

есть маленький ответ можно

гм. сорцы этого компонента поставляются вместе с дельфой. Посмотри там, когда заполняется список - сделай фильр чтоб пропускал только архивы. По логике так. Пробуй.
__________________
Нет повести печальнее на свете, чем повесть о заклиневшем Resete.
Ответить с цитированием
  #10  
Старый 22.05.2009, 22:50
Aндрей Aндрей вне форума
Прохожий
 
Регистрация: 16.02.2009
Адрес: Брянск
Сообщения: 34
Репутация: 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  
Старый 23.05.2009, 01:33
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Можно. А надо ли? Ты видимо не то сравниваешь...
DisplayName - судя по названию - отображаемое имя. Попробуй поискать что-то вроде FileName или RealPath... Это уже будет лучше...
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #12  
Старый 23.05.2009, 12:47
Aндрей Aндрей вне форума
Прохожий
 
Регистрация: 16.02.2009
Адрес: Брянск
Сообщения: 34
Репутация: 10
По умолчанию

Спасибо, заработало
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 06:54.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter