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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.01.2008, 21:20
Serga Serga вне форума
Прохожий
 
Регистрация: 28.01.2008
Сообщения: 28
Репутация: 10
По умолчанию 2 listboxa

Вроде не видел...
Объясните такую вещь,пожалуйста: в ListBox1 выводятся результаты поиска подпапок в папке (FindRes и т д). Так вот, как при щелчке на строке ListBox1, заставить ListBox2 показывать файлы, находящиеся в этой подпапке?
Как к адресу нового поиска добавить значение в выделенной строке? ( FindRes := FindFirst('c:\\папка1\\' + p + '\\*.*', faAnyfile, SR;, где p - подпапка, выделенная в ListBox1. как это самое р получить???).
Ответить с цитированием
  #2  
Старый 28.01.2008, 21:41
~ SaM ~ ~ SaM ~ вне форума
Начинающий
 
Регистрация: 05.01.2007
Адрес: Днепропетровск
Сообщения: 141
Репутация: 25
По умолчанию

Код:
procedure TForm1.ListBox1Click(Sender: TObject);
var 
    p:string;
    i:integer;
begin
listbox2.Clear;
for i:=0 to listbox1.count-1 do begin
if listbox1.Selected[i]=true then p:=listbox1.items.strings[i];
end;

//А потом необходимо использовать процедуру поиска заново, но сообщить ей о том, что необходимо передавать информацию не в ListBox1, а в ListBox2.
end;
Ответить с цитированием
  #3  
Старый 28.01.2008, 21:43
~ SaM ~ ~ SaM ~ вне форума
Начинающий
 
Регистрация: 05.01.2007
Адрес: Днепропетровск
Сообщения: 141
Репутация: 25
По умолчанию

Да, забыл сказать, что не используй Multiselect в ListBox1.
Ответить с цитированием
  #4  
Старый 31.01.2008, 16:26
Serga Serga вне форума
Прохожий
 
Регистрация: 28.01.2008
Сообщения: 28
Репутация: 10
По умолчанию

Спасибо большое! только я использовал её в несколько сокращённом виде:
p:=listbox1.items.strings[listbox1.itemindex]

в общем то нужный эффект достигнут

Теперь у меня другой вопрос: как бы теперь по двойному щелчку выбранный в ListBox2 файл запускать (для определённости возмём .htm)???
Ответить с цитированием
  #5  
Старый 31.01.2008, 16:50
~ SaM ~ ~ SaM ~ вне форума
Начинающий
 
Регистрация: 05.01.2007
Адрес: Днепропетровск
Сообщения: 141
Репутация: 25
По умолчанию

Код:
procedure TForm11.ListBox1DblClick(Sender: TObject);
begin
if not FileExists(путь_к_файлу+его расширение) then begin
               application.messagebox('Выбранный файл отсутствует','Ошибка',0);
               exit;
               end else
     WinShellOpen(Путь_к_файлу+'.html');
end;

После двойного клика на строку будет ассоциативное выполнение выбранного файла.
Ответить с цитированием
  #6  
Старый 31.01.2008, 17:18
Serga Serga вне форума
Прохожий
 
Регистрация: 28.01.2008
Сообщения: 28
Репутация: 10
По умолчанию

Гм. А что означает
Unsatisfied forward or external declaration: 'TForm1.WinShellOpen'
?
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter