Определение функций и классов

3.3.1. Описание функции WinMain

Основная функция WinMain отвечает за запуск и инициализацию всех компонентов.

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

{

try

{

Application->Initialize();

Application->CreateForm(__classid(TMainForm), &MainForm);

Application->CreateForm(__classid(TSelectColorForm), &SelectColorForm);

Application->Run();

}

catch (Exception &exception)

{

Application->ShowException(&exception);

}

catch (...)

{

try

{

throw Exception("");

}

catch (Exception &exception)

{

Application->ShowException(&exception);

}

}

return 0;

}

3.3.2. Описание функции proccess

Функция TMainForm::proccess() – является методом класса основного окна и реализует главную задачу приложения, а именно перевод величин. Также метод производит проверку на корректность введённой информации.

__fastcall TMainForm::proccess() {

double res = 0, bres = 0;

double src;

try {

src = Src->Text.ToDouble();

} catch (EConvertError &e) {

src = 0.0;

Dst->Color = clRed;

Dst->Text = "";

Back->Color = clRed;

Back->Text = "";

return 0;

}

Dst->Color = clWindow;

Back->Color = clWindow;

int i = Variants->ItemIndex;

if (i > -1 && i < 16) {

if (actions[i] == '+') {

res = src + coeficients[i];

bres = src - coeficients[i];

}

if (actions[i] == '*') {

res = src * coeficients[i];

bres = src / coeficients[i];

}

}

Dst->Text = FloatToStrF(res, ffFixed, 8, 4);

Back->Text = FloatToStrF(bres, ffFixed, 8, 4);

}

Описание класса TMainForm

Класс TMainForm - реализует основной функционал программы.

class TMainForm : public TForm

{

__published: // IDE-managed Components

TLabel *Label1;

TEdit *Src;

TLabel *Label2;

TEdit *Dst;

TComboBox *Variants;

TMainMenu *MainMenu1;

TMenuItem *N1;

TMenuItem *N2;

TMenuItem *N3;

TMenuItem *N4;

TMenuItem *N5;

TLabel *Label3;

TEdit *Back;

void __fastcall N3Click(TObject *Sender); //объявление методов класса главной формы

void __fastcall N2Click(TObject *Sender);

void __fastcall SrcChange(TObject *Sender);

void __fastcall FormResize(TObject *Sender);

void __fastcall VariantsChange(TObject *Sender);

void __fastcall N4Click(TObject *Sender);

private: // User declarations

int lwidth;

int lheight;

public: // User declarations

__fastcall TMainForm(TComponent* Owner);

__fastcall proccess();

};

Описание класса TSelectColorForm

Класс TSelectColorForm – реализует функционал для выбора цвета главного окна.

class TSelectColorForm : public TForm

