|
#1
|
|||
|
|||
2 listboxa
Вроде не видел...
Объясните такую вещь,пожалуйста: в ListBox1 выводятся результаты поиска подпапок в папке (FindRes и т д). Так вот, как при щелчке на строке ListBox1, заставить ListBox2 показывать файлы, находящиеся в этой подпапке? Как к адресу нового поиска добавить значение в выделенной строке? ( FindRes := FindFirst('c:\\папка1\\' + p + '\\*.*', faAnyfile, SR;, где p - подпапка, выделенная в ListBox1. как это самое р получить???). |
#2
|
|||
|
|||
Код:
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
|
|||
|
|||
Да, забыл сказать, что не используй Multiselect в ListBox1.
|
#4
|
|||
|
|||
Спасибо большое! только я использовал её в несколько сокращённом виде:
p:=listbox1.items.strings[listbox1.itemindex] в общем то нужный эффект достигнут Теперь у меня другой вопрос: как бы теперь по двойному щелчку выбранный в ListBox2 файл запускать (для определённости возмём .htm)??? |
#5
|
|||
|
|||
Код:
procedure TForm11.ListBox1DblClick(Sender: TObject); begin if not FileExists(путь_к_файлу+его расширение) then begin application.messagebox('Выбранный файл отсутствует','Ошибка',0); exit; end else WinShellOpen(Путь_к_файлу+'.html'); end; После двойного клика на строку будет ассоциативное выполнение выбранного файла. |
#6
|
|||
|
|||
Гм. А что означает
Unsatisfied forward or external declaration: 'TForm1.WinShellOpen' ? |