- •Введение
- •Общие указания к выполнению практических работ
- •Практическая работа №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
- •Контрольные вопросы
Компонент UpDown
Компонент UpDown представляет собой две кнопки, используя которые можно изменить значение внутренней переменной-счетчика на определенную величину. Увеличение или уменьшение значения происходит при каждом щелчке на одной из кнопок.
Описание лабораторной работы Задание 1
Установите на форму компонент — индикатор процесса CGauge, из вкладки компонентов Samples, который позволяет следить визуально за состоянием любого запущенного нами процесса или действия:
C помощью свойства — BackColor -> clMoneyGreen, можно задать и настроить предпочтительный цвет для данного компонента Cgauge, вместо стандартного белого - BackColor->clWhite:
Добавьте на форму нашего приложения несколько новых компонентов (из вкладки Standard - Label, из вкладки Additional - SpeedBotton) и заполним необходимые их свойства (см. Рис.2).
Рис.2 Размещение компонентов на форме
Надписи на кнопках (SpeedBotton) и метках (Label), могут быть любыми и задаются с помощью свойств этих компонентов — Caption, а размер букв и шрифт устанавливается с помощью свойства — Font.
Устанавливая для нужных компонентов SpeedBotton свойство GroupIndex в число отличное от нуля (например в единицу) и свойство AllowAllUp в True, получатся кнопки с эффектом нажатия до определенного момента пока снова не будут нажаты, при этом получается эффект противоположный нажатию кнопки. Так как, в нашем случае, кнопки с направлениями движения (Вперед, Назад, Влево, Вправо) имеют одно и тоже значение свойства GroupIndex=1, то при нажатии на любую из кнопок движения предыдущая кнопка возвращается в исходное положение. А вот кнопку с надписью — Стоп, наоборот не будем включать ни в группу кнопок движения, ни изменять выше перечисленные свойства для кнопок. Вот для нее мы опишем действия, которые она должна сделать при однократном нажатии. Для этого в Окне формы нужно два раза левой кнопкой мышки щелкнуть, по кнопке с надписью — Стоп (SpeedButton2), при этом автоматически среда быстрой визуальной разработки фирмы создаст в файле .cpp, обработчик событий при нажатии на кнопку — SpeedButton2Click, который при первом вызове всегда пустой.
Отменяем действия кнопок движения переводя их в исходное состояние.
void __fastcall TForm1::SpeedButton2Click(TObject *Sender)
{
if(Form1->SpeedButton4->Down==true)
Form1->SpeedButton4->Down=false;
if(Form1->SpeedButton5->Down==true)
Form1->SpeedButton5->Down=false;
if(Form1->SpeedButton1->Down==true)
Form1->SpeedButton1->Down=false;
if(Form1->SpeedButton3->Down==true)
Form1->SpeedButton3->Down=false;
}
Программный код теперь будет выглядеть следующим образом:
void __fastcall TForm1::SpeedButton2Click(TObject *Sender)
{
if(Form1->SpeedButton4->Down==true)
Form1->SpeedButton4->Down=false;
if(Form1->SpeedButton5->Down==true)
Form1->SpeedButton5->Down=false;
if(Form1->SpeedButton1->Down==true)
Form1->SpeedButton1->Down=false;
if(Form1->SpeedButton3->Down==true)
Form1->SpeedButton3->Down=false;
Label1->Caption="Информация";
}
void __fastcall TForm1::SpeedButton4Click(TObject *Sender)
{
Label1->Caption="Информация";
}
void __fastcall TForm1::SpeedButton5Click(TObject *Sender)
{
Label1->Caption="Информация";
}
void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
Label1->Caption="Информация";
}
void __fastcall TForm1::SpeedButton3Click(TObject *Sender)
{
Label1->Caption="Информация";
}
Теперь разберемся с последним компонентом - индикатором процесса CGauge, который мы пока не задействовали в нашем приложении. Для наглядности работы данного компонента в обработчик события -SpeedButton2Click, добавим следующее:
void __fastcall TForm1::SpeedButton2Click(TObject *Sender)
{
Form1->CGauge1->MaxValue=100;
Form1->CGauge1->Progress=0;
for(char g=0;g<=100;g++)
{
Form1->CGauge1->Progress=g;
Sleep(25); // Делаем задержку
}
Form1->CGauge1->Progress=0;
}