{

__published: // IDE-managed Components

TColorBox *ColorBox;

TLabel *Label1;

TButton *OkButton;

void __fastcall OkButtonClick(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TSelectColorForm(TComponent* Owner);

};

.

Руководство пользователя

Интерфейс разработанной программы интуитивно понятен подписями. Однако для более полного понимания работы программы и ее возможностей рассмотрим данное руководство. Графический интерфейс программы представлен на рисунке 4.1.

Определение функций и классов - student2.ru

Рис.4.1. Программа «Конвертер»

1. Для того чтобы начать работать с программой введите требуемое значение в окно ввода «исходное значение».

2. В программе предусмотрена проверка вводимых данных, поэтому при вводе символов или текстовых данных программа подсвечивает поля вывода красным и не выполняет никаких действий (перевода). Для продолжения работы с программой введите численное значение. Поведение программы при этом проиллюстрировано на рисунке 4.2.

Определение функций и классов - student2.ru

Рис.4.3. Ввод ошибочных данных

3. В выпадающем списке выберите нужную пару физических величин.

4. Программа выводит значение перевода из одной системы измерения в другую (значение выводит в поле вывода «Результат»), и наоборот (значение выводит в поле вывода «Обратный»). Это проиллюстрировано на рисунке 4.4.

Определение функций и классов - student2.ru

Рис.4.4. Вывод данных программой

5. Также для эстетического удовольствия работы пользователя с программой предусмотрено изменение цвета окна. Для этого в верхней части окна на панели меню нажимаем: Файл ->Цвет окна.

6. В появившемся окне есть выпадающий список с цветами (рисунок 4.5)

Определение функций и классов - student2.ru

Рис. 4.5. Выпадающий список с цветами

7. После того, как вы выбрали понравившийся цвет, нажимаем кнопку «ОК». Наблюдаем изменение цвета окна (рисунок 4.6).

Определение функций и классов - student2.ru

Рис. 4.6. Вид окна программы после изменения цвета

8. Для завершения работы с программой выберите в меню: Файл -> Выход либо воспользуйтесь стандартной кнопкой закрытия окна.

Контрольный пример

Компиляция программы

Компиляция данного программного кода выполнялась в пакете Borland Builder 6, также программу можно отладить в любом компиляторе работающим с языками С/С++, содержащего набор библиотек VCL. Вид программы при запуске представлен на рисунке 5.1. При запуске программы никаких проблем не возникло.

Определение функций и классов - student2.ru

Рис.5.1. Вид программы после запуска

Пример

В поле ввода «исходное значение» вводим число, например 10. Вид программы при вводе значения представлен на рисунке 5.2.

Определение функций и классов - student2.ru

Рис.5.2. Вид программы при вводе значения

В выпадающем меню выбрала пункт с переводом с миллиметров в сантиметры. После чего программа выдала в результат перевода, и обратный, т.е. с сантиметров в миллиметры. Вид программы, выдавшей окончательный результат после выбора физических величин, представлен на рис.5.3.

Определение функций и классов - student2.ru

Рис.5.3. Вид программы после выбора физических величин.

Так как все расчёты проводились на этапе разработки программы, введенные формулы работают без ошибочно. Все результаты выданные программой совпадают с результатами полученными на калькуляторе.

Проверим действия программы при вводе неправильных данных. Рассмотрим 2 случая:

1. Ввод текстовых данных

Для проверки введём в окно «исходное значение» любые текстовые данные. Программа при этом имеет вид, представленный на рисунке 5.4.

2. Ввод символов

Для проверки введём в окно «исходное значение» произвольные символы. Программа при этом имеет вид, представленный на рисунке 5.5.

Определение функций и классов - student2.ru

Рис.5.4. Ввод текстовых данных

Определение функций и классов - student2.ru

Рис.5.5.Ввод символов

Как видно из рис.5.4-5. При вводе текстовых либо символьных значений программа подсвечивает поля вывода красным цветов и не выполняет никаких действий.

Заключение

В ходе выполнения работы мною были приобретены навыки кодирования и отладки приложений платформы Windows в среде разработке Borland Builder. Результатом этой работы стала программа-утилита, предназначенная для конвертирования численных значений физических величин в эквивалентные в иных системах измерения. В итоге мы получили исполняемый файл Win32 приложения написанный на языке программирования С++ с применением набора библиотек VCL.

Список литературы

1. Шамис В.А. Borland C++ Builder: Программирование на С++ без проблем. М.: Нолидж, 1997. – 226с. (681 Ш193)

2. Кент Рейсфорд, Кен Хендерсон. Borland C++ Builder. Освой самостоятельно за 21 день.

3. Виктор Алексанкин, Наталия Елманова.Начинаем работать в Borland C++ Builder.

Компьютер-Пресс, 1997, N 4.

4. Тимофеев В.С. Программирование в среде C++ Builder 5. М., Бином, 2002. - 368с. (681 Т415)

5. Киммел П. Borland C++ 5. СПб.: БХВ – Петербург, 2001. – 976с. (681 К404)

Наши рекомендации