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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2008, 12:53   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Вопрос ListBox, запуск программ

Добрый день! Вот у меня есть на форме компоненты: две кнопки, listbox. Подскажите пожалуйста как можно сделать так, чтобы когда я нажав на кнопку в своей программе, мог найти и взять (через диалоговое окно) какой нибудь ехе-шный файл какой то программы, и после того как я его выбрал, то этот бы файл поместился в listbox (или его путь, незнаю как правильнее сказать), потом нажать на другую кнопку и эта программа бы запустилась бы. Как это можно сделать? Может у кого то есть какие нибудь наработки в этом плане?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 07.11.2008, 13:12   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

uses ShellAPI
добавте OpenDialog (можно настроить фильтр на *.EXE)
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
if form1.OpenDialog1.Execute then
form1.ListBox1.Items.Add(form1.OpenDialog1.FileName);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  ShellExecute(Handle,'open',PChar(form1.ListBox1.Items.Strings[form1.ListBox1.ItemIndex]),nil,nil,SW_SHOW)
end;
SERG1980 вне форума Ответить с цитированием
Старый 07.11.2008, 13:43   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

SERG1980, спасибо дружище!!)) Ты в очередной раз мне помог. А вот такой вопрос еще возник по ходу работу: как сделать, чтобы к имени файла в listbox добавлялась еще иконка приложения? И вообще, можете привести пример кода, который бы показывал как в Windows работает пункт меню "Вид"? То есть как можно изменить вид отображения названия файлов: список, значок и т.д. В принципе на второй вопрос в этом посте если не хотите отвечать, то можете не отвечать, просто, чисто для интереса и так сказать эрудиции любопытно)). Может знаете про первый вопрос? Чтобы красивее было)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 07.11.2008, 14:36   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Вот пример как вывести на форму, просто времени щас нет
Код:
procedure TForm1.Button1Click(Sender: TObject);
var a:integer;
Icon: TIcon;
begin
Icon := TIcon.Create;
if form1.OpenDialog1.Execute then
form1.ListBox1.Items.Add(form1.OpenDialog1.FileName);
Icon.Handle:=ExtractIcon(0,PChar(OpenDialog1.FileName),0);
form1.Canvas.Draw(1,1, Icon);
Icon.Free;
SERG1980 вне форума Ответить с цитированием
Старый 07.11.2008, 15:16   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Ваш код я понял, но это немного не то, что нужно. Надо, чтобы значок был рядом (слева) с той программой, которая только что была открыта. Чтобы выглядело как в любом стандартном окне Windows (окно открытия, сохранения и т.д). Там отображается и иконка программы и само название программы. Вот что мне надо.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 07.11.2008, 18:13   #6
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Если листбох, сделайте отрисовку строк вручную, как вам нужно.
Непонятно:
Цитата:
Надо, чтобы значок был рядом (слева) с той программой, которая только что была открыта.
Это как должно выглядеть?
Alter вне форума Ответить с цитированием
Старый 07.11.2008, 18:29   #7
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
Если листбох, сделайте отрисовку строк вручную, как вам нужно.
в него и выводится у меня список программ выбранных. как сделать эту самую отрисовку?)
Цитата:
Надо, чтобы значок был рядом (слева) с той программой, которая только что была открыта.
Это как должно выглядеть?
Должно выглядеть также как это сделано в Windows. Выберите в Delphi команду File-Open вашему взору откроется диалоговое окно. Посмотрите как там расположены документы. Если выбрать отображение их как "список", то они и отображаются как список. Слева значок папки например, справа от него имя папки.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запуск программ по нажатию на картику (проблема со значком) ScorpioN_T Помощь студентам 8 01.11.2008 12:51
Запуск программ на хостинг-сервере Gordon PHP 2 10.09.2008 22:59
Сервис->запуск программ->не коректная работа Air Общие вопросы Delphi 2 26.03.2008 19:52
Запуск программ sinoptik Общие вопросы Delphi 6 04.05.2007 13:54
Загрузка программ из др. программ в АСМе Shacal Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 05.02.2007 08:53