В форме практически любого приложения есть компоненты, которые обеспечивают интерфейс (взаимодействие) между программой и пользователем. Такие компоненты называют базовыми. К базовым компонентам относятся:
Label – метка для вывода текста;
Edit – текстовое окно для ввода/редактирования текста;
Button – командная кнопка;
CheckBox – независимая кнопка выбора;
RadioButton - зависимая кнопка выбора;
ListBox – список выбора;
ComboBox – комбинированный список выбора.
Исходную информацию программа может получить из полей ввода/редактирования (Edit, Memo), списка выбора (ListBox) или комбинированного списка (ComboBox). Для ввода значений логического типа можно использовать CheckBox и RadioButton.
Результат программа может вывести в поле вывода текста (Label) или окно сообщений (функция ShowMessage).
Если разрабатываемая программа должна обрабатывать числовые данные, то необходимо использовать функции преобразования типов, т.к. компоненты Edit, Label, ListBox, ComboBox возвращают значения строкового типа.
IntToStr значение типа Integer в значение типа String
FloatToStrзначение типа Floatв значение типа String
StrToIntзначение типа String в значение типа Integer
StrToFloatзначение типа Stringв значение типа Float
Постановка задачи:
Разработать приложение, которое позволяет выполнить пересчет скорости ветра из «метров в секунду» в «километры в час».
Порядок выполнения:
1. Загрузить Delphi;
2. Установить на форму 3 компонента Label, компонент Edit и Button.
3. Привести форму в соответствие с образцом;
4. Для командной кнопки ввести следующий программный код:
Procedure TForm1.Button1Click(Sender: TObject);
Var
ms: integer; //скорость м/с
kmh: real; //скорость км/час
begin
ms := StrToInt(Edit1.Text); //ввести исходные данные
kmh := ms * 3.6; //пересчитать
Label3.Caption := IntToStr(ms) + ' м/с - это ' + FloatToStr(kmh) + ' км/час' //вывести результат
end;
5. Проверить работу приложения на различных значениях скорости. Проверить реакцию программы, если поле ввода осталось пустым.
6. Модернизировать приложение таким образом, чтобы пользователь мог ввести в поле Скорость только целое положительное число. Для этого:
§ в процедуру Button1Click добавить следующий код (выделен полужирным шрифтом):
Procedure TForm1.Button1Click(Sender: TObject);
begin
if Length(Edit1.Text) = 0 then
Begin
ShowMessage('Надо ввести скорость');
exit;
end;
ms := StrToInt(Edit1.Text);
...//(далее без изменений)
end;
§ Для объекта Edit1 выбрать событие KeyPress и ввести следующий код:
Procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);