Робота з таймером

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Украинский
    ,
    Формат файла:
    MS Word
    45,04 Кб
  • Опубликовано:
    2013-01-21
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Робота з таймером

Міністерство освіти і науки України

Чернігівський радіомеханічний технікум








Робота з таймером

ПОЯСНЮВАЛЬНА ЗАПИСКА

до курсового проекту з предмету

«Системне програмування»

ЧРМТ 119606.47 ПЗ


Розробив:

студент групи КС-0706

Капля В.В

Керівник проекту:

Міненок К.О.




2011

ЗМІСТ

Вступ

. Аналіз задачі

. Визначення шляхів і методів розв’язання задачі

. Розробка блок-схеми програми

. Розробка інтерфейсу користувача

. Розробка програми

.1 Підключення бібліотек

.2 Опис змінних

.3 Опис функцій

.4 Розробка схеми взаємодії модулів

Висновки

Література

ВСТУП

Таймер (англ. Time - час) - прилад виробничо-технічного, військового або побутового призначення, в заданий момент часу видає певний сигнал, або включає - вимикає яке або обладнання через свій пристрій комутації електроланцюга. Здебільшого під таймерами маються на увазі пристрої, що відмірюють заданий інтервал часу з моменту запуску (вручну або електричним імпульсом) з секундоміром зворотного відліку, разом з тим, існують таймери, момент спрацювання яких задається установкою необхідного часу доби (так звані таймери реального часу), в цьому випадку таймер має у своєму складі годинник або пристрій. Також, існують програмні таймери, що реалізують подібні функції. У програмуванні, таймером є об'єкт, збудливий подія після закінчення заданого проміжку часу. Подією є посилка повідомлення, виклик функції, встановлення параметрів об'єкта ядра і т.д. Зазвичай, даний тип таймерів підтримується операційною системою, причому часто підтримка таймерів існує на рівні апаратури.

Головною характеристикою таймера є його точність - мінімальний гарантовано витримує інтервал часу. За цим параметром таймери ділять на:

малоточні (помилка вимірювання може досягати 0,1 с) ;

точні (помилка вимірювання не перевищує 0,001 с) ;

надточні (помилка вимірювання не перевищує 10 -6 c) .

Існують два види таймерів:

апаратні таймери функціонують незалежно від центрального процесора і у момент спрацьовування посилають переривання;

програмні таймери реалізуються за рахунок виконання у циклі заданої кількості однакових «порожніх» операцій. При фіксованій частоті роботи процесора це дозволяє точно визначати минулий час. Головними мінусами такого методу є: залежність кількості ітерацій циклу від типу і частоти процесора, неможливість виконання інших операцій під час затримки.

Класифікація за принципом відліку часу:

таймери інтервалів часу;

таймери поточного (реального) часу.

Класифікація за вихідним впливом:

таймери з електричним вихідним сигналом (електричний потенціал, імпульси або цифровий код) ;

таймери зі звуковою або візуальної сигналізацією.

Завданням курсового проекту є розробка програми на мові програмування С++ в середовищі Borland C++ Builder, яка надає можливість відкривати певну программу в певний час або через певний час. Програма повинна встановлюватися на комп’ютері за допомогою інсталятора.

Мета курсового проекту: вивчити основні функції роботи з часом, удосконалити знання про мову С++ і вивчити принципи взаємодії периферійних пристроїв з програмою.

1. АНАЛІЗ ЗАДАЧІ

Для вирішення даної задачі застосовується програма Borland C++ Builder 6, оскільки вона завоювала достатньо міцні позиції серед професійних та початкових програмістів. Для того, щоб розв’язати задачу в цілому, потрібно вирішити наступні підзадачі:

створення інтерфейсу користувача ;

можливість запускати та відключати таймер ;

можливість запускати та відключати будильник;

вихід з програми ;

можливість запуску програми, яка буде здійснюватись після закінчення часу ;

створення і настройка інсталятора.

Програму можно вдосконалити додавши:

запуск програми в певний час та дату;

запуск програм після програвання декількох пісень в winamp чи іншому програвачі;

запуск програми через деякий час бездіяльності системи.

