Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Форум .::NoWa.cc::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Программирование > Delphi

Уважаемые пользователи nowa.cc. Мы работаем для вас более 20 лет и сейчас вынуждены просить о финансовой помощи по оплате за сервер.
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: Z021474945171 Webmoney WME: E159284508897 Webmoney WMUSDT: T206853643180
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!

Ответ
 
Опции темы Опции просмотра Language
Старый 21.06.2007, 11:13   #1
Пользователь
 
Аватар для Skazi
 
Пол:Мужской
Регистрация: 06.02.2006
Сообщений: 93
Репутация: 156
По умолчанию Delphi7 запуск программ из своего приложения.

1. Делаю для себя (для более удобной работы)
Есть программа в ней хочу сделать панель для запуска приложений реализую метод через ShellExecute (прописываю либо прямой путь к файлу либо стандартный путь к ярлыку в меню пуск)
путь к ярлыку
ShellExecute(0, nil, 'C:\Documents and Settings\All Users\Главное меню\Программы\CorelDRAW Graphics Suite 12\CorelDRAW 12',
nil, nil, SW_SHOWNORMAL);
прямой путь
ShellExecute(0, nil, 'C:\Program Files\The Bat!\thebat.exe',
nil, nil, SW_SHOWNORMAL);
2. Задача.
Шаг 1й Создать файл настроек (например ini) где будет 2 раздела
пример
[Command] (тут е нас будут содержаться строка к исполняемому файлу)
[Image] (а тут у нас будет путь к определенной bmpшке для программы)
соответтсвенно нумаряция строк будет учитываться относительно заголоква.
Шаг 2й Программно добавляем новый ярлык на панель быстрого доступа.
Шаг 3й Программа сама определяет кол-во строк в файле насроек (10 например) и создает именно такое же кол-во кнопок для запуска необходимых преложений.
(DelphiWorld непредлагать узать читал без толку).
Шаг 4й. на.р.на это все надо сам непойму тык как софт ставлю всегда в определенную папку, думаю просто захотелось гемороя.
Недопетриваю:
Как сказать программе что при прочтении кол-ва строк в файле создать именно такое же кол-во кнопок. (вообще реально ли, но думаю что да просто недопонимаю)

Добавлено через 8 минут
Ах да чуть незабыл почему захотелось гемороя:
Просто иногда попадаються разные версии програмного обеспечения и соответственно непрокатит не один из методов.
простой пример для запуска Adobe Reader 6.0 необходима прямая строка C:\Program Files\Adobe\Acrobat 6.0 CE\Reader, а для 7.0 C:\Program Files\Adobe\Acrobat 7.0 CE\Reader. т.е. Пути к испольняемому файлу несоответствуют, а раздувать код программы прописывая несколько путей я думаю смысла неимеет. Хотя исследования подтвердили что при описании нескольких путей к одному програмному продукту, запускаеться та версия которая была найдена. Но лишний код, лишнее время на обработку (Хотя какое лишнее время на Pentiumax D и их последующих собратьях).

Последний раз редактировалось Skazi; 21.06.2007 в 11:21.. Причина: Добавлено сообщение
Skazi вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама: Магазин бытовой техники: электрическая плита gorenje gecs6c70xc - переходи на сайт ТАЙМТВ!проект барнхаус 60штамп вырубной ювелирныйстоимость круиза на теплоходе казань ульяновскМебельный магазин: туристический стол складной - Переходи на сайт!


Старый 25.06.2007, 18:50   #2
DragonDr
Новичок
 
Пол:Мужской
Регистрация: 25.06.2007
Сообщений: 14
Репутация: 14
По умолчанию Ответ: Delphi7 запуск программ из своего приложения.

Для чтения ini файлов есть класс TIniFile, создаешь объект и читаешь из настроечного файла по разделам заданные пути с помощью метода
function ReadString(const Section, Ident, Default: String): String; override;

А для динамического создания кнопок достаточно написать в цикле

var b:tbutton;
begin
b:=tbutton.create(self);
b.parent:=self; // имееться ввиду текущая форма
b.top:=100; // что хочешь
b.left:=100; // что хочешь
b.visible:=true;
b.hint:= //можно присвоить путь к программе и при нажатии запускать ее
b.onclick:=Button1Click; // обработчик нажатия
end;
DragonDr вне форума
 
Ответить с цитированием Вверх
Старый 10.07.2007, 01:00   #3
Selya
Неактивный пользователь
 
Аватар для Selya
 
Пол:Мужской
Регистрация: 17.01.2007
Сообщений: 4
Репутация: 1
По умолчанию Ответ: Delphi7 запуск программ из своего приложения.

А ещё лучше не кнопки создавать, а список в TListBox выводить. А запуск на DblClick по элементу списка.
Selya вне форума
 
Ответить с цитированием Вверх
Старый 10.07.2007, 12:24   #4
lazutov
Неактивный пользователь
 
Пол:Мужской
Регистрация: 20.05.2007
Сообщений: 1
Репутация: 0
По умолчанию Ответ: Delphi7 запуск программ из своего приложения.

Легче,
ни издома можно выйдти черпез окнго, проползти прод столом ивыдти в дверь...
lazutov вне форума
 
Ответить с цитированием Вверх
Старый 11.07.2007, 16:05   #5
zuzick
Неактивный пользователь
 
Регистрация: 11.07.2007
Сообщений: 3
Репутация: 0
По умолчанию Ответ: Delphi7 запуск программ из своего приложения.

ShellExecute (0, 'open', 'C:\1.exe', nil, nil, SW_SHOW)
zuzick вне форума
 
Ответить с цитированием Вверх
Старый 11.07.2007, 17:19   #6
MonsieuR
Неактивный пользователь
 
Пол:Мужской
Регистрация: 18.05.2006
Сообщений: 44
Репутация: 43
По умолчанию Ответ: Delphi7 запуск программ из своего приложения.

Цитата:
Сообщение от Skazi Посмотреть сообщение
Как сказать программе что при прочтении кол-ва строк в файле создать именно такое же кол-во кнопок. (вообще реально ли, но думаю что да просто недопонимаю)

Почему не сделать проверку при прочтении настроек из ini?
=true -> создаешь кнопку
=false -> пропускаешь.
Цитата:
Сообщение от zuzick Посмотреть сообщение
ShellExecute (0, 'open', 'C:\1.exe', nil, nil, SW_SHOW)

Или так:

Uses ShellAPI;
ShellExecute(Handle, Nil, 'C:\1.exe', Nil, Nil, SW_SHOW);

Последний раз редактировалось MonsieuR; 11.07.2007 в 17:29..
MonsieuR вне форума
 
Ответить с цитированием Вверх
Старый 11.07.2007, 18:22   #7
formeram
Новичок
 
Пол:Мужской
Регистрация: 29.05.2007
Сообщений: 10
Репутация: 5
По умолчанию Ответ: Delphi7 запуск программ из своего приложения.

Попробуй найти компонент, запускающий любые файлы. Помоему в пакете Raise есть.
formeram вне форума
 
Ответить с цитированием Вверх
Старый 12.07.2007, 09:56   #8
Skazi
Пользователь
 
Аватар для Skazi
 
Пол:Мужской
Регистрация: 06.02.2006
Сообщений: 93
Репутация: 156
По умолчанию Ответ: Delphi7 запуск программ из своего приложения.

formeram, а полное название компонента именно такое чет в топе с компонентима поиском ненаходит.
Skazi вне форума
 
Ответить с цитированием Вверх
Старый 12.07.2007, 11:39   #9
Akeiro
Неактивный пользователь
 
Регистрация: 12.07.2007
Сообщений: 1
Репутация: 0
По умолчанию Ответ: Delphi7 запуск программ из своего приложения.

Цитата:
Сообщение от Skazi Посмотреть сообщение
Как сказать программе что при прочтении кол-ва строк в файле создать именно такое же кол-во кнопок. (вообще реально ли, но думаю что да просто недопонимаю)

У TINIFile есть отличный метод:
ReadSection(const Section: string; Strings: TStrings);

var
Items: TStringList;
INI: TINIFile;
......
INI := TINIFile.Create('settings.ini');
Items := TStringList.Create;
INI.ReadSection('Command', Items);
......
Получаешь в списке Items имена всех ключей секции Command
Соответственно, их количество - Items.Count

Ну а дальше цикл до Count-1 и создаешь свои кнопки, читая значения ключей через INI.ReadString('Command', Items[I], '')
Akeiro вне форума
 
Ответить с цитированием Вверх
Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск приложения от лица администратора... и еще одна проблемка... mope Microsoft Windows 17 27.10.2010 06:59
Запуск программ Gramazeka Архив 3 26.12.2009 12:55
Запуск полноэкранного приложения в окне AldeX Microsoft Windows 9 21.08.2007 18:19
запуск программ с задержкой kianovskiy Microsoft Windows 4 11.02.2007 17:29

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 21:28. Часовой пояс GMT +3.


Copyright ©2004 - 2026 NoWa.cc

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.05678 секунды с 13 запросами