- •Введение
- •Общие указания к выполнению практических работ
- •Практическая работа №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
- •Контрольные вопросы
Панели общего назначения — компоненты Panel, GroupBox, Bevel, Splitter
Рис. 1 Пример панелей общего назначения
Компонент StatusBar
Строка состояния находиться на странице Win32 Палитры компонентов. Данный компонент удобен для отображения различной служебной и отладочной информации, которая позволяет вести визуальный контроль за действиями приложения. При размещении на форме, он автоматически располагается в нижней части формы.
Разместите на форме.
Для добавления панели на этапе разработки программы выберите меню AddItem в контекстном меню панели состояния в окне Object TreeView:
Для добавленной панели можно потом настраивать ее немногочисленные свойства в окне Object Inspector (например, такие, как текст (Text) или выравнивание (Alignment)).
Задание 1
Теперь посмотрим, как можно добавлять панели динамически. Добавьте на форму кнопку, в обработчике которой напишите следующий код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
// Добавляем панель
StatusBar1->Panels->Add();
// Подсчитываем число панелей
int count = StatusBar1->Panels->Count;
// Изменяем текст у последней панели
StatusBar1->Panels->Items[count - 1]->Text = "Panel " + IntToStr(count - 1); }
Иногда нет необходимости разбивать строку состояния на панели. В этом случае мы не используем коллекцию Panels. Вот так, например, можно вывести некоторый текст в строку состояния:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
StatusBar1->SimpleText = "Some Text";
Задание 2
В приложение из лабораторной работы №12 добавим на форму компонент StatusBar.
Компонент StatusBar можно поделить на любое количество отдельных мини-статусных окон (Ins), для этого нужно два раза щелкнуть по нему на форме приложения (Form1), после чего появится окно, представленное на рис2.
Рис. 2 Окно, появляющееся при двойном щелчке по омпоненту StatusBar
В этом окне, единственная доступная иконка с надписью — Add new Ins, предназначенная для деления компонента StatusBar. Нажав на данную иконку несколько раз видно, что появляются строки в последовательном порядке 0 — TStatusPanel и так далее (см. рис. 3).
Рис. 3 Деление компонента StatusBar
А на форме (Frorm1), область компонента StatusBar, поделена теперь на пять частей, размеры которых можно изменять с помощью окна Инспектора объектов (Object Inspector), где в дальнейшем изменяются свойства всех компонентов добавляемых в приложение.
Чтобы увеличить размер первой части компонента StatusBar -> TStatusPanel [0], нужно выбрать сначала его с помощью мышки: в окне Инспектора объектов (Object Inspector), вкладке Properties, появятся все свойства для первой части StatusBar1 -> Paneles[0].
Напротив надписи Width, вместо стандартного значения 50, вводим любое число, например — 150, нажимаем на клавиатуре Enter. При этом на форме приложения (Form1) будет видно, что первая часть StatusBar1 -> Paneles[0] увеличилась.
Аналогичным образом, настраиваем все остальные части компонента StatusBar1 -> Paneles[1] и так далее. После чего рекомендуется выполнить перекомпоновку программы, для этого нужно нажать на инструментальной панели на кнопку «Run (F9)», с изображением зеленого треугольника. Если ошибок нет, то запустится наше разрабатываемое приложение.
В свойствах формы Form1 -> Caption введем Video.
Получится такой вид формы, представленный на рис. 4.
Рис. 4 Измененный вид формы
При этом, программный код теперь будет выглядеть следующим образом:
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="Информация";
Form1->StatusBar1->Panels->Items[0]->Text = " Стоп ....";
}
void __fastcall TForm1::SpeedButton4Click(TObject *Sender)
{
Label1->Caption="Информация";
Form1->StatusBar1->Panels->Items[0]->Text = " Вперед ....";
}
void __fastcall TForm1::SpeedButton5Click(TObject *Sender)
{
Label1->Caption="Информация";
Form1->StatusBar1->Panels->Items[0]->Text = " Назад ....";
}
void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
Label1->Caption="Информация";
Form1->StatusBar1->Panels->Items[0]->Text = " Влево ....";
}
void __fastcall TForm1::SpeedButton3Click(TObject *Sender)
{
Label1->Caption="Информация";
Form1->StatusBar1->Panels->Items[0]->Text = " Вправо ....";
}
