Приложение "Сотовый телефон" - Программирование, компьютеры и кибернетика курсовая работа
Объектно-ориентированное проектирование системы, поддерживающей основные функции сотового телефонного аппарата, разработка диаграмм классов с их атрибутами и методами. Спецификации модулей программы, системные требования и тестирование функциональности.
посмотреть текст работы
скачать работу можно здесь
полная информация о работе
весь список подобных работ
Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Телефон в современном мире - незаменимая часть жизни современного человека.
Данная программа представляет собой имитатор сотового телефона, которая позволит даже неподготовленному пользователю ознакомиться с возможностями работы данного средства общения, не затрачивая много времени и усилий.
Программа обладает развитым графическим интерфейсом. Приложение создано в инструментальной среде разработки приложений С++Builder 6, реализующей современные подходы к программированию: объектно-ориентированный подход и визуальные средства быстрой разработки приложений.
Пояснительная записка содержит техническое задание, описание программы, текст программы, программу и методику испытаний, описание применения.
Приложение должно поддерживать следующие основные функции сотового телефонного аппарата:
- добавление, редактирование, удаление номеров в телефонной книге;
- имитацию посылки и приема SMS-сообщений;
- имитацию выбора режима (обычный, без звука и т.д.);
- имитацию простейших установок (например, часы, будильник и т.д.).
Интерфейс приложения должен иметь схожие черты с интерфейсом и панелями управления простейшего сотового телефонного аппарата.
Приложение предназначено для работы в среде Windows XP.
Среда разработки - Visual C++ или Borland C++ Builder.
1. Объектно-ориентированный анализ системы
В соответствии с заданием было принято решение разработать имитацию сотового телефона, выполняющие следующие функции:
1) Работа с SMS (посылка и ответ сообщений);
2) Работа с телефонной книгой (редактирование, добавление, удаление контактов);
4) Выбор режима работы (без звука или обычный);
Учитывая вышеперечисленные функции в сочетании с интерфейсом под Windows 98/2000, программный продукт «Сотовый телефон» может быть реализован с использованием инструментальных средств Borland C++ Builder 6.
На рисунке 1 приведена диаграмма вариантов использования, которая перечисляет функции, выполняемые системой.
программа телефон модуль тестирование
2 . Объектно-ориентированное проектирование системы
Учитывая функции, которые должна обеспечить система, а также ее специфику, построим диаграмму классов (рисунок 2), которая показывает взаимодействие классов в системе «Сотовый телефон».
Концептуальная модель для системы «Сотовый телефон» представлена на рисунке 2
Рисунок 2 - Диаграмма классов (концептуальная модель).
Содержит операции: вывод сообщения, вывод списка и главное меню.
Класс «Экран» связан с классом «Кнопка» связью ассоциацией «один ко многим». Так как приложение используется для имитации сотового телефона, используется одна форма и много кнопок на ней.
Класс «Экран» связан с классом «ПолеВвода» свзяью ассоциацией «один ко многим». Так как приложение используется для имитации сотового телефона, используется одна форма и много полей ввода (SMS, номер абонента).
Содержит операции: сохранить, удалить, отправить, редактировать, выбрать и позвонить.
Модель реализации для системы «Сотовый телефон» представлена на рисунке 3.
Рисунок 3 - Диаграмма классов (модель реализации).
Эти атрибуты не являются общедоступными.
FormCreate - обработчик создания формы;
BuildImage - отрисовать главное меню;
FormMouseDown - обработчик нажатия мышкой по форме;
clkSettings - выбрать настройки звонка;
Всего используется 1 объект данного класса.
Объект MainFm, библиотеки визуальных компонентов VCL среды C++Builder, предназначен для отображения самой формы сотового телефона.
Всего используется 4 объекта данного класса.
Объект TimerAlarm, библиотеки компонентов VCL среды C++Builder, предназначен для значения будильника.
Объект TimerAlarm2, библиотеки компонентов VCL среды C++Builder, предназначен для значения будильника.
Объект TimerSend, библиотеки компонентов VCL среды C++Builder, предназначен для визуализации картинки отправки сообщения.
Объект TimerCall, библиотеки компонентов VCL среды C++Builder, предназначен для отображения анимации звонка.
Классы соединяются связью ассоциацией «один ко многим». Форма одна, но много таймеров.
Для более подробного описания взаимодействия системы и пользователя были построены диаграммы последовательности (Sequence Diagrams), на которых показаны, в какой последовательности будут выполняться действия для вариантов использования «Выбрать режим», «Послать сообщение», «Установить будильник», «Удалить контакт», «Добавить контакт», «Позвонить».
Диаграммы последовательности для вариантов использования приведены соответственно на рисунках 4-9.
Рисунок 4 - Диаграмма последовательности для варианта использования
3) Выбираем нужный режим из списка;
Рисунок 5 - Диаграмма последовательности для варианта использования «Послать сообщение»
2) C помощью клавиатуры вводим текст сообщения;
4) C помощью клавиатуры вводим номер получателя;
6) На экран выводится сообщение об отправке.
Рисунок 6 - Диаграмма последовательности для варианта использования «Установить будильник»
3) C помощью клавиатуры вводим время;
Рисунок 7 - Диаграмма последовательности для варианта использования «Удалить контакт».
Рисунок 8 - Диаграмма последовательности для варианта использования «Добавить контакт»
3) C помощью клавиатуры вводим номер и имя абонента;
Рисунок 9 - Диаграмма последовательности для варианта использования «Позвонить»
3) C помощью клавиатуры вводим номер;
5) На экран выводится сообщение о посыле вызова.
Учитывая функции, которые должна обеспечить система, а также ее специфику, строится диаграмма состояний (Activity Diagram), которая показывает возможные состояния системы для приложения «Сотовый телефон». Диаграмма состояний для приложения «Сотовый телефон» на примере объекта OnCreate класса TTimer приведена на рисунке 10.
Рисунок 10. Словесное описание возможных состояний приложения «Сотовый телефон»
Диаграмма состояний построена для объекта TimerCall класса TTimer. Объект имеет 2 состояния:
1) Процесс начинается с начальной точки - запуска приложения. Пользователь набирает номер и, не совершая звонка, завершает работу.
2) Процесс начинается с начальной точки - запуска приложения. Пользователь набирает номер, нажимает кнопку вызова, после чего появляется анимация звонка и завершается работа.
3 . Объектно-ориентированное программирование системы
Разработанная программа имеет исполняемый файл iPhone.exe. Программа написана на языке Borland C++Builder 6. Ее текст содержится в файлах iPhone.cpp и UnitMainFm.cpp, и приведен в приложении А. Для функционирования программы, на персональном компьютере должна быть установлена операционная система Microsoft Windows 2000/XP/7. Кроме того, необходимо наличие среды программирования Borland C++Builder 6.
В соответствии со структурой программного обеспечения модулю UnitMainFm.cpp программы соответствует определенный набор подпрограмм:
void __fastcall TMainFm: FormCreate (TObject *Sender) - обработчик события создания формы;
void __fastcall TMainFm: FormClose (TObject *Sender, TCloseAction &Action) - обработчик закрытия формы;
void __fastcall TMainFm: BuildImage() - обработчик отрисовавыния главного меню;
void __fastcall TMainFm: FormPaint (TObject *Sender) - обработчик рисования формы;
void __fastcall TMainFm: FormShow (TObject *Sender) - обработчик показа формы;
void __fastcall TMainFm: FormMouseDown (TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y) - обработчик события нажатия мышкой по форме;
void __fastcall TMainFm:clkSMS() - обработчик пункта меню «SMS»;
void __fastcall TMainFm:clkSMSNUM() - обработчик кнопки «Отправить» в пункте меню «SMS»;
void __fastcall TMainFm:clkCalendar() - обработчик пункта меню «Календарь»;
void __fastcall TMainFm:clkPictures() - обработчик пункта меню «Картинки»;
void __fastcall TMainFm:clkAlarm() - обработчик пункта меню «Будильник»;
void __fastcall TMainFm:clkNodes() - обработчик пункта меню «Заметки»;
void __fastcall TMainFm:clkMap() - обработчик пункта меню «Контакты»;
void __fastcall TMainFm:clkSettings() - обработчик пункта меню «Настройки»;
void __fastcall TMainFm:clkCall() - обработчик пункта меню «Звонок»;
void __fastcall TMainFm:clkCall() - обработчик пункта меню «Календарь»;
void __fastcall TMainFm: TimerCallTimer (TObject *Sender) - обработчик таймера для анимации звонка;
void __fastcall TMainFm: TimerSendTimer (TObject *Sender) - обработчик таймера для анимации отправки сообщений;
void __fastcall TMainFm: TimerAlarmTimer (TObject *Sender) - обработчик таймера для будильника;
void __fastcall TMainFm: TimerAlarm2Timer (TObject *Sender) - обработчик таймера для будильника.
Объектом испытания является программа «Сотовый телефон», созданная с помощью инструментальных средств Borland C++ Builder 6.
Испытания проводятся с целью проверки правильности выполнения программой ее функций.
Для проверки программного продукта необходимо запустить программу «Сотовый телефон» и проверить выполнение всех функций, нажимая соответствующие кнопки.
После запуска программы на экране должна появиться форма телефона с кнопками пунков меню.
Для того, чтобы ввести сообщение выбираем пункт меню «SMS». На форме открывается окно ввода текста.
После того как ввели нужный текст, нажимаем Отправить. Вводим номер абонента с помощью клавиатуры. Нажимаем кнопку Отправить. Появляется анимация доставки сообщения.
Чтобы установить будильник выбираем пункт меню «Будильник». В открывшемся окне вводим нужное время.
В указанное время, в соотствии и временем на компьютере, будильник начнет имитировать звонок.
Чтобы позвонить, набираем с помощью клавиатуры номер и нажимаем вызов. На экране появится анимация о посыле вызова.
Испытания показали, что программа работает правильно во всех возможных ситуациях.
При запуске программы на экране появляется основная форма приложения «Сотовый телефон».
Для того, чтобы ввести сообщение выбираем пункт меню «SMS». На форме открывается окно ввода текста.
Для отправки сообщения нажимаем Отправить. Вводим номер абонента с помощью клавиатуры. Нажимаем кнопку Отправить. Появляется анимация доставки сообщения.
Чтобы установить будильник выбираем пункт меню «Будильник». В открывшемся окне вводим нужное время. Нажимаем ОК. В указанное время, в соотствии и временем на компьютере, будильник начнет имитировать звонок.
Чтобы позвонить, набираем с помощью клавиатуры номер и нажимаем вызов. На экране появится анимация о посыле вызова.
Чтобы выбрать режим работы сотового телефона, выбираем пункт меню «Настройка». Выбираем нужный вариант в открывшее=ИМС списке и нажимаем ОК.
Имитация сотового телефона работает на персональном компьютере с конфигурацией:
Процессор: CPU PENTIUM III и выше
Оперативная память: RAM 64 Mb и выше
Необходимая память на жестком диске: 2891 Кб.
В результате проделанной работы была определена функциональная структура системы «Сотовый телефон». Выделены основные функции.
Было проведено объектно-ориентированное проектирование системы «Сотовый телефон», в результате чего была разработана диаграмма классов, на которой отображены классы системы с их атрибутами и методами, а также возможные отношения между ними.
Было проведено тестирование системы «Сотовый телефон». Анализ результатов тестирования показал, что система полностью соответствует функциональным требованиям.
1 Павловская Т.А. C/C++ Программирование на языке высокого уровня - С-Пб.: ООО Издательство «Питер», 2010 г. - 460 с., ил.
2 Фаронов В.В. Delphi Программирование на языке высокого уровня. - С-Пб.: ЗАО Издательство «Питер», 2006 г. - 639 с., ил.
3 Вендров А.М. Проектирование ПО экономических информационных систем - М.: «Финансы и статистика», 2006 г. - 543 с., ил.
__fastcall TMainFm:TMainFm (TComponent* Owner)
// -Обработчик события создания формы-
void __fastcall TMainFm: FormCreate (TObject *Sender)
rezhim = 0; // Профиль Мелодия вибро и тд.
alarmTimeH = t.wHour; // Время будильника
alarmEnabled = true; // Будильник вкл. выкл.
void __fastcall TMainFm: FormClose (TObject *Sender, TCloseAction &Action)
void __fastcall TMainFm: BuildImage()
Buf->Canvas->Brush->Color = clWhite;
Buf->Canvas->FillRect (TRect(0, 0, Buf->Width, Buf->Height));
Graphics:TBitmap *tmp = new Graphics:TBitmap;
if (FileExists (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»))
tmp->LoadFromFile (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»);
if (FileExists (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_menu2.bmp»))
tmp->LoadFromFile (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_menu2.bmp»);
void __fastcall TMainFm: FormPaint (TObject *Sender)
void __fastcall TMainFm: FormShow (TObject *Sender)
// -Обработчик события нажатия мышкой по форме-
void __fastcall TMainFm: FormMouseDown (TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
// 38-74 103 86-124 136-174 185-222 103
// 202-222 226-248 250-270 273-295 297-317
// 25-43 47-65 69-86 90-107 111-128 132-150 154-171 174-193 196-212 217-233
if (X > 190 && X < 232 && Y > 321 && Y < 337)
if (TimerCall->Enabled || TimerSend->Enabled || TimerAlarm->Enabled) return;
if (X > 25 && X < 43) textFrend += «1»;
if (X > 47 && X < 65) textFrend += «2»;
if (X > 69 && X < 86) textFrend += «3»;
if (X > 90 && X < 107) textFrend += «4»;
if (X > 111 && X < 128) textFrend += «5»;
if (X > 132 && X < 150) textFrend += «6»;
if (X > 154 && X < 171) textFrend += «7»;
if (X > 174 && X < 193) textFrend += «8»;
if (X > 196 && X < 212) textFrend += «9»;
if (X > 217 && X < 233) textFrend += «0»;
if (X > 25 && X < 43) textFrend += «Ц»;
if (X > 47 && X < 65) textFrend += «У»;
if (X > 69 && X < 86) textFrend += «К»;
if (X > 90 && X < 107) textFrend += «Е»;
if (X > 111 && X < 128) textFrend += «Н»;
if (X > 132 && X < 150) textFrend += «Г»;
if (X > 154 && X < 171) textFrend += «Ш»;
if (X > 174 && X < 193) textFrend += «Щ»;
if (X > 196 && X < 212) textFrend += «З»;
if (X > 217 && X < 233) textFrend += «Х»;
if (X > 25 && X < 43) textFrend += «Ы»;
if (X > 47 && X < 65) textFrend += «В»;
if (X > 69 && X < 86) textFrend += «А»;
if (X > 90 && X < 107) textFrend += «П»;
if (X > 111 && X < 128) textFrend += «Р»;
if (X > 132 && X < 150) textFrend += «О»;
if (X > 154 && X < 171) textFrend += «Л»;
if (X > 174 && X < 193) textFrend += «Д»;
if (X > 196 && X < 212) textFrend += «Ж»;
if (X > 217 && X < 233) textFrend += «Э»;
if (X > 25 && X < 43) textFrend += «Я»;
if (X > 47 && X < 65) textFrend += «Ч»;
if (X > 69 && X < 86) textFrend += «С»;
if (X > 90 && X < 107) textFrend += «М»;
if (X > 111 && X < 128) textFrend += «И»;
if (X > 132 && X < 150) textFrend += «Т»;
if (X > 154 && X < 171) textFrend += «Ь»;
if (X > 174 && X < 193) textFrend += «Б»;
if (X > 196 && X < 212) textFrend += «Ю»;
if (X > 217 && X < 233) textFrend +=».»;
if (X > 69 && X < 86) textFrend += «Ё»;
if (X > 90 && X < 107) textFrend += «_»;
if (X > 111 && X < 128) textFrend += «Й»;
if (X > 132 && X < 150) textFrend += «Ъ»;
if (X > 154 && X < 171) textFrend += «Ф»;
if (X > 174 && X < 193) textFrend += «»;
if (X > 196 && X < 212) textFrend. Delete (textFrend. Length(), 1);
if (X > 25 && X < 70 && Y > 321 && Y < 357)
if (X > 25 && X < 43) textSMS += «1»;
if (X > 47 && X < 65) textSMS += «2»;
if (X > 69 && X < 86) textSMS += «3»;
if (X > 90 && X < 107) textSMS += «4»;
if (X > 111 && X < 128) textSMS += «5»;
if (X > 132 && X < 150) textSMS += «6»;
if (X > 154 && X < 171) textSMS += «7»;
if (X > 174 && X < 193) textSMS += «8»;
if (X > 196 && X < 212) textSMS += «9»;
if (X > 217 && X < 233) textSMS += «0»;
if (X > 25 && X < 43) textSMS += «Ц»;
if (X > 47 && X < 65) textSMS += «У»;
if (X > 69 && X < 86) textSMS += «К»;
if (X > 90 && X < 107) textSMS += «Е»;
if (X > 111 && X < 128) textSMS += «Н»;
if (X > 132 && X < 150) textSMS += «Г»;
if (X > 154 && X < 171) textSMS += «Ш»;
if (X > 174 && X < 193) textSMS += «Щ»;
if (X > 196 && X < 212) textSMS += «З»;
if (X > 217 && X < 233) textSMS += «Х»;
if (X > 25 && X < 43) textSMS += «Ы»;
if (X > 47 && X < 65) textSMS += «В»;
if (X > 69 && X < 86) textSMS += «А»;
if (X > 90 && X < 107) textSMS += «П»;
if (X > 111 && X < 128) textSMS += «Р»;
if (X > 132 && X < 150) textSMS += «О»;
if (X > 154 && X < 171) textSMS += «Л»;
if (X > 174 && X < 193) textSMS += «Д»;
if (X > 196 && X < 212) textSMS += «Ж»;
if (X > 217 && X < 233) textSMS += «Э»;
if (X > 25 && X < 43) textSMS += «Я»;
if (X > 47 && X < 65) textSMS += «Ч»;
if (X > 69 && X < 86) textSMS += «С»;
if (X > 90 && X < 107) textSMS += «М»;
if (X > 111 && X < 128) textSMS += «И»;
if (X > 132 && X < 150) textSMS += «Т»;
if (X > 154 && X < 171) textSMS += «Ь»;
if (X > 174 && X < 193) textSMS += «Б»;
if (X > 196 && X < 212) textSMS += «Ю»;
if (X > 217 && X < 233) textSMS +=».»;
if (X > 69 && X < 86) textSMS += «Ё»;
if (X > 90 && X < 107) textSMS += «_»;
if (X > 111 && X < 128) textSMS += «Й»;
if (X > 132 && X < 150) textSMS += «Ъ»;
if (X > 154 && X < 171) textSMS += «Ф»;
if (X > 174 && X < 193) textSMS += «»;
if (X > 196 && X < 212) textSMS. Delete (textSMS. Length(), 1);
if (X > 25 && X < 70 && Y > 321 && Y < 357)
if (X > 25 && X < 70 && Y > 321 && Y < 357 && callNumber. Length() > 0)
if (X > 96 && X < 152 && Y > 321 && Y < 357 && callNumber. Length() > 0)
callNumber. Delete (callNumber. Length(), 1);
if (X > 26 && X < 231 && Y > 260 && Y < 305 && callNumber. Length() < 11)
} //if (state == 9) SMSNUM Набор номера SMS -
if (X > 25 && X < 70 && Y > 321 && Y < 337)
alarmTimeH = StrToInt (alarmTime. SubString (1, 2));
alarmTimeM = StrToInt (alarmTime. SubString (4, 2));
if (X > 106 && X < 146 && Y > 132 && Y < 148)
newAlarmEnabled =! newAlarmEnabled;
if (X > 26 && X < 231 && Y > 260 && Y < 305 && newAlarmEnabled)
alarmTime[alarmNInput] = char (n + 48);
alarmTime[alarmNInput] = char (n + 48);
alarmTime[alarmNInput] = char (n + 48);
alarmTime[alarmNInput] = char (n + 48);
alarmTime[alarmNInput] = char (n + 48);
if (alarmNInput == 3) alarmNInput++;
if (alarmNInput > 5) alarmNInput = 1;
if (X > 50 && X < 110 && Y > 140 && Y < 155) newRezhim = 0;
if (X > 50 && X < 110 && Y > 160 && Y < 175) newRezhim = 1;
if (X > 50 && X < 110 && Y > 180 && Y < 195) newRezhim = 2;
if (X > 25 && X < 70 && Y > 321 && Y < 337)
if ((X > 25 && X < 70 && Y > 321 && Y < 357 ||
X > 38 && X < 74 && Y > 345 && Y < 381) && callNumber. Length() > 0)
if (X > 96 && X < 152 && Y > 321 && Y < 357 && callNumber. Length() > 0)
callNumber. Delete (callNumber. Length(), 1);
if (X > 26 && X < 231 && Y > 260 && Y < 305 && callNumber. Length() < 11)
if (X > 38 && X < 74 && Y > 103 && Y < 137)
if (X > 86 && X < 124 && Y > 103 && Y < 137) clkCalendar();
if (X > 136 && X < 174 && Y > 103 && Y < 137) clkPictures();
if (X > 185 && X < 222 && Y > 103 && Y < 137)
{ // Выбран будильник - Открыть установки будильника
if (alarmTimeH < 10) alarmTime. Insert («0», 1);
alarmTime +=»:» + IntToStr(alarmTimeM);
if (alarmTimeM < 10) alarmTime. Insert («0», 4);
if (X > 38 && X < 74 && Y > 161 && Y < 197) clkCalc();
if (X > 86 && X < 124 && Y > 161 && Y < 197) clkNodes();
if (X > 136 && X < 174 && Y > 161 && Y < 197) clkMap();
if (X > 185 && X < 222 && Y > 161 && Y < 197)
if (X > 38 && X < 74 && Y > 345 && Y < 381)
Buf->Canvas->Brush->Color = clWhite;
Buf->Canvas->FillRect (TRect(0, 0, Buf->Width, Buf->Height));
Graphics:TBitmap *tmp = new Graphics:TBitmap;
if (FileExists (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»))
tmp->LoadFromFile (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»);
if (FileExists (ExtractFilePath(Application->ExeName)+»\\pic\\key.bmp»))
tmp->LoadFromFile (ExtractFilePath(Application->ExeName)+»\\pic\\key.bmp»);
Buf->Canvas->Brush->Color = TColor(0xaaaaaa);
Buf->Canvas->FillRect (TRect(26, 95, 238, 170));
Buf->Canvas->Brush->Style = bsClear;
Buf->Canvas->Font->Style = TFontStyles()<< fsBold;
Buf->Canvas->Font->Color = TColor(0xeeeeee);
while (Buf->Canvas->TextWidth(out) < 212 - Buf->Canvas->TextWidth («W»))
Buf->Canvas->TextOutA (26, 95 + n, out);
n += Buf->Canvas->TextHeight(«») + 2;
Buf->Canvas->Brush->Style = bsClear;
Buf->Canvas->Font->Style = TFontStyles()<< fsBold;
Buf->Canvas->TextOutA (27, 321, «Отправить»);
Buf->Canvas->TextOutA (232 - Buf->Canvas->TextWidth («Назад»), 321, «Назад»);
void __fastcall TMainFm:clkSMSNUM()
Buf->Canvas->Brush->Color = clWhite;
Buf->Canvas->FillRect (TRect(0, 0, Buf->Width, Buf->Height));
Graphics:TBitmap *tmp = new Graphics:TBitmap;
if (FileExists (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»))
tmp->LoadFromFile (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»);
Buf->Canvas->Brush->Style = bsClear;
Buf->Canvas->Font->Style = TFontStyles()<< fsBold;
Buf->Canvas->TextOutA (27, 321, «Отправить»);
Buf->Canvas->TextOutA (232 - Buf->Canvas->TextWidth («Назад»), 321, «Назад»);
Buf->Canvas->TextOutA (126 - Buf->Canvas->TextWidth («Стереть») / 2, 321, «Стереть»);
String tm = Buf->Canvas->Font->Name;
Buf->Canvas->Font->Color = clGreen;
Buf->Canvas->TextOutA (40, 180, callNumber);
if (FileExists (ExtractFilePath(Application->ExeName)+»\\pic\\digits.bmp»))
tmp->LoadFromFile (ExtractFilePath(Application->ExeName)+»\\pic\\digits.bmp»);
void __fastcall TMainFm:clkCalendar()
Buf->Canvas->Brush->Color = clWhite;
Buf->Canvas->FillRect (TRect(0, 0, Buf->Width, Buf->Height));
Graphics:TBitmap *tmp = new Graphics:TBitmap;
if (FileExists (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»))
tmp->LoadFromFile (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»);
Buf->Canvas->Brush->Style = bsClear;
Buf->Canvas->Font->Style = TFontStyles()<< fsBold;
Buf->Canvas->TextOutA (232 - Buf->Canvas->TextWidth («Назад»), 321, «Назад»);
void __fastcall TMainFm:clkPictures()
Buf->Canvas->Brush->Color = clWhite;
Buf->Canvas->FillRect (TRect(0, 0, Buf->Width, Buf->Height));
Graphics:TBitmap *tmp = new Graphics:TBitmap;
if (FileExists (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»))
tmp->LoadFromFile (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»);
Buf->Canvas->Brush->Style = bsClear;
Buf->Canvas->Font->Style = TFontStyles()<< fsBold;
Buf->Canvas->TextOutA (27, 321, «Выбрать»);
Buf->Canvas->TextOutA (232 - Buf->Canvas->TextWidth («Назад»), 321, «Назад»);
Buf->Canvas->Brush->Color = clWhite;
Buf->Canvas->FillRect (TRect(0, 0, Buf->Width, Buf->Height));
Graphics:TBitmap *tmp = new Graphics:TBitmap;
if (FileExists (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»))
tmp->LoadFromFile (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»);
Buf->Canvas->Brush->Style = bsClear;
Buf->Canvas->Font->Style = TFontStyles()<< fsBold;
Buf->Canvas->TextOutA (27, 321, «ОК»);
Buf->Canvas->TextOutA (232 - Buf->Canvas->TextWidth («Назад»), 321, «Назад»);
Buf->Canvas->TextOutA (126 - Buf->Canvas->TextWidth(alarmTime) / 2, 150, alarmTime);
Buf->Canvas->TextOutA (126 - Buf->Canvas->TextWidth («Вкл.») / 2, 132, «Вкл.»);
if (FileExists (ExtractFilePath(Application->ExeName)+»\\pic\\digits.bmp»))
tmp->LoadFromFile (ExtractFilePath(Application->ExeName)+»\\pic\\digits.bmp»);
else Buf->Canvas->TextOutA (126 - Buf->Canvas->TextWidth («Выкл.») / 2, 132, «Выкл.»);
Buf->Canvas->Brush->Color = clWhite;
Buf->Canvas->FillRect (TRect(0, 0, Buf->Width, Buf->Height));
Graphics:TBitmap *tmp = new Graphics:TBitmap;
if (FileExists (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»))
tmp->LoadFromFile (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»);
Buf->Canvas->Brush->Style = bsClear;
Buf->Canvas->Font->Style = TFontStyles()<< fsBold;
Buf->Canvas->TextOutA (27, 321, «Результат»);
Buf->Canvas->TextOutA (232 - Buf->Canvas->TextWidth («Назад»), 321, «Назад»);
Buf->Canvas->Brush->Color = clWhite;
Buf->Canvas->FillRect (TRect(0, 0, Buf->Width, Buf->Height));
Graphics:TBitmap *tmp = new Graphics:TBitmap;
if (FileExists (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»))
tmp->LoadFromFile (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»);
Buf->Canvas->Brush->Style = bsClear;
Buf->Canvas->Font->Style = TFontStyles()<< fsBold;
Buf->Canvas->TextOutA (27, 321, «ОК»);
Buf->Canvas->TextOutA (232 - Buf->Canvas->TextWidth («Назад»), 321, «Назад»);
Buf->Canvas->Brush->Color = clWhite;
Buf->Canvas->FillRect (TRect(0, 0, Buf->Width, Buf->Height));
Graphics:TBitmap *tmp = new Graphics:TBitmap;
if (FileExists (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»))
tmp->LoadFromFile (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»);
if (FileExists (ExtractFilePath(Application->ExeName)+»\\pic\\key.bmp»))
tmp->LoadFromFile (ExtractFilePath(Application->ExeName)+»\\pic\\key.bmp»);
Buf->Canvas->Brush->Color = TColor(0xaaaaaa);
Buf->Canvas->FillRect (TRect(26, 95, 238, 170));
Buf->Canvas->Brush->Style = bsClear;
Buf->Canvas->Font->Style = TFontStyles()<< fsBold;
Buf->Canvas->Font->Color = TColor(0xeeeeee);
while (Buf->Canvas->TextWidth(out) < 212 - Buf->Canvas->TextWidth («W»))
Buf->Canvas->TextOutA (26, 95 + n, out);
n += Buf->Canvas->TextHeight(«») + 2;
Buf->Canvas->Brush->Style = bsClear;
Buf->Canvas->Font->Style = TFontStyles()<< fsBold;
Buf->Canvas->TextOutA (27, 321, «Удалить все»);
Buf->Canvas->TextOutA (232 - Buf->Canvas->TextWidth («Назад»), 321, «Назад»);
void __fastcall TMainFm:clkSettings()
Buf->Canvas->Brush->Color = clWhite;
Buf->Canvas->FillRect (TRect(0, 0, Buf->Width, Buf->Height));
Graphics:TBitmap *tmp = new Graphics:TBitmap;
if (FileExists (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»))
tmp->LoadFromFile (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»);
Buf->Canvas->Brush->Style = bsClear;
Buf->Canvas->Font->Style = TFontStyles()<< fsBold;
Buf->Canvas->TextOutA (27, 321, «ОК»);
Buf->Canvas->TextOutA (232 - Buf->Canvas->TextWidth («Назад»), 321, «Назад»);
Buf->Canvas->TextOutA (126 - Buf->Canvas->TextWidth («Выбор профиля:») / 2, 100, «Выбор профиля:»);
Buf->Canvas->TextOutA (50, 140, «Мелодия»);
Buf->Canvas->TextOutA (50, 160, «Вибро»);
Buf->Canvas->TextOutA (50, 180, «Мелодия и вибро»);
Buf->Canvas->Brush->Style = bsClear;
Buf->Canvas->Brush->Color = TColor(0x555555);
Buf->Canvas->Font->Color = clWhite;
Buf->Canvas->TextOutA (50, 140, «Мелодия»);
Buf->Canvas->Brush->Style = bsClear;
Buf->Canvas->Brush->Color = TColor(0x555555);
Buf->Canvas->Font->Color = clWhite;
Buf->Canvas->TextOutA (50, 160, «Вибро»);
Buf->Canvas->Brush->Style = bsClear;
Buf->Canvas->Brush->Color = TColor(0x555555);
Buf->Canvas->Font->Color = clWhite;
Buf->Canvas->TextOutA (50, 180, «Мелодия и вибро»);
Buf->Canvas->Brush->Color = clWhite;
Buf->Canvas->FillRect (TRect(0, 0, Buf->Width, Buf->Height));
Graphics:TBitmap *tmp = new Graphics:TBitmap;
if (FileExists (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»))
tmp->LoadFromFile (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»);
Buf->Canvas->Brush->Style = bsClear;
Buf->Canvas->Font->Style = TFontStyles()<< fsBold;
Buf->Canvas->TextOutA (27, 321, «Вызов»);
Buf->Canvas->TextOutA (232 - Buf->Canvas->TextWidth («Назад»), 321, «Назад»);
Buf->Canvas->TextOutA (126 - Buf->Canvas->TextWidth («Стереть») / 2, 321, «Стереть»);
String tm = Buf->Canvas->Font->Name;
Buf->Canvas->Font->Color = clGreen;
Buf->Canvas->TextOutA (40, 180, callNumber);
if (FileExists (ExtractFilePath(Application->ExeName)+»\\pic\\digits.bmp»))
tmp->LoadFromFile (ExtractFilePath(Application->ExeName)+»\\pic\\digits.bmp»);
void __fastcall TMainFm: TimerCallTimer (TObject *Sender)
Buf->Canvas->Brush->Color = clWhite;
Buf->Canvas->FillRect (TRect(0, 0, Buf->Width, Buf->Height));
Graphics:TBitmap *tmp = new Graphics:TBitmap;
if (FileExists (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»))
tmp->LoadFromFile (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»);
Buf->Canvas->Brush->Style = bsClear;
Buf->Canvas->Font->Style = TFontStyles()<< fsBold;
Buf->Canvas->TextOutA (232 - Buf->Canvas->TextWidth («Отмена»), 321, «Отмена»);
String tm = Buf->Canvas->Font->Name;
Buf->Canvas->Font->Color = clGreen;
Buf->Canvas->TextOutA (126 - Buf->Canvas->TextWidth(callNumber) / 2, 180, callNumber);
if (FileExists (ExtractFilePath(Application->ExeName)+»\\pic\\call.bmp»))
tmp->LoadFromFile (ExtractFilePath(Application->ExeName)+»\\pic\\call.bmp»);
Buf->Canvas->Draw (30 + (callPos% 7) * 30, 240, tmp);
void __fastcall TMainFm: TimerSendTimer (TObject *Sender)
Buf->Canvas->Brush->Color = clWhite;
Buf->Canvas->FillRect (TRect(0, 0, Buf->Width, Buf->Height));
Graphics:TBitmap *tmp = new Graphics:TBitmap;
if (FileExists (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»))
tmp->LoadFromFile (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»);
Buf->Canvas->Brush->Style = bsClear;
Buf->Canvas->Font->Style = TFontStyles()<< fsBold;
Buf->Canvas->TextOutA (232 - Buf->Canvas->TextWidth («Отмена»), 321, «Отмена»);
String tm = Buf->Canvas->Font->Name;
Buf->Canvas->Font->Color = clGreen;
Buf->Canvas->TextOutA (126 - Buf->Canvas->TextWidth («Отправка…») / 2, 180, «Отправка…»);
if (FileExists (ExtractFilePath(Application->ExeName)+»\\pic\\send.bmp»))
tmp->LoadFromFile (ExtractFilePath(Application->ExeName)+»\\pic\\send.bmp»);
Buf->Canvas->Draw (30 + (callPos% 6) * 20, 240, tmp);
Buf->Canvas->Brush->Style = bsClear;
Buf->Canvas->Font->Style = TFontStyles()<< fsBold;
Buf->Canvas->TextOutA (232 - Buf->Canvas->TextWidth («ОК»), 321, «ОК»);
String tm = Buf->Canvas->Font->Name;
Buf->Canvas->Font->Color = clGreen;
Buf->Canvas->TextOutA (126 - Buf->Canvas->TextWidth («Отправлено») / 2, 180, «Отправлено»);
void __fastcall TMainFm: TimerAlarmTimer (TObject *Sender)
Buf->Canvas->Brush->Color = clWhite;
Buf->Canvas->FillRect (TRect(0, 0, Buf->Width, Buf->Height));
Graphics:TBitmap *tmp = new Graphics:TBitmap;
if (FileExists (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»))
tmp->LoadFromFile (ExtractFilePath(Application->ExeName)+»\\pic\\iPhone_bg.bmp»);
Buf->Canvas->Brush->Style = bsClear;
Buf->Canvas->Font->Style = TFontStyles()<< fsBold;
Buf->Canvas->TextOutA (232 - Buf->Canvas->TextWidth («Отмена»),
Приложение "Сотовый телефон" курсовая работа. Программирование, компьютеры и кибернетика.
Дипломная работа по теме Деятельное раскаяние в уголовном праве
Курсовая работа по теме Актуальность вопросов профилактики социальных болезней у подростков
Курсовая работа по теме Специфика музыкального мышления и возможность интеллектуального развития в процессе музыкального образования
Реферат: Влияние витаминов А и Е на женский организм. Скачать бесплатно и без регистрации
Курсовая работа по теме Эволюция биржевой торговли
Что Такое Материнская Любовь Сочинение Рассуждение 15.3
Можно Ли Доверять Роботам Эссе
Реферат: Ансамбль і його види
Дипломная работа по теме Гражданско-правовое регулирование обязательств по оказанию услуг
Гражданский кодекс РФ
Декабрьское Сочинение Зачем Человеку Заглядывать В Будущее
Дипломная работа: Преступления, связанные с незаконным оборотом наркотических средств и психотропных веществ
Курсовая работа: Основы учения о конституции. Скачать бесплатно и без регистрации
Реферат по теме Иван Вазов
Курсовая Работа По Гражданскому Праву Темы
Реферат по теме Взаимосвязь экологии и философии
Курсовая работа по теме Административно-юрисдикционный процесс в сфере здравоохранения
Курсовая работа: Годовая бухгалтерская отчетность
Контрольная работа по теме Расчеты показателей привода лебедки
Информационная Безопасность В Интернете Реферат
Проект международного сибирского социально-культурного, спортивного и лечебно-оздоровительного центра - Маркетинг, реклама и торговля бизнес-план
Аналоговые электронные устройства - Коммуникации, связь, цифровые приборы и радиоэлектроника курсовая работа
Эволюция творчества Э. Рязанова в контексте отечественной культуры 80-90 гг. ХХ века - Культура и искусство курсовая работа