<
  • Главная
Статьи

Програмування годин-календаря на C-Builder

Тут розповідається про те, як за допомогою Borland C ++ Builder 6 за лічені хвилини можна створити повноцінну програму цифрового годинника - календаря.


Перш ніж продовжувати теоретичне вивчення Borland C ++ Builder 6, створимо на практиці корисну програму, яку можна буде використовувати для відображення поточної дати і часу. Назвемо цю програму "Цифровий годинник - календар".


Запустіть Borland C ++ Builder 6 і почніть створення нового проекту. Помістіть на форму Form1 компонент Static Text з вкладки Additional візуальних компонентів, клацнувши по ньому двічі лівою кнопкою миші. Цей елемент буде служити нам циферблатом годин. Як такий елемент можна було б взяти і компонент Label, але на відміну від нього, Static Text володіє більш багатими можливостями оформлення (тобто розширеним набором властивостей). Змінимо деякі властивості цього компонента. Спочатку замінимо властивість Alignment (Вирівнювання) на taCenter (по центру), дня того щоб показання годин були в центрі вікна. Потім встановимо властивість BorderStyle (Стиль кордону) в sbsSunken (Утоплений) для додання циферблаті годинника елегантного зовнішнього вигляду. Властивість AutoSize (Автоматичний розмір) повинно мати значення true (Істина). Тепер розкриємо властивість Font (Шрифт) клацанням лівої кнопки миші по символу + (плюс) перед ним. Аналогічно клацанням лівою кнопкою миші по три крапки навпроти властивості Font відкриємо вікно для зміни шрифту тексту, який буде служити для відображення цифрових показників часу нашої програми годин (рис. 17.1).

1)

Мал. 17.1. Вікно для зміни шрифту тексту


Тут необхідно вибрати напівжирний шрифт Times New Roman або будь-який інший сподобався вам, встановити синій колір і розмір шрифту, рівний 30 одиницям. Зауважте, що в списку розміру шрифту відсутній розмір номер 30. Для того щоб його встановити, необхідно виділити поточний розмір шрифту за допомогою лівої кнопки миші і ввести з клавіатури новий розмір. Надалі ви завжди зможете змінити ці установки на свій розсуд.
Тепер очистимо властивість Caption, щоб при запуску програми не з'являвся напис Static Text1 на циферблаті програми годин. Компонент Static Text1 згорнеться при цьому до мінімальних розмірів. Нехай це не лякає вас. При роботі програми він автоматично прийме необхідні розміри завдяки його властивості AutoSize (Автоматичний розмір).


Далі помістіть на форму компонент таймера Timer з вкладки System, клацнувши по ньому двічі лівою кнопкою миші. Він дозволить нам автоматично оновлювати показання годин із заданою частотою. Місце його розміщення не має значення, оскільки цей компонент є невидимим і не відображається на екрані при роботі програми. Надалі ми будемо застосовувати в програмах і інші подібні приховані компоненти. Клацніть лівою кнопкою миші по компоненту таймера на формі. У вікні інспектора коду необхідно написати програму-оброблювач події. Її текст буде складатися з двох рядків (лістинг 17.1).

Лістинг 17.1. Обробник події таймера

StaticText1-> Caption = Now () .TimeString (); Form1-> Caption = Now (). DateString ();

Перший рядок привласнює властивості Caption (Заголовок) компонента StaticText1 значення поточного показання годин. Для цього використовується функція витягання з операційної системи поточного часу Now і виділення з нього свідчення годин TimeString в строковому форматі запису.
Наступний рядок виконує аналогічні дії, але вже для форми, і виділяє при цьому свідчення дати. Властивості компонента таймера повинні бути значення, вказані в табл. 17.1.

Таблиця 17.1. Властивості компонента Timer

ВластивістьЗначення

Enabled true Interval 1000 Name Timerl Tag 0

Дані властивості дозволяють автоматичну роботу таймера з інтервалом (періодичністю) 1000 мс.
Тепер змінимо властивості форми. Очистимо властивість Caption, щоб при запуску програми не з'являвся напис Form1 на заголовку вікна, і встановимо властивості AutoSize значення true. Після чого форма згорнеться до мінімальних розмірів. Остання дія ми зробили для того, щоб розмір наших програмних годин встановлювався автоматично, в залежності від шрифту індикаторів.
Збережіть модуль (текст) програми і сам проект під назвою utimedate.cpp і timedate.bpr відповідно. Для збереження проекту створіть нову папку (каталог), наприклад, з ім'ям TIMEDATE. Тепер запустіть програму за допомогою клавіші <F9>. Після трансляції проекту програма повинна запрацювати, і на екрані монітора відобразиться вікно годин, подібне до того, що наведено на рис. 17.2.

2

Мал. 17.2. вікно годин


Отже, наш годинник відображає поточний час на циферблаті і дату в заголовку програми. Їх можна переміщати в будь-яке місце екрану або згортати. Якщо клацнути лівою кнопкою миші по кнопці Отже, наш годинник відображає поточний час на циферблаті і дату в заголовку програми (Розгорнути), то годинник перемістяться в лівий верхній кут екрану, де не оудут закривати собою вікна інших програм.
Однак якщо ви запустите нову програму, наприклад Word, і розгорнете її на весь екран, то наш годинник сховаються. Для того щоб усунути цей недолік, відредагуємо ще одна властивість форми нашої програми. Зупиніть програму і замініть властивість FormStyle (Стиль форми) на fsStayOnTop (Перебувати нагорі). Збережіть проект і знову запустіть програму. Переконайтеся, що тепер годинник завжди знаходяться поверх інших вікон інших програм і не можуть бути приховані ними. Зауважте, що при створенні програм все вони мають значок (іконку) з одним і тим же малюнком у вигляді кварталу синіх будинків. Звичайно, зручно мати заготовку малюнка для значка нової програми, але погодьтеся, якщо всі наші програми будуть мати один і той же значок, втрачається сенс таких значків в якості піктограм. Адже вони призначені для графічного ототожнення призначення програми. Тому давайте навчимося змінювати значки для наших програм.
Для цього необхідно скористатися вбудованим в Borland C ++ Builder 6 інструментом Image Editor редактора малюнків. Знову зупиніть програму годин і клацніть лівою кнопкою миші по кнопці Tools головного меню. У списку, запустіть графічний редактор Image Editor. На екрані з'явиться вікно, наведене на рис. 17.3.

3

Мал. 17.3. Вікно графічного редактора

Виконайте в графічному редакторі команди File | New | Icon File і у вікні, Icon Properties (рис. 17.4) виберіть Size (Розмір) 32x32 і Color (колір) 16 color. Ці установки відповідають стандартним іконка для програм.

Мал. 17.4. Вікно Icon Properties


Після чого клацніть кнопку ОК. Перед вами відкриється нове вікно (рис. 17.5), в якому зліва наведено порожнє поле нової іконки в збільшеному масштабі для малювання, а праворуч - в масштабі 1: 1 для перегляду.

Мал. 17.5. Вікно нової іконки


За допомогою інструментів, розташованих зліва на поле інструментів графічного редактора, можна намалювати на порожньому полі іконки довільний малюнок і розфарбувати його, а також зробити будь-які символьні написи. Редактор дозволяє створювати іконки, курсори, бітові малюнки і файли ресурсів. Надалі ми ще не раз будемо вдаватися до його допомоги. Вбудована в редактор довідка дозволяє досить швидко навчитися користуватися цим інструментом. Фон іконки бірюзового кольору є прозорим за замовчуванням. Тому області іконки з таким кольором будуть просвічуватися на будь-якому фоні. Намалюйте на порожньому полі будь-який малюнок, наприклад табло з цифрами, і збережіть іконку з допомогою команди File | Save as | time.ico в каталозі з програмою цифрових годин - календаря. Закрийте графічний редактор.

Тепер у нас є файл іконки для програми і залишається лише впровадити його в програму. Для цього необхідно відкрити властивості проекту за допомогою команди Project | Options в середовищі розробки Borland C ++ Builder 6 або натиснути комбінацію клавіш <Ctrl> + <Shift> + <F11>. У вікні властивостей проекту (рис. 17.6) необхідно відкрити вкладку Application, і за допомогою кнопки Load Icon вибрати створений нами файл іконки time.ico.

Мал. 17.6. Вікно властивостей проекту


Закрийте вікно властивостей проекту, натиснувши кнопку ОК, і запустіть проект за допомогою клавіші <F9>. Після запуску програми ви побачите, що тепер програма має створену нами іконку, яку можна помістити на робочий стіл в якості піктограми програми.
Зверніть увагу на те, що програми, отримані в середовищі розробки з настройками "за замовчуванням", можуть не працювати на тих комп'ютерах, де не встановлений пакет Borland C ++ Builder 6. Це пов'язано з тим, що програми, створені за допомогою Borland C ++ Builder 6 , вимагають для своєї роботи деякі бібліотечні файли з розширенням bpl, dll, lib і т. п., яких може не виявитися на іншому комп'ютері. Для вирішення цієї проблеми потрібно змінити налаштування середовища розробки Borland C ++ Builder 6 так, щоб необхідні бібліотечні файли пакували в виконуваний файл програми. Від цього розмір файлу виконуваної програми збільшиться, але зате створена програма буде працювати на будь-якому іншому комп'ютері.

Налаштування середовища розробки Borland C ++ Builder 6 потрібно змінити наступним чином. Виконайте команду Project | Options. У вікні властивостей проекту відкрийте вкладку Compiler і натисніть програмну кнопку Release (рис. 17.7).

Мал. 17.7. Вікно вкладки Compiler властивостей проекту


Потім відкрийте вкладку Packages і зніміть прапорець перед рядком Build with runtime packages в групі Runtime packages (рис. 17.8).

8)

Мал. 17.8. Вікно вкладки Packages властивостей проекту

Нарешті відкрийте вкладку Linker і зніміть прапорець перед рядком Use dynamic RTL (рис. 17.9).

Мал. 17.9. Вікно вкладки Linker властивостей проекту

Тепер збережіть і Перекомпілюйте весь проект. Отриманий в результаті файл програми буде працювати на всіх комп'ютерах.
Програма готова! Повний проект даної програми разом з виконуваним файлом timedate.exe і файлом іконки Iconl.ico знаходяться в каталозі \ PROJECT \ TIMEDATE на диску, прикладеному до книги. Ви можете використовувати їх для порівняння з створеним вами проектом.
Отже, ми на практиці застосували в нашій програмі кілька візуальних компонентів і виконали зміна деяких їх властивостей. В результаті чого отримали працездатне і корисний додаток.

Завантажити файли проекту


Чи знаєте Ви, що модифікатори - це операції, які модифікують об'єкти відповідного їм типу. Наприклад, операція push для стека.

НОВИНИ ФОРУМУ НОВИНИ ФОРУМУ   Лицарі теорії ефіру 13
Лицарі теорії ефіру 13.06.2019 - 05:11: ЕКОЛОГІЯ - Ecology -> ПРОБЛЕМА ГЛОБАЛЬНОЇ ЗАГИБЕЛІ бджіл ТА ІНШИХ запилювачів РОСЛИН - Карім_Хайдаров.
12.06.2019 - 9:05: ВІЙНА, ПОЛІТИКА І НАУКА - War, Politics and Science -> Проблема державного тероризму - Карім_Хайдаров.
11.06.2019 - 18:05: ЕКСПЕРИМЕНТАЛЬНА ФІЗИКА - Experimental Physics -> Експерименти Серлі і його послідовників з магнітами - Карім_Хайдаров.
11.06.2019 - 18:03: ВИХОВАННЯ, ОСВІТА, ОСВІТА - Upbringing, Inlightening, Education -> Просвітництво від Андрія Маклакова - Карім_Хайдаров.
11.06.2019 - 13:23: ВИХОВАННЯ, ОСВІТА, ОСВІТА - Upbringing, Inlightening, Education -> Просвітництво від В'ячеслава Осієвського - Карім_Хайдаров.
11.06.2019 - 13:18: ВИХОВАННЯ, ОСВІТА, ОСВІТА - Upbringing, Inlightening, Education -> Просвітництво від Світлани Віслобоковой - Карім_Хайдаров.
11.06.2019 - 6:28: Астрофізики - Astrophysics -> До 110 річчя Тунгускою катастрофи - Карім_Хайдаров.
10.06.2019 - 21:23: ВИХОВАННЯ, ОСВІТА, ОСВІТА - Upbringing, Inlightening, Education -> Просвітництво від Володимира Васильовича Квачкова - Карім_Хайдаров.
10.06.2019 - 19:27: СОВІСТЬ - Conscience -> Вищий розум - Карім_Хайдаров.
10.06.2019 - 19:24: ВІЙНА, ПОЛІТИКА І НАУКА - War, Politics and Science -> ЗА НАМИ страви - Карім_Хайдаров.
10.06.2019 - 19:14: СОВІСТЬ - Conscience -> РОСІЙСЬКИЙ СВІТ - Карім_Хайдаров.
10.06.2019 - 8:40: ЕКОНОМІКА І ФІНАНСИ - Economy and Finances -> КОЛЛАПС СВІТОВОЇ ФІНАНСОВОЇ СИСТЕМИ - Карім_Хайдаров.



Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью