Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

List Box [D7, XP]


lobach ©   (2006-09-11 08:59:00) 

Здраствуйте мастера, у меня такой вопрос:
У меня есть форма, на ней ListBox и кнопка, необходимо получить в ListBox'е список файлов какой-нибудь папки, например 'c:/123'. При нажатии кнопки выделенный файл должен запустится, подскажите как это организовать.


lobach   (2006-09-22 05:37:00) [1]


> FileListBox

Сеичас поглядим...


NickCoder   (2006-09-21 21:26:00) [2]

А не легче ли FileListBox взять!
Там уж через FileName все сделать!


lobach   (2006-09-11 19:19:00) [3]


> [8]


> [9]

Извините за кипиш, сам разобрался

procedure TForm1.Button2Click(Sender: TObject);
begin
if not (ShellExecute(Application.Handle, 'open', PChar(ListBox1.Items[ListBox1.itemindex]), nil, PChar(ExtractFileDir(ListBox1.Items[ListBox1.itemindex])), SW_NORMAL) > 32) then
WinExec(PChar('rundll32.exe shell32.dll,OpenAs_RunDLL ' + 'D:\'+ ListBox1.Items[ListBox1.itemindex]), SW_NORMAL )
end;


Путь не прописал...


Джо   (2006-09-11 19:04:00) [4]

> [9] lobach ©   (11.09.06 19:02)
> Фантастика!!!

Отнюдь нет. Где ищешь, там и находит.


Джо   (2006-09-11 19:04:00) [5]

> [8] lobach ©   (11.09.06 18:51)
> Спасибо за пример, всё нормал, принцип понял, список файлов
> получает, но сам файл не открывает, просто не находит, из
> за чего это???

Что значит "не запускает"? Как ты его "запускаешь"?


lobach   (2006-09-11 19:02:00) [6]

Еще такая фишка, сохранил проэкт, запустил его, и всё начало работать, но ищет файлы в своём каталоге, находит сам себя и свои исходники. Фантастика!!!


lobach   (2006-09-11 18:51:00) [7]


> PSPF2003

Спасибо за пример, всё нормал, принцип понял, список файлов получает, но сам файл не открывает, просто не находит, из за чего это???


PSPF2003   (2006-09-11 12:21:00) [8]

procedure TForm1.Button1Click(Sender: TObject);
var
 SearchRec: TSearchRec;
begin
 ListBox1.Clear;
 if FindFirst('c:' + '*.*', faAnyFile, SearchRec) = 0 then begin
   if (SearchRec.Name <> '.') or (SearchRec.Name <> '..') then
   ListBox1.Items.Add(SearchRec.Name);
   while (FindNext(SearchRec) = 0) do
     ListBox1.Items.Add(SearchRec.Name);
 end;
end;

procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
   if not (ShellExecute(Application.Handle, 'open', PChar(ListBox1.Items[ListBox1.itemindex]), nil, PChar(ExtractFileDir(ListBox1.Items[ListBox1.itemindex])), SW_NORMAL) > 32) then
     WinExec(PChar('rundll32.exe shell32.dll,OpenAs_RunDLL ' + ListBox1.Items[ListBox1.itemindex]), SW_NORMAL )
end;


Dmitrij_K   (2006-09-11 12:11:00) [9]


> А можно пример??

см. [3]


lobach   (2006-09-11 12:10:00) [10]

А можно пример??


MBo   (2006-09-11 11:28:00) [11]

Да можно и без цикла, с использованием сообщения LB_DIR, но FindFirst все равно надо научиться пользоваться


Dmitrij_K   (2006-09-11 11:27:00) [12]

Поиск по форуму, в справке, в яндексе, гугле спасет ОРД


lobach   (2006-09-11 11:24:00) [13]

Это типа цикл нужен???


PSPF2003   (2006-09-11 09:08:00) [14]

FindFirst();
FindNext();
ShellExecute();


Наверх

Титульная страница Поиск, карта сайта Написать письмо