- •Введение
- •Общие указания к выполнению практических работ
- •Практическая работа №1
- •Теоретическая часть
- •Пример выполнения задания
- •Задание:
- •Спецификация программы:
- •Постановка задачи:
- •Блок-схема алгоритма программы
- •Варианты заданий
- •Контрольные вопросы
- •Практическая работа №2
- •Теоретическая часть
- •Методы стратегии ‘белого ящика’
- •Метод покрытия операторов
- •Метод покрытия решений (покрытия переходов)
- •1.3 Метод покрытия условий
- •1.4 Критерий решений (условий)
- •1.5 Метод комбинаторного покрытия условий
- •Порядок выполнения практической работы
- •Контрольные вопросы
- •Практическая работа №3
- •Теоретические часть
- •Задание 1
- •Задание 2
- •Контрольные вопросы
- •Практическая работа №6
- •Описание практической работы Теоретические сведения
- •Операторы обнаружения и обработки исключений
- •Задание 1
- •Задание 2
- •Задание 2
- •Контрольные вопросы
- •Практическая работа №8
- •Описание лабораторной работы Задание 1
- •Задание 2
- •Методы компонента tMemo
- •Задание 1
- •Задание 2
- •Задание 3
- •Контрольные вопросы
- •Практическая работа №10
- •Теоретическая часть
- •Класс Tstrings
- •Задание 1
- •Задание 2
- •Задание 3
- •Основные свойства компонента StringGrid
- •Описание лабораторной работы Задани 1
- •Задание 2
- •Задание 1
- •Контрольные вопросы
- •Практическая работа №13
- •Теоретическая часть
- •Описание лабораторной работы
- •Контрольные вопросы
- •Практическая работа №14
- •Теоретическая часть RadioGroup, RadioButton и GroupBox - группы радиокнопок
- •Свойства компонента CheckBox
- •Свойства компонента RadioButton
- •Button и BitBtn - управляющие кнопки
- •Свойства компонента BitBtn
- •Задание 1
- •Свойства компонента SpeedButton
- •Компонент UpDown
- •Описание лабораторной работы Задание 1
- •Задание 2
- •Задание 3
- •TrackBar и ScrollBar - ползунки и полосы прокрутки
- •Контрольные вопросы
- •Практическая работа №15
- •Теоретические сведения
- •Описание лабораторной работы Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Панели общего назначения — компоненты Panel, GroupBox, Bevel, Splitter
- •Задание 1
- •Задание 2
- •Компонент PageControl
- •Задание 3
- •Задание 4
- •Контрольные вопросы
- •Практическая работа №17
- •Теоретические сведения
- •Описание практическая работы Задание 1
- •Контрольные вопросы
- •Практическая работа №18
- •Теоретические сведения Компонент MainMenu - главное меню
- •Описание лабораторной работы Задание 1
- •Контрольные вопросы
- •Практическая работа №19
- •Теоретические сведения Стандартные диалоги и их фрагменты
- •Задание 1
- •Задание 2
- •Задание 3
- •Контрольные вопросы
- •Практическая работа №20
- •Теоретические сведения
- •I способ
- •II способ
- •Свойства компонента TreeViewl
- •Задание
- •Контрольные вопросы
- •Практическая работа №21
- •Теоретические сведения Компонент tImage
- •Задание 1
- •Ход выполнения
- •Задание 2
- •Ход выполнения
- •Задание 3
- •Задание 4
- •Задание 1
- •Задание 3
- •Задание 4
- •Контрольные вопросы
- •Практическая работа №23
- •Теоретические сведения
- •Практическая работа №24
- •Теоретические сведения Компонент построения графиков и диаграмм Chart
- •Свойства компонента Chart
- •Задание 1
- •Задание 2
- •Контрольные вопросы
- •Практическая работа №25
- •Прием перетаскиваемых объектов
- •Задание 1
- •Контрольные вопросы
Контрольные вопросы
Для чего предназначены радиокнопки?
Для чено предназначен компонент RadioGroup?
Какой компонент служит для нерегулярного расположения кнопок?
Чем отличаются компоненты RadioButton и CheckBox?
Основные свойства компонента CheckBox?
Основные свойства компонента BitBtn?
Чем отличается кнопка SpeedButton от других кнопок?
Назначение компонента UpDown?
Основнык свойства компонента UpDown?
Что представляет собой компонент TrackBar?
Что представляет собой компонент ScrollBar?
Практическая работа №15
Тема: «Использование компонента таймер в приложениях».
Цель работы: Научиться использовать компонент Ttimer в приложениях C++ Builder.
Форма и условия аттестации: после изучения Темы 4.9. Кнопки, индикаторы, управляющие элементы.
Время выполнения: подготовка – 5 мин; выполнение – 165 мин.; проверка – 10 мин; всего – 180 мин.
Теоретические сведения
Компонент Timer позволяет задавать в приложении интервалы времени.
Таймер – невизуальный компонент, который может размещаться в любом месте формы. Компонент TTimer имеет два свойства:
Enabled – устанавливается в значение true, если требуется, чтобы включился системный генератор сообщений WM_Timer.
Interval – задает промежуток времени в миллисекундах между приходом сообщений
Приведем стандартный пример использования таймера - создадим электронные часы (рис.1.).
Рис.1. Использование компонента TTimer
Для этого разместим на форме следующие компоненты TTimer и TLabel (рис.2).
Рис.2. Windows-окно примера при проектировании
Обработчик события OnTimer выглядит следующим образом:
Label2–>Caption=TimeToStr(Time());
Значение свойства Interval установлено в 1000 мс (одна секунда). Текущее время возвращается стандартной функцией Time и затем преобразуется в строку с помощью функции TimeToStr.
Или
Label2–>Caption=Now().TimeString();//присвоение текущего времени
Описание лабораторной работы Задание 1
Поставим на форму со вкладки Standard, компонент Label1, компонент Button1, и компонент Timer1 со вкладки System. Далее выделим компонент Timer1 и в свойствах этого компонента изменим значение Enabled, на false, по умолчанию у этого компонента стоит значение Enabled = true, но нам не нужно чтобы было true, мы сами запустим этот компонент, а также изменим свойство Interval = 1, по умолчанию стоит 1000, но 1000 это слишком долго.
TTimer - это компанент, который может циклически вызывать нужный вам код в заданный промежуток времени. То есть если вы выставите интервал в 5 секунд.
Timer1->Interval = 5000;
А в событии OnTimer у вас будет показываться окошко, например
ShowMessage("Закрой меня :)");
После запуска таймера Timer1->Enabled = true;
Ваша программа будет показывать такие окошки каждые пять секунд. Интервал задаётся в милисекундах, то есть 500 - пол секунды, 1000 - одна секунда.
По умолчанию, свойство Enabled таймера выставленно true - истина, то есть сразу после запуска программы, таймер начнёт рабоать. Но мы хотим запустить его своей кнопкой, так что автоматический запуск нам не нужен. Изменим свойство Enabled в окне Object Inspector на false.
Далее, щелкаем по Button1, быстро два раза, откроется окно редактора кода. Введем этот код:
void __fastcall TForm1::Button1Click(TObject *Sender) { Timer1->Enabled = true; // эта команда, меняет значение таймера на true(истина) }
Теперь нам нужно объявить переменную типа int int a=0;
#include <vcl.h> #pragma hdrstop
#include "Unit1.h" //------------------ #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; int a=0;
Далее выделим компонент Timer1 и перейдём к окну Object Inspector, выберем вкладку Events (события). Перед нами будет список событий, поддерживаемых данным компанентом. Там выберем событие OnTimer, это будет не сложно, оно там одно :) и дважды щёлкаем по белому полю, справа от названия.
У вас появится окно, с готовой функцией, такого содержания.
Введем код:
void __fastcall TForm1::Timer1Timer(TObject *Sender) { if (a != 1000) { ++a; Label1->Caption = IntToStr(a); } if (a == 1000) { Timer1->Enabled = false; Label1->Caption = "Hello World!"; } }
Теперь наш компанент, каждые 1 (10,500,1000) милисекунд, будет вызывать необходимый нам код.
