- •Практикум
- •Г. Петропавловск-Камчатский
- •Введение
- •Задание №1. Операции ввода-вывода. Арифметические операции.
- •Int a;b;c; double X,
- •Int a,b,c; float a,b,c;
- •Float X; scanf (“%f”,X);
- •Задание №2. Операторы условного перехода if-case
- •Int main(int argc, char* argv[])
- •Найдите синтаксические и логические ошибки в инструкциях (если есть)
- •Задание №3. Оператор цикла for
- •Int main(int argc, char* argv[])
- •Задание №4. Одномерные и многомерные массивы
- •Задание №5. Алгоритмы поиска и сортировки данных
- •Найдите синтаксические и логические ошибки в инструкциях
- •Сформулируйте одной фразой, какое действие выполняет фрагмент:
- •Задание №6. Массивы символов
- •Int _tmain(int argc, _tchar* argv[])
- •Написать программу для решения задачи:
- •Написать программу для решения задачи:
- •Класс string
- •Функции работы со строками Задание №7. Функции
- •Void fill_screen (void)
- •Напишите функцию для:
- •Задание №1. Создание программ с использованием компонентов: tEdit, tButton, tLabel
- •Проектирование интерфейса приложения:
- •Программирование приложения
- •Void __fastcall tForm1::Edit1KeyPress(tObject *Sender, wchar_t &Key)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Задание №2. Создание программ с использованием компонентов: tComboBox, tListBox
- •Задание №3. Создание программ с использованием компонента Timer
- •Создайте приложение «Угадай число»
- •Void __fastcall tForm1::Timer1Timer(tObject *Sender)
- •Void __fastcall tForm1::CheckBox1Click(tObject *Sender)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Button2Click(tObject *Sender)
- •Задание для самостоятельного выполнения:
- •Задание №4. Написание программ для выполнения операций с файлами
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •If (FileExists("meteo.Txt"))
- •Void __fastcall tForm1::Edit1KeyPress(tObject *Sender, wchar_t &Key)
- •Задание для самостоятельного выполнения:
- •Задание №5. Использование компонентов tRichEdit, tMainManu, tOpenDialog и др.
- •Проектирование интерфейса приложения
- •Программирование приложения
- •Void __fastcall tForm1::imOpenClick(tObject *Sender)
- •Void __fastcall tForm1::imSaveClick(tObject *Sender)
- •Void __fastcall tForm1::imToolBarClick(tObject *Sender)
- •Void __fastcall tForm1::AboutClick(tObject *Sender)
- •Задание для самостоятельного выполнения:
- •Задание №6. Работа с графикой. Вывод текста. Программа Приветствие
- •Напишите процедуру при изменении размера формы:
- •Void __fastcall tForm1::FormResize(tObject *Sender)
- •Void __fastcall tForm1::Button4Click(tObject *Sender)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Button5Click(tObject *Sender)
- •Задание №8. Базы данных. Создание приложения Записная книжка
- •Создание базы данных.
- •Проектирование интерфейса приложения
- •Программирование приложения
- •Void __fastcall tForm1::BitBtn1Click(tObject *Sender)
- •Задание №9. Ежедневник
- •Void __fastcall tForm1::FormShow(tObject *Sender)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Button3Click(tObject *Sender)
- •Задание №10. Будильник
- •Int cHour, cMinute;
- •Int alrHour, alrMinute;
- •Void __fastcall CreateTrayIcon (int n, AnsiString Tip);
- •Void __fastcall DeleteTrayIcon (int n);
- •Void __fastcall tForm1::CreateTrayIcon (int n, AnsiString Tip)
- •Void __fastcall tForm1::DeleteTrayIcon (int n)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Timer1Timer(tObject *Sender)
- •Задание №11. Часы
- •Int ahr, amin, asec;
- •Void __fastcall tForm1::Timer1Timer(tObject *Sender)
- •Задание №12. Очистка диска
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Button2Click(tObject *Sender)
- •Задание для самостоятельного выполнения:
- •Рекомендуемая литература
Void __fastcall CreateTrayIcon (int n, AnsiString Tip);
Void __fastcall DeleteTrayIcon (int n);
Перейдите на модуль Unit1.cpp и опишите реализацию процедур:
Процедура создания значка на System Tray
Void __fastcall tForm1::CreateTrayIcon (int n, AnsiString Tip)
{
//заполнение структуры nidata, поля которой определяют значок на System Tray
TNotifyIconData nidata;
nidata.cbSize=sizeof(TNotifyIconData);
nidata.hWnd=Form1->Handle;
//окно приложения, которое представляет значок
nidata.uID= n; //номер значка
nidata.uFlags=NIF_ICON+NIF_MESSAGE+NIF_TIP;
nidata.hIcon=Application->Icon->Handle;
//значок
StrPCopy(nidata.szTip,Tip);
//всплывающий текст
Shell_NotifyIconW(NIM_ADD, &nidata);
//добавить значок
}
Процедура удаления значка:
Void __fastcall tForm1::DeleteTrayIcon (int n)
{TNotifyIconData nidata;
nidata.cbSize=sizeof(TNotifyIconData);
nidata.hWnd=Form1->Handle;
nidata.uID=n;
//номер значка, который нужно убрать
Shell_NotifyIconW(NIM_DELETE, &nidata);
}
Напишите программу при нажатии на кнопку ОК
Void __fastcall tForm1::Button1Click(tObject *Sender)
{
AnsiString st;
alrHour = UpDown1->Position;
alrMinute = UpDown2->Position;
if ((alrHour==cHour)&&(alrMinute<=cMinute) || (alrHour<cHour)) {
int r;
st.printf("Сейчас %i:%i \nБудильник установлен на %i:%i", cHour,cMinute, alrHour,alrMinute);
r=MessageDlg(st, mtWarning, TMsgDlgButtons() <<mbOK <<mbCancel,0);
if (r=mbCancel) return;
st = "Будильник."+IntToStr(alrHour)+":"+IntToStr(alrMinute);
CreateTrayIcon(1,st);
Form1->Hide();
}
st = "Будильник. "+ IntToStr(alrHour)+":"+mm(alrMinute);
CreateTrayIcon(1,st);
Form1->Hide();
}
Напишите процедуру для сигнала от таймера
Void __fastcall tForm1::Timer1Timer(tObject *Sender)
{ //окно программы на экране
if (Form1->Visible) {
if (HourOf(Now()) != cHour) {
cHour =HourOf(Now()) ;
Label1->Caption=IntToStr(cHour);
}
if (MinuteOf(Now()) != cMinute) {
cMinute=MinuteOf(Now()) ;
Label3->Caption=mm(cMinute);
}
Label2->Visible =! Label2->Visible;
}
else
{ TDateTime t=Now();
if ( (alrHour==HourOf(t) ) && (alrMinute==MinuteOf(t)) )
{
PlaySound("notify.wav",0,SND_ASYNC);
DeleteTrayIcon(1);
ShowMessage(Edit1->Text);
Form1->Close();
}
}
}
Самостоятельно напишите процедуру для нажатия на кнопку UpDown1 для отображения в метке Label4 выбранного в UpDown1->Position значения.
Аналогично напишите процедуру для нажатия на кнопку UpDown2 для отображения в метке Label6 выбранного в UpDown1->Position значения.
Задание для самостоятельного выполнения:
Напишите процедуру для отображения текущего времени в окне будильник при запуске приложения.
Измените программный код таким образом, чтобы при установки будильника также как и при отображении текущего времени происходило преобразование числа с ведущим нулём.
Предусмотрите, чтобы показывалось и скрывалось двоеточие, расположенное в области Сигнал.
Добавьте кнопку Закрыть форму для приложения.
Предусмотрите при закрытии формы выдачу сообщения «Вы уверены? Закрыть приложение?».
Добавьте главное меню форму, которое должно содержать команды Файл (Закрыть), Справка (О приложении).
Предусмотрите во время выдачи сигнала будильника не закрытие формы, а её показ для того, чтобы была возможность установки будильника.
Добавьте ListBox1 на форму вместо окна ввода Edit1. Измените программный код таким образом, чтобы текст сообщения брался от текущего значения ListBox1. Добавьте несколько событий для будильника.
Добавьте ComboBox1 на форму вместо окна ввода Edit1. Измените программный код таким образом, чтобы текст сообщения брался от текущего значения ComboBox1. Добавьте несколько событий для будильника.
Добавьте главное меню на форму, предусмотрите команды Файл (Открыть, Сохранить, Выход), Справка (О программе). Организуйте работу программы. Открытие и сохранение текущего времени и сообщения должно быть в выбранный файл.
Добавьте главное меню на форму, предусмотрите команды Файл (Сохранить, Выход), Справка (О программе). Организуйте работу программы таким образом, чтобы время сигнала и сообщение брались из базы данных (таблица с полями Time, Text).
Добавьте окно Edit2 для ввода имени пользователя. Предусмотрите работу с базой данных (таблица с полями User, Time, Text). Предусмотрите при нажатии на кнопку ОК добавление в базу данных текущего сообщения, времени сигнала и имени пользователя.
Сдайте работу преподавателю
Вопросы для контроля и самоконтроля:
Компонент класса TUpDown. Свойства и методы компонента.
Операторы сравнения ==, !=, <=, >=. Назначение.
Операторы &&, ||. Опишите, что означают описанные в программе функции, использующие операторы.