Определение функций и классов
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.
Рис.4.1. Программа «Конвертер»
1. Для того чтобы начать работать с программой введите требуемое значение в окно ввода «исходное значение».
2. В программе предусмотрена проверка вводимых данных, поэтому при вводе символов или текстовых данных программа подсвечивает поля вывода красным и не выполняет никаких действий (перевода). Для продолжения работы с программой введите численное значение. Поведение программы при этом проиллюстрировано на рисунке 4.2.
Рис.4.3. Ввод ошибочных данных
3. В выпадающем списке выберите нужную пару физических величин.
4. Программа выводит значение перевода из одной системы измерения в другую (значение выводит в поле вывода «Результат»), и наоборот (значение выводит в поле вывода «Обратный»). Это проиллюстрировано на рисунке 4.4.
Рис.4.4. Вывод данных программой
5. Также для эстетического удовольствия работы пользователя с программой предусмотрено изменение цвета окна. Для этого в верхней части окна на панели меню нажимаем: Файл ->Цвет окна.
6. В появившемся окне есть выпадающий список с цветами (рисунок 4.5)
Рис. 4.5. Выпадающий список с цветами
7. После того, как вы выбрали понравившийся цвет, нажимаем кнопку «ОК». Наблюдаем изменение цвета окна (рисунок 4.6).
Рис. 4.6. Вид окна программы после изменения цвета
8. Для завершения работы с программой выберите в меню: Файл -> Выход либо воспользуйтесь стандартной кнопкой закрытия окна.
Контрольный пример
Компиляция программы
Компиляция данного программного кода выполнялась в пакете Borland Builder 6, также программу можно отладить в любом компиляторе работающим с языками С/С++, содержащего набор библиотек VCL. Вид программы при запуске представлен на рисунке 5.1. При запуске программы никаких проблем не возникло.
Рис.5.1. Вид программы после запуска
Пример
В поле ввода «исходное значение» вводим число, например 10. Вид программы при вводе значения представлен на рисунке 5.2.
Рис.5.2. Вид программы при вводе значения
В выпадающем меню выбрала пункт с переводом с миллиметров в сантиметры. После чего программа выдала в результат перевода, и обратный, т.е. с сантиметров в миллиметры. Вид программы, выдавшей окончательный результат после выбора физических величин, представлен на рис.5.3.
Рис.5.3. Вид программы после выбора физических величин.
Так как все расчёты проводились на этапе разработки программы, введенные формулы работают без ошибочно. Все результаты выданные программой совпадают с результатами полученными на калькуляторе.
Проверим действия программы при вводе неправильных данных. Рассмотрим 2 случая:
1. Ввод текстовых данных
Для проверки введём в окно «исходное значение» любые текстовые данные. Программа при этом имеет вид, представленный на рисунке 5.4.
2. Ввод символов
Для проверки введём в окно «исходное значение» произвольные символы. Программа при этом имеет вид, представленный на рисунке 5.5.
Рис.5.4. Ввод текстовых данных
Рис.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)