2. ВИЗНАЧЕННЯ ШЛЯХІВ І МЕТОДІВ РОЗВ’ЯЗАННЯ ЗАДАЧІ

++ - універсальна мова програмування високого рівня з підтримкою декількох парадигм програмування. Зокрема: об’єктно-орієнтованої та процедурної. Розроблена Б’ярном Страуструпом (англ. Bjarne Stroustrup) в AT&T Bell Laboratories (Мюррей-Хілл, Нью-Джерсі) у 1979 році та названа «С з класами». Страуструп перейменував мову у C++ у 1983 р. Базується на мові Сі. Визначена стандартом ISO/IEC 14882:2003.

Будучи одним із найбільш популярних мов програмування, C++ широко використовується для розробки програмного забезпечення. Область його застосування включає операційні системи, прикладні програми, драйвери пристроїв, додатки для вбудованих систем, високопродуктивні сервери, а також розважальні програми, наприклад, відеоігри.

При створенні С++ прагнули зберегти сумісність з мовою С. Більшість програм на С справно працюватимуть і з компілятором С++. С++ має синтаксис, заснований на синтаксисі С.

Нововведеннями С++ порівняно з С є:

підтримка об'єктно-орієнтованого програмування через класи;

підтримка узагальненого програмування через шаблони;

доповнення до стандартної бібліотеки;

додаткові типи даних;

обробка винятків;

простори імен;

вбудовані функції;

перевантаження операторів;

перевантаження імен функцій;

посилання і оператори управління вільно розподіленою пам'яттю.

Щоб отримати поточний час в средовищі Borland C++ Builder є функція Time (); для отримання - поточної дати - Date (). Обидві ці функції повертають значення типу TDateTime. Розглянемо його докладніше. Цей тип являє собою число з плаваючою точкою, ціла частина якого містить число днів, відлічених від 0 годин 30 грудня 1899 року, а дробова частина дорівнює частині 24-годинного дня, відлічених від полудня (12 годин). Тобто дробова частина характеризує час і не відноситься до дати. Подібний спосіб представлення даних не дуже-то зручний для практичного використання, тому в середовищі Borland C + + Builder є ряд функцій для перетворення типу TDateTime в більш легкотравну форму - рядок (AnsiString). Функція DateToStr () виводить у рядок дату, TimeToStr () - час, а DateTimeToStr () - дату і час, причому форма представлення даних визначається установкою глобальних змінних (залежить від налаштувань Вашої операційної системи).

Поточний час перетворюється функцією Time () у рядок і привласнили її властивості Caption панелі. Оскільки подібне присвоювання буде відбуватися кожну секунду по події OnTimer, це буде найпростіший електронний годинник.

Функція DateTimePicker, розташованого на вкладці Win32 палітри компонентів. Функція може працювати в двох режимах, що визначаються властивістю Kind: введення часу (значення dtkTime) і введення дати (dtkDate).

Задавши хвилину і годину побудки програма буде перевіряти зберігши значення в оголошених раніше змінних iAlarmHours і iAlarmMinutes. Для цього потрібно скористалися властивістю Time компонента TimePicker, в якому користувач задав час оповіщення. Воно і було збережено у властивості Time (тип значення TDateTime). Потім перетворити користувальницький час в рядок з використанням функції FormatDateTime (). Вона набагато зручніше, ніж функції доступу до властивостей дати-часу, згадані вище, тому що дозволяє форматувати висновок даних. Як перший аргумент функція приймає рядок - прапор формату виводу даних, а в якості другого - час або дату (тип значення TDateTime), яку потрібно перетворити.

Для часу специфікатора висновку можуть бути наступними:- друк години без початкового нуля (0-23);- друк години з початковим нулем (00-23);- друк хвилин без початкового нуля (0-59);- друк хвилин з початковим нулем (0-59);- друк секунд без початкового нуля (0-59);- друк секунд з початковим нулем (0-59).

Функція StrToInt конвертує рядок з цілим значенням - IntegerString, такий як '123 ', в ціле Integer

Функція ShellExecute з бібліотеки Shell32.dll виконує операцію над вказаним файлом. ShellExecute не тільки запускає програми, а відкриває, редагує або друкує файл, з урахуванням зареєстрованої типу, а також відкриває вказану папку провідником.

Створення Windows-процесу здійснюється викликом однієї з таких функцій, як CreateProcess

Оператор вибору switch дозволяє вибрати ділянку коду для виконання по мітці, яка співпаде з виразом в конструкції оператора.Install Maker - це потужний і зручний засіб для створення інсталяторів. Програма має зручний та інтуїтивно зрозумілим інтерфейс, а також повний набор необхідних функцій для створення професійних інсталяторів з мінімальним розміром, високим ступенем стиснення файлів і приємним інтерфейсом.

Крім стандартного мінімуму, Smart Install Maker дозволяє редагувати системний реєстр і INI-файли, створювати програмні ярлики, запускати асоційовані і виконувані файли, реєструвати нові шрифти і ActiveX компоненти, відображати тексти інформації і ліцензійної угоди. Також, за допомогою цієї утиліти, ви зможете створити багатомовними інсталятори з підтримкою більше 20-ти популярних мов світу.

Інсталятори, створені в середовищі Smart Install Maker мають невеликий розмір і підтримують чудовий формат стиснення Cab. Все це дозволяє створювати дійсно компактні дистрибутиви, які не створять проблем при їх розповсюдженні по інтернету.

Особливості Smart Install Maker:

сучасний стиль оформлення;

повністю настроюваний інтерфейс інсталятора;

невеликий розмір інсталяційного модуля;

підтримка алгоритму стиснення Cab;

підтримка багатомовних інсталяторів;

інтуїтивно зрозумілий інтерфейс користувача;

перевірка версії встановленого. NET Framework;

можливість використання змінних директорій;

можливість розбиття інсталятора на настановні диски.

Для створення інсталятора розробленої програми було обрано додаток FastInstall, тому що він зручний в користуванні має кольоровий інтерфейс. Також він має декілька форматів стиснення даних, що дозволяє створювати компактні інсталятори, які можна легко переміщувати на різних носіях інформації.

3. РОЗРОБКА БЛОК-СХЕМИ

Зображення блок-схеми зображено на рисунку 3.1.

Рисунок 3.1 - Блок-схема програми

Після запуску програми спочатку необхідно визначити, що саме буде робити користувач - чи використовувати будильник, чи використовувати таймер для запуску програм нової задачі. Приклад дії, запуск програми на вибір користувача.

Під час відліку часу або запусту будильника можна зупинити їх роботу.

Після завершення відліку часу запускається програма як була вибрана.

4. РОЗРОБКА ІНТЕРФЕЙСУ КОРИСТУВАЧА

Інтерфейс користувача - сукупність засобів для обробки та відображення інформації, максимально пристосованих для зручності користувача; у графічних системах реалізовується багатовіконним режимом, змінами кольору, розміру, видимості (прозорість, напівпрозорість, невидимість) вікон, їх розташуванням, сортуванням елементів вікон, гнучкими налаштовуваннями як самих вікон, так і окремих їх елементів (файли <#"601006.files/image002.gif"> 

Мал 4.1 - Приклади використання компонента Button

б) RadioGroup - панелі групи радіокнопок. Це панель, яка може містити регулярно розташовані стовпцями та рядками радіо кнопки. Зображення цього компонента наведено на рисунку 4.2 .

Мал 4.2 - Зображення компонента RadioGroup

Приклад використання наведено на рисунку 4.3 ;

МАл 4.3 - Приклад RadioGroup

в) компонент GroupBox - панель не має таких широких можливостей завдання різних стилів оформлення. Але вона має вбудовану рамку з написом, яка зазвичай використовується для виділення на формі групи функціонально об'єднаних компонентів рисунок 4.4 ;

Мал. 4.4 - Зображення компонента GroupBox

г) компонент Edit - представляє собою однорядкове текстове поле, що служить для введення даних користувачем рисунок 4.5 ;

Мал 4.5 - Зображення компонента Edit

д) компонент UpDown - перетворює вікно редагування Edit в компонент, в якому користувач може вибирати ціле число, змінюючи його кнопками зі стрілками рисунок 4.6 ;

МАл 4.6 - Зображення компонента UpDown

е) компонет Label - для відображення різних написів на формі. Приклади використання цього компонента наведено на рисунку 4.7 ;

Мал 4.7 - Зображення компонента Label

є) компонет DateTimePicker - компонент має 2 властивості - режим вводу дати та режим вводу часу, його властивість Kind визначає режим роботи компонента: dtkDate - ввід дати, dtkTime - ввід часу. Приклад використання цього компонента наведено на рисунку 4.8;

Мал 4.8 - Приклад використання компонента DateTimePicker

ж) компонент Timer - дозволяє задавати в додатку інтервали часу. Приклад використання цього компонента наведено на рисунку 4.9.

Мал 4.9 - Приклад використання компонента Timer

. РОЗРОБКА ПРОГРАМИ

.1 Підключення бібліотек

Для підключення бібліотек в Borland C++ Builder використовується директива include. При написанні програми було підключено 3 бібліотеки:

Visual Component Library, VCL (бібліотека візуальних компонентів) - об'єктно-орієнтована <#"601006.files/image011.gif">

Рисунок 5.1- Схема взаємодії модулів програми

ВИСНОВКИ

В ході курсової роботи було таймер на С++. Під час написання курсового проекту були закріплені і поглиблені теоретичні знання, отриманні в процесі вивчення питань з предмету „Системне програмування ”, і був використаний вивчений матеріал для розробки програми.

Був проведений детальний аналіз задачі, в якому визначились основні підзадачі для вирішення задачі в цілому.

Було визначено шляхи і методи розв’язання задачі. Розглянуто основні функції роботи з графікою. Визначено, що таке інсталятор і які види його бувають.

Для вирішення задачі було розроблено алгоритм програми і накреслена блок-схема .

Далі було розроблено інтерфейс користувача, де детально розглянуто призначення кожного компонента.

Після визначення методів, написання алгоритму і розробки інтерфейсу відбулась розробка програми. Було описано всі змінні, що використовувались в програмі. Розглянуто бібліотеки, що підключаються до програми і описано всі функції, що використовувались : виведення стандартних фігур, зміна кольорів фону та контуру, очищення екрану, можливість збереження та відкриття графічних файлів.

При розробці програми ніяких зіткнень з проблемами не відбулось.

Цю програму можна б було вдосконалити, збільшивши можливості програми, наприклад, запуск програм після програвання декількох пісень в winamp чи іншому програвачі, також при певній бездіяльності системи.


1. Архангельский А. Я. - Приемы программирования в C++Builder 6 и 2006, издательство «Бином-Пресс», 2006г.

. А.Я. Архангельский Программирование в C++ Builder 6

. А.Я. Архангельский.. C++ Builder 6 СПРАВОЧНОЕ ПОСОБИЕ Книга 2

. Бондарев В.М., Марченко Ю.С. Программирование на языке С++: Учеб. Пособие - Харьков: ХТУРЕ, 1998.

. В.В. Подбельский. Язык С++.(М: Финансы статистика, 2000. 560 с.

. Д. Элджер. Библиотека программиста С++. С.-Петербург: Птр, 2000. 320 с.

. Д. Либерти. Освой С++за 21 день. 3-е издание, 1999. - 250 с.

. Ермолаев В., Сорока Т. C++ Builder Книга рецептов - 2006

. Культин Н. Б. Самоучитель C++ Builder

. Культин Н.Б. С/C++ в примерах и задачах. - - СПб. : БХВ - Петербург, 2001. - 288 с., ил.

. Леонтьев В. П. - Новейшая энциклопедия персонального компьютера 2004, издательство «ОЛМА-ПРЕСС Образование» 129075, Москва, Звездный бульвар, 23А,стр.10, ЗАО «ОЛМА МЕДИА ГРУПП».

. Подбельский В.В., Фомин С.С. Программирование на языке Си: Учеб. Пособие.- 2-е доп.изд.-М.: Финансы и статистика, 1999.

. Проценко В.С. и др. Техника программировавния на языке Си.: Учеб. Пособие. - К.: Либідь

. С. Б. Липман. Язык программированич С++. Вводный курс. 3-е издание, 1998. - 283с.

Страустрап Б. Язык программирования С++, 3-е изд.: «Невский Диалект»- Издательство «БИНОМ», 1999

Похожие работы на - Робота з таймером

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!