ОСНОВНЫЕ ФУНКЦИИ И ПРАВИЛА НАПИСАНИЯ ПРОГРАММ
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Общие замечания

ü Процесс создания программы в С++ Builder состоит из двух шагов: сначала нужно создать форму программы (диалоговое окно), а затем функции обработки событий. Форма приложения (так принято называть прикладные программы, работающие в Windows) создается путем добавления в нее компонентов и последующей их настройки.

ü В форме практически любого приложения есть компоненты, которые обеспечивают интерфейс (взаимодействие) между программой и пользователем. Такие компоненты называют базовыми. К базовым компонентам можно отнести:

· Label  – поле вывода текста

· Edit  – поле редактирования текста

· Button  – командная кнопка

· CheckBox  – независимая кнопка выбора

· RadioButton  – зависимая кнопка выбора

· ListBox  – список выбора

· ComboBox  – комбинированный список выбора

ü Вид компонента, его размер и поведение определяют значения свойств компонента (описание свойств базовых компонентов можно найти в справочнике в конце пособия).

ü Основную работу в программе выполняют функции обработки событий.

ü Исходную информацию программа может получать из полей редактирования, списка выбора или комбинированного списка. Для ввода значений логического типа можно использовать компоненты CheckBox и RadioButton.

ü Результат программы может вывести в поле вывода текста или в окно сообщения (функции ShowMessage, MessageDlg).

 

Базовые компоненты

Рассмотрим пример написания программы подсчета суммы двух чисел, введенных в поля Edit1, Edit 2.

 

    Добавим на форму следующие компоненты: Edit1, Edit2 (для ввода самих чисел), Label1, Labe2, Label3 (информационный текст и вывод результата), Button1 (управляющая кнопка). Т.к. вычисление суммы будет происходить по нажатию кнопки, выбираем Button1, событие onClick и записываем следующий текст:

Остановимся подробнее на используемых функциях. Т.к. введенные данные в поля Edit1, Edit2 имеют строковый тип (аналогично для всех компонент, хранящих текст), чтобы иметь возможность рассматривать их как числовые значения нужно перевести их в соответствующий тип.

StrToFloat – преобразование строки в число типа float

StrToInt – преобразование строки в число типа int

    Например:

a=StrToFloat(Edit1->Text); // получить данные из поля ввода и перевести его в тип float

 

Чтобы вывести результат, необходимо числовое значение преобразовать в строковое.

FloatToStr – преобразование числа типа float в строку

FloatToStr F – форматное преобразование числа типа float в строку (описание функции и возможные параметры приведены в справочнике)

IntToStr – преобразование числа типа int в строку

Например:

Label1->Caption=”Результат” + FloatToStrF(a, ffGeneral,7,2); // вывести результат в поле

В С++ Builder конкатенация (объединение) строк происходит с помощью операции сложения.

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

Для вывода окна с информационным сообщением используется функция ShowMessage.

Например:

ShowMessage(“Text”); // вывод сообщения

Чтобы программа при наличии пустых полей не дошла до места подсчета суммы двух чисел, после информационного сообщения необходимо поставить return для прерывания всей функции onClick.  

Для установки фокуса клавиатуры в заданной компоненте используется функция SetFocus.

Например:

Edit1->SetFocus(); // курсор в поле Edit1

Для закрытия окна (в случае, если окно главное, то закрытие окна приведет к выходу из программы), используется функция Close.

Например:

Form1->Close(); // завершить программу

Чтобы программа выглядела полноценной, желательно добавлять события, исключающие возникновение ошибок. Например, добавим в нашу программу события, которые проверяют, что в поля Edit1, Edit2 вводятся только цифры, знак разделителя или знак минус, ввод любых других символов запретим (на данном этапе опустим проверку количества введенных знаков минуса и разделителя).

Воспользуемся событиями Edit1KeyPress и Edit2KeyPress, возникающие каждый раз при нажатии символа с клавиатуры. Входным параметром является переменная Key, отвечающая за введенный символ. Заметим, что символ можно определить либо по значению, либо по его коду. Символ, имеющий код 0, является неотображаемым, поэтому все неподходящие для нас символы заменяем на него, остальные оставляем без изменений.

 

Аналогично для Edit2KeyPress.

Практикум

1. Разработать приложение «Сила тока», вычисляющее силу тока в электрической цепи. Обработать ситуацию возможного деления на ноль. Формула силы тока: . Проверить правильность введенных данных и заполнение всех нужных полей. Используемые компоненты: Label1, Label2, Label3, Label4, Edit1, Edit2, Button1, Button2. Форма программы показана на рисунке.

 

 

2. Напишите программу вычисления дохода по вкладу в банке. Доход вычисляется по формуле: Д=С*(СР/360)*(СТ/100), где: С – сумма вклада, СР – срок вклада (количество дней), СТ – процентная ставка (годовых). В конце ответа добавьте слово «рублей». Проверить правильность введенных данных и заполнение всех нужных полей. Рекомендуемый вид формы приведен на рисунке.

 

 

3. Напишите программу «Конвертор», которая пересчитывает цену из долларов в рубли (формула: Цена*Курс). Проверить правильность введенных данных и заполнение всех нужных полей. Рекомендуемый вид формы приведен на рисунке.

 

 

 

 

Элементы выбора

Рассмотрим особенности использования элементов выбора RadioButton и CheckBox. При использовании кнопок RadioButton пользователь сможет выбрать один из вариантов, при этом убрать свой выбор будет нельзя. При использовании кнопок CheckBox пользователь сможет выбрать несколько из вариантов, при этом можно будет убрать свой выбор.

Можно использовать компоненту RadioGroup для создания группы кнопок типа RadioButton. Переключатели  RadioButton работают в своей группе, т.е. если у вас две группы RadioGroup, то переключатели из одной не влияют на поведение переключателей из второй. Сначала создается RadioGroup, поверх нее RadioButton.

 

 

Основные свойства элементов RadioButton и CheckBox:

ü свойство компоненты Checked – состояние, внешний вид кнопки: если кнопка выбрана, то Checked=true, если кнопка не выбрана, то Checked=false.

ü свойство компоненты Enabled признак доступности кнопки. Если значение свойства равно true, то кнопка доступна. Если значение свойства равно false, то кнопка недоступна (например, событие onClick не возникает).

    

Например:

При выборе кнопки RadioButton1 сообщить об этом

if(RadioButton1->Checked = = true)

{ ShowMessage(“Кнопка выбрана!”); }

 

При выборе кнопки CheckBox1 заблокировать кнопку CheckBox2

if(CheckBox1->Checked = = true)

{ CheckBox2->Enabled=false; }

 

Проверить, что выбран хотя бы один из вариантов и в противном случае, сообщить об ошибки.

if(RadioButton1->Checked = = false && RadioButton2->Checked = = false)

{ ShowMessage(“Нужно сделать выбор!”);  

  return; }

 

Практикум

1. Написать программу «Сопротивление», вычисляющую сопротивление электрической цепи, состоящей из двух резисторов, которые могут быть соединены последовательно или параллельно (использовать RadioGroup1, RadioButton1, RadioButton2). Для последовательного соединения  формула сопротивления: , для параллельного: . Необходимо делать проверку, что выбран тип соединения и что введены корректные данные (вводятся только цифры и одна точка для дробных чисел).

 

2. Написать программу «Кафе», ее форма приведена на рисунке.

 

При заказе полного набора предоставить скидку 5 %. Соус можно заказывать только при заказе Биг-Мак (изначально кнопка недоступна).

 

 

Дата: 2019-04-23, просмотров: 213.