B. Программирование приложения
а). Описание переменных #include " DateUtils.hpp" // включите данный модуль для работы с датой и временем AnsiString sMouth[]={" ", " января", " февраля", " марта", " апреля", " мая", " июня", " июля", " августа", " сентября", " октября", " ноября", " декабря" }; б). На событие формы onPaint напишите процедуру: void __fastcall TForm1:: FormPaint(TObject *Sender) { int h; //текущее время AnsiString mes; //сообщение int wt, ht; //размер области вывода текста int x, y; //координаты вывода текста h=HourOf(Now()); if (h< =4) mes=" Доброй ночи"; else if (h< 12) mes=" Доброе утро"; else if (h< =16) mes=" Добрый день"; else mes=" Добрый вечер"; Form1-> Font-> Name = " Times New Roman"; Form1-> Canvas-> Font-> Size = 20; wt=Canvas-> TextWidth(mes); //определение размера области вывода текста ht=Canvas-> TextHeight(mes); x=(ClientWidth - wt) / 2; y=ClientHeight / 2-ht; Canvas-> Brush-> Style=bsClear; //чтобы область была прозрачной Canvas-> TextOutA(x, y, mes); y=y+ht; //нижняя граница области вывода текста mes = FormatDateTime(" Сегодня d", Now()); //дата и день недели mes = mes + " " +sMouth[MonthOf(Now())]+", " +FormatDateTime(" dddd", Now()); Canvas-> Font-> Size -=4; wt= Canvas-> TextWidth(mes); ht=Canvas-> TextHeight(mes); x=(ClientWidth - wt) / 2; y = y+6; Canvas -> TextOutA(x, y, mes); } в). Напишите процедуру при изменении размера формы: void __fastcall TForm1:: FormResize(TObject *Sender) { Form1-> Refresh(); } 3. Задание для самостоятельного выполнения: 1 вариант. Измените цвет вывода текста на синий. 2 вариант. Измените размер шрифта, название шрифта, начертание для текста на произвольный 3 вариант. Добавьте в область вывода надпись «Пора работать» в зависимости от времени суток 4 вариант. Добавьте в область вывода надпись «Пора спать» в зависимости от времени суток 5 вариант. Добавьте в область вывода надпись «Отдых», «Работа» в зависимости от времени суток 6 вариант. Добавьте в область вывода надпись «Рабочий день», «Выходной» в зависимости от дня недели 7 вариант. Добавьте в область вывода надпись – текущий год с определением високосный он или нет. 8 вариант. Добавьте сообщение: сколько месяцев осталось до Нового года 9 вариант. Добавьте сообщение: сколько дней осталось до 1 июня 10 вариант. Добавьте сообщение: сколько дней осталось до Нового года 11 вариант. Добавьте сообщение: сколько дней осталось до вашего дня рождения 12 вариант. Добавьте сообщение: сколько дней осталось от сегодняшнего числа до введённой вами даты
|