- •Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования «Сибирский государственный университет телекоммуникаций и информатики»
- •Введение
- •Лабораторная работа №1 Создание и использование динамических массивов
- •Лабораторная работа №2 Использование динамических структур данных (список, стек, очередь)
- •Лабораторная работа №3 Принцип инкапсуляции. Описание объектного типа.
- •Лабораторная работа №4 Принцип наследования. Создание иерархии классов.
- •Прямоугольник эллипс ромб треугольник
- •Лабораторная работа №5 Принцип полиморфизма. Использование виртуальных методов.
- •Лабораторная работа №7 Разработка программы «Магазин».
- •Лабораторная работа №6 Использование динамических объектов.
- •Лабораторная работа №2
- •Рекомендации
- •Лабораторная работа №3
- •Лабораторная работа №4
- •Лабораторная работа №5
- •Лабораторная работа №6
Лабораторная работа №2
ТЕМА: Работа с формой (сохранение положения и размера формы при повторном запуске Приложения). Компоненты TextBox, Label, Button. Обработчики событий формы, кнопок. Стандартные окна запросов, сообщений.
ЗАДАНИЕ
Задание 1
Написать программу, восстанавливающую при открытии формы следующие свойства: координаты формы (левый верхний угол), размер формы (высота, ширина), текст TextBox1. Сохранять параметры необходимо в той же папке , в файле с таким же именем, как у файла .EXE, но с расширением .INI.
Задание 2
Добавить к предыдущей программе запрос на закрытие формы.
Рекомендации
Используя типизированный файл, при описании переменной типа String необходимо задать ее размер.
Используя свойство ProcessName, можно получить название .EXE-файла. (Например, this->label1->Text=System::Diagnostics:: Process::GetCurrentProcess()->ProcessName+".exe";)
Для запроса на закрытие формы используйте событие FormClosing.
Перед считыванием данных из файла необходимо проверить существование такого файла (при первом запуске Приложения его не существует). Если файл не найден – выход из процедуры.
HANDLE hFind = FindFirstFile(“filename.ini”, &wfd);
if (hFind!=INVALID_HANDLE_VALUE){
//Найден
}
В раздел объявления переменных добавить: WIN32_FIND_DATA wfd;
Задание 3
Дополнить приложение, разработанное по заданиям 1 ,2, следующим образом:
Создать кнопку c надписью Builder. Изменить имя кнопки на ButtonBuilder. По нажатию на эту кнопку должно происходить следующее:
System::Windows::Forms::DialogResult res;
res=MessageBox::Show("A", "Form Closing", MessageBoxButtons::YesNo,MessageBoxIcon::Question);
if (res==IDNO){
label1->Text=L"You chose NO";
}else{
label1->Text=L"You chose Yes";
}
В момент, когда кнопка Builder активна (в фокусе), по нажатию на клавишу Escape должна очиститься метка label1:
if (e->KeyCode==Keys::Escape)
Создать кнопку c надписью Color. Изменить имя кнопки на ButtonColor. По нажатию на эту кнопку должно происходить следующее: появляться запрос об изменении цвета формы на зеленый. Нажатие на кнопку (в окне с запросом) Yes изменяет цвет формы на зеленый, на NO – восстанавливает первоначальный цвет формы. Для создания запроса использовать MessageBox. Окно с запросом должно появляться приблизительно посередине формы.
Создать кнопку Button (Свойство DialogResult = Close). По нажатия на кнопку должно закрываться Приложение.
Создать кнопку Button вида Help. По нажатия на кнопку должно появляться сообщение: Ничего не знаю! . Используйте MessageBox.
Создать обработчики, изменяющие текст заголовка Формы в зависимости от нажатия левой клавиши мыши:
1 нажатие - Еще раз
2 нажатия - Слушаю Вас
Лабораторная работа №3
ТЕМА: Работа с таймером
ОСНОВНЫЕ СВЕДЕНИЯ
Компонент Timer (таймер) служит для отсчета интервалов реального времени. У компонента Timer одно событие – Tick. Оно возникает через равный промежуток времени, заданный в свойстве Interval (в миллисекундах), только если Enabled=True.
ЗАДАНИЕ
Приложение включает 2 формы:
1-я форма – табло
2-я форма – собственная (созданная в Paint) картинка (без заголовка) на весь экран.
По нажатию на кнопку Пуск должно происходить следующее:
Начинается отсчет времени, т.е. на Form1 поочередно с интервалом в 1 секунду появляются цифры:
5 4 3 2 1,
а через 1 сек. После появления цифры 1 появляется Form2.
Через 5 секунд появляется сообщение:
Нажимаем Ok: Form2 закрывается, и мы снова видим Form1 следующего вида:
По нажатию на кнопку Пуск все повторяется.
Добавьте на Form1 в правый нижний угол часы, показывающие текущее время следующим образом:
Сначала 17:05
Через 1 сек. 17 05
Т.е. через каждую секунду «:» будет то появляться, то исчезать.
