среда, 28 сентября 2011 г.

Урок 19. Отключаемая заставка


Доброго времени суток.
С Вами Веселов Александр.

Пройдя урок 17, я оставил разработку программы "Расходы" в виде одной формы с меню, которое, собственно, и определяет набор тех функций будущей программы.
Но я бы чувствовал угрызения совести, если бы не рассказал в новом уроке о чем-то, о какой-то новой теме, которой не касался ранее. И, хотя я сам не сторонник украшательств, и точно знаю, что время, затраченное на "обезьяньи цвета" всегда полезней потратить на алгоритм и код, и не сомневаюсь в том, что имеющаяся в программе заставка при ежедневном использовании программы начинает раздражать уже на третьи сутки, я все же расскажу об одном из способов создания заставки программы.
Добавьте в проект новую форму File-New-Form Delphi For Win 32, исключив ее в свойствах проекта из автоматически загружаемых.
Установите в свойствах формы следующие значения:
Name - ZastavkaFRM,
Position - poScreenCenter, чтобы форма выводилась по центру экрана,
Height = 600, высота формы,
Width = 800, ширина формы (размеры могут быть любые),
BorderStyle - bsNone, чтобы убрать рамку вокруг формы (и все системные кнопки заодно).
Расположите на форме компонент TImage, придав его свойству Align значение alCliet, чтобы он растянулся по размерам формы. Загрузите посредством свойства Picture подготовленное заранее изображение.
С палитры "Системная" перетащите на форму компонент "TTimer". Задайте интервал срабатывания таймера 3000 миллисекунд.
Затем в обработчике события onTimer впишите строчку:
Timer1.Enabled:=False;
по которой таймер перейдет в выключенное состояние.
Чтобы была возможность отключать надоевшую форму заставки, добавьте в файл настроек Rashod.ini в секцию Constants ключ ShowZastavka и присвойте ему для начала значение 1, что мы будем понимать, как необходимость показывать форму заставки.
Далее нужно записать кое какие операторы в Source проекта (Меню Project-View Source), самый последний фрагмент которого до настоящего момента имел вид:
Application.Initialize;
Application.Title := 'Учет доходов и расходов';
Application.HelpFile := '';
Application.CreateForm(TMainFrm, MainFrm);
Application.Run;

Перед предпоследней строчкой (CreateForm), разместите следующий набор операторов:
If  ConnectionString='1'
then
begin
ZastavkaFrm := TZastavkaFrm.Create(Application);
ZastavkaFrm.Show;
ZastavkaFrm.Update;
while ZastavkaFrm.Timer1.Enabled doApplication.ProcessMessages;
ZastavkaFrm.Hide;
ZastavkaFrm.Free;
end;
Остается только один вопрос: откуда переменная ConnectionString получит значение? Ранее, для определения наличия файла настроек я использовал попытку считывания значения из секции General
ConnectionString:=Ini.ReadString('General','ConnectionString',''), но нам, ведь, не все ли равно, что считать из этого файла?
Я исправлю эту строчку:
ConnectionString:=Ini.ReadString('Constants','ShowZastavka','');
Обратите внимание, что попытка установить между последними апострофами значение по умолчанию, приведет к неправильной работе последующего алгоритма проверки существования файла настроек, что проиллюстрировано в соответствующем видео материале.
Наглядный видео урок Вы можете посмотреть или скачать.


Что же дальше?
Я думаю, что наступило время поговорить о подключении базы данных к проекту. 

Комментариев нет:

Отправить комментарий