Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Нестандартные приемы программирования Delphi - Ревич Ю.

Ревич Ю. Нестандартные приемы программирования Delphi — Спб.: БХВ-Петербург, 2005. — 560 c.
ISBN 5-94157-686-2
Скачать (прямая ссылка): nestandartniepriemiprogrammirovanie2005.djvu
Предыдущая << 1 .. 153 154 155 156 157 158 < 159 > 160 161 162 163 164 165 .. 218 >> Следующая

компонента PageControii, а по сути это будет просто укороченная процедура
демонстрации справки (см. ранее процедуру TForml. Ficiick):
procedure TPagesDlg.PageControllEnter(Sender: TObject); begin
(Демонстрация справки} i?
FileExists(ExtractFilePath(Application.ExeName)+'slide.htm') then
with FormAbout do begin
TabSheetl.Enabled:=True;
WebBrowse r 1. Naviga te (Ext ract Fi lePath (Appl ica tion. ExeName) +•
'slide.htm');
Caption:='Справка'; end; end;
Наконец, в модуле slide.pas надо сделать одну важную операцию. Все, что в
процедуре Formi.create относится к манипуляциям с настройками, надо
13 Зак. 1324
386
Глава 16
истанок" интервале, с |з Установитьцветраглти ЩсЖЬск
Р Демоистртоовггь ""ставку при вапусхе 17 СворачввгьвТтаупри.мхрыпм Р
Сворачеать в Tt"y при минимизации
Рис. 16.6. Вкладка Установки окна Справка SlideShow
перенести в обработчик события onActivate той же формы Formi- дело н том,
что форма FormAbout. создастся позже Formi, и когда вы обращаетесь к
свойствам ее компонентов из обработчика onCreate главной формы, их еще
просто не существует. Первую строку из этой процедуры (FormAbout. Labell.
caption: = ...) следует удалить. Ну, и последнее, что нужно сделать,-
переписать обработчик обращения к пункту меню seti (Установки):
procedure TForml.SetlClick(Sender: TObject); begin
(обращение к пункту меню Установки} with FormAbout do begin
if not FileExists(ExtractFilePath(Application.ExeName)
+'slide.htm') then TabSheetl.Enabled:=False;
Caption:='Установки';
PageControll.ActivePage:=TabSheet3; /выводим вперед Установки}
About help
387
ShowModal;
end;
and;
To что у нас должно получиться, представлено на рис. 16.6.
Ну, вот, кажется, и все с проектом SlideShow. Мы его много раз по ходу
дела "перелопачивали", и я надеюсь, что внимательному читателю это пойдет
на пользу - при этом мы рассмотрели множество самых разных вариантов
реализации тех или иных функций, которые в случае чего можно использовать
в своих программах. Наверняка, вы обнаружите ошибки и просто недоработки
- не стесняйтесь, пишите.
ГЛАВА 17
¦Ж
Регистрируем и инсталлируем
Как создать инсталлятор и деинсталлятор самостоятельно
Свидетельство № 990365 об официальной регистрации программы а реестре.
Случайно подсмотренное
Многофункциональные системы инсталляции FRIABLOC и FRIAPLAN помогут
быстро смонтировать сантехническое оборудование. Они снабжены всеми
необходимыми соединительными патрубками и фитингами и совместимы с
различными типами унитазов, биде, писсуаров и умывальников.
www.pipegystem.ru
Тот, кто будет утверждать, что самостоятельно создавать инсталлятор нет
никакого смысла - для этого есть множество разных программ, начиная с
монструозной Install Shield самой Delphi (правда, с красивым интерфейсом
результата) и заканчивая творениями безвестных умельцев- будет прав и
неправ одновременно. Прав - потому что действительно, все эти программы
наличествуют, и пользоваться ими, по крайней мере, не сложнее, чем делать
самому. А неправ- потому что самое трудное в создании инсталлятора
заключается не в том, чтобы его написать, а в том, чтобы сделать это
правильно. Ну и вообще - данная книга не о том, как пользоваться чужими
программами, а о том, как писать свои. Поэтому мы будем делать все
ручками. Кстати, а что именно делать? Мы в этой главе создадим
инсталлятор для переключателя раскладки клавиатуры LangSwitch, и тем
самым покончим и с ней. Для SlideShow и остальных наших программ мы
инсталляторы договорились не делать, потому что они располагаются
максимум в двух файлах (считая справку) и в систему не вмешиваются - так
зачем для них инсталлятор? Побольше бы таких программ делалось- меньше
было бы мусора в реестре и на диске, а манипуляторы типа "мышь" реже
выходили бы из строя.
390
Гпава 17
Но "переключалку" инсталлировать надо - там необходимо вносить изменения
в системные настройки, хоть и минимальные, но заставлять делать это
самого пользователя очень уж rio-любительски. А раз инсталлировать -
значит, и деинсталлировать. И так, чтобы ни следа не осталось! Я на своем
веку встретил буквально пару-тройку программ, которые выполняли бы
процедуру деинсталляции до конца корректно. Даже любимый браузер Firefox
все почти делает правильно, а вот папку Mozilla оставляет почти пустой,
но неубранной!
Я не буду вдаваться в тонкости устройства реестра, потому что это
бессмысленно - даже раритетная книга [36], специально этому делу
посвященная, охватывает едва ли треть необходимых сведений. Но почитать
ее перед сном очень рекомендую- общие принципы знать никогда не мешает.
Здесь же нам не придется даже понимать, какие бывают разновидности ключей
и их параметров - мы просто воспользуемся чужим (моим) опытом и сделаем
вес по шаблону. Некоторые дополнительные пояснения я дам по ходу дела.
Заметки на полях__________________________________________________
А как вообще стоит использовать реестр? Например, нужно ли переносить
Предыдущая << 1 .. 153 154 155 156 157 158 < 159 > 160 161 162 163 164 165 .. 218 >> Следующая