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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.06.2012, 18:09   #1
zingo
 
Регистрация: 25.05.2011
Сообщений: 4
Восклицание combox + ShellExecute

Ребят такой вопрос:
Выбираем нужную позицию в комбокс после этого он должен открыть файл.
и еще вопрос по поводу ShellExecute как задать путь к файлу, потому как путь к нему будет не всегда динамичным.
zingo вне форума Ответить с цитированием
Старый 11.06.2012, 21:09   #2
[DisAssembleR]
Пользователь
 
Регистрация: 30.06.2011
Сообщений: 28
По умолчанию

Пишешь в обработчике onChange у ComboBox
Код:
ShellExecute(Handle, 'open', PChar(ComboBox1.Items[ComboBox1.ItemIndex]), nil, nil, SW_SHOW);
Сработает лишь тогда, когда в ComboBox записаны пути к файлам:
С:\windows\bla-bla\test.exe;

Если в ComboBox только названия файлов с расширением, а файлы эти всегда будут находиться на диске С в ProgramFiles\MyFolder, то пиши такое в обработчике onChange:
Код:
ShellExecute(Handle, 'open', PChar(ComboBox1.Items[ComboBox1.ItemIndex]), nil, PChar('C:\'), SW_SHOW);

Последний раз редактировалось [DisAssembleR]; 11.06.2012 в 21:11.
[DisAssembleR] вне форума Ответить с цитированием
Старый 12.06.2012, 06:02   #3
zingo
 
Регистрация: 25.05.2011
Сообщений: 4
По умолчанию

а если адрес всегда будет менятся
Пишу диплом и не известно где его будем запускать)
zingo вне форума Ответить с цитированием
Старый 12.06.2012, 19:09   #4
[DisAssembleR]
Пользователь
 
Регистрация: 30.06.2011
Сообщений: 28
По умолчанию

Если неизвестно где, то лучше задавать путь вручную, либо ложить файлы в папку с exe.

Если файлы в одной папке с программой, используй это:
Код:
ShellExecute(Handle, 'open', PChar(ExtractFilePath(ParamStr(0)) + ComboBox1.Items[ComboBox1.ItemIndex]), nil, nil, SW_SHOW);
[DisAssembleR] вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать данные из БД в ComBox uni Microsoft Office Excel 8 22.07.2011 08:20
ShellExecute frodo-94 Win Api 3 26.08.2010 13:36
ShellExecute arxidevill Общие вопросы Delphi 6 14.07.2010 12:00
ShellExecute san72 Общие вопросы Delphi 6 16.05.2009 22:55
ShellExecute doncova1 БД в Delphi 4 29.11.2006 18:20