Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.11.2008, 00:13   #1
Disday
Пользователь
 
Регистрация: 20.04.2008
Сообщений: 17
По умолчанию ListBox ----- выполнить выделенную строку!

Всем привет!
Вот такой вот вопрос у меня...
В ListBox выводятса программы содержашиеся в указанной директории(это не важно).. и вот как сделать так чтоб при шелчке на строку в ListBox1 это программа выполнилась?? если есть какиенибудь предложения прошу поделится заранее благодарен...
Disday вне форума Ответить с цитированием
Старый 05.11.2008, 00:21   #2
garik
Пользователь
 
Регистрация: 03.11.2008
Сообщений: 10
Сообщение

Программа всмысле ехе
Страшнее китайского алфавита только китайская азбука морзе
garik вне форума Ответить с цитированием
Старый 05.11.2008, 00:25   #3
garik
Пользователь
 
Регистрация: 03.11.2008
Сообщений: 10
Восклицание

Если программу, то функция
ShellExecute(Handle, nil, Pchar(путь к программе), nil, nil, SW_SHOW);
Страшнее китайского алфавита только китайская азбука морзе
garik вне форума Ответить с цитированием
Старый 05.11.2008, 00:26   #4
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Запускает EXE файл:
WinExec('C:\WINDOWS\NOTEPAD.EXE', SW_SHOWNORMAL);
Запускает определённый файл:
ShellExecute(Application.MainForm.H andle, nil, 'с:\boot.ini', '', 'с:\boot.ini', SW_SHOW);
Altera вне форума Ответить с цитированием
Старый 05.11.2008, 00:31   #5
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Цитата:
Сообщение от Disday Посмотреть сообщение
Всем привет!
Вот такой вот вопрос у меня...
В ListBox выводятса программы содержашиеся в указанной директории(это не важно).. и вот как сделать так чтоб при шелчке на строку в ListBox1 это программа выполнилась?? если есть какиенибудь предложения прошу поделится заранее благодарен...
Можете сделать так:
Код:
Uses
  ShellApi;

Procedure TForm1.ListBox1Click(Sender: TObject);
Begin
ShellExecute(Application.Handle,'Open',PChar(ListBox1.Items[ListBox1.ItemIndex]),Nil,Nil,SW_SHOWDEFAULT);
End;
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 05.11.2008, 00:50   #6
Disday
Пользователь
 
Регистрация: 20.04.2008
Сообщений: 17
По умолчанию

Не не парни может я не правильно обьяснил... шя поправлюсь!!! Представте ListBox там в каждой строке пути к программам!!! и надо сделать так чтоб при выделение любой строки тьфу ты не выделение а нажатие на любую строку запускалась программа соответствуяшая выбранной ссылки в компоненте LIstBox! ну типа я нажал на строчку и эта строчка выполнилась!!!!

зы. только exe!!!
Disday вне форума Ответить с цитированием
Старый 05.11.2008, 00:57   #7
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Цитата:
Сообщение от Disday Посмотреть сообщение
Не не парни может я не правильно обьяснил... шя поправлюсь!!! Представте ListBox там в каждой строке пути к программам!!! и надо сделать так чтоб при выделение любой строки тьфу ты не выделение а нажатие на любую строку запускалась программа соответствуяшая выбранной ссылки в компоненте LIstBox! ну типа я нажал на строчку и эта строчка выполнилась!!!!

зы. только exe!!!
Гляньте выше, я привёл такой вариант
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 05.11.2008, 01:03   #8
Disday
Пользователь
 
Регистрация: 20.04.2008
Сообщений: 17
По умолчанию

Спасибо канеш Terran работать то оно всё работает но ни могу понять почему из списка всех программ он запускает тока некоторые а не все!
вот например
E:\Программы\Удобности\punto switcher 2.9\punto switcher 2.9\Setup.exe
это он запустил
а это
не хочет((
E:\Программы\Удобности\Miranda Me Setup 0.9.1.exe
Disday вне форума Ответить с цитированием
Старый 05.11.2008, 01:09   #9
Disday
Пользователь
 
Регистрация: 20.04.2008
Сообщений: 17
По умолчанию

а да и ещё вопрос я забыл как знаки препинания ставить
FindFiles('E:\Программы\Удобности\' , '*.exe', ListBox1.Items, true);
вот чтоб вместо этой белеберды стояло типо
FindFiles('<Edit1.Text>', '*.exe', ListBox1.Items, true);
ну чтоб адресс самому можно было вводить вовремя выполнения программы!
я там знаки вроде не правильно поставил((( а как правильно не помню(((
Disday вне форума Ответить с цитированием
Старый 05.11.2008, 01:16   #10
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Что касается запуска файлов, то некоторые могут не запускаться из за неправильно указанного пути или имени. По поводу функции
Код:
FindFiles('E:\Программы\Удобности\', '*.exe', ListBox1.Items, true);
то по этой строчке от кода я точно сказать не могу что именно нужно использовать, если бы вы выложили полный код, то я бы тогда точно мог сказать, а так попробуйте
Код:
FindFiles(Edit1.Text,'*.exe', ListBox1.Items, true);
или тоже самое только с указанием типов.
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как выполнить умножение массива? valerij Microsoft Office Excel 10 23.09.2008 15:27
неободимо выполнить php мит PHP 1 01.09.2008 22:36
Как найти нужную строку в ListBox? DelphiKettle Помощь студентам 2 05.09.2007 22:02