- •Введение
- •1Алгоритм. Разработка алгоритмов. Блок-схемы
- •3Операторы языка Delphi
- •3.1Оператор присваивания
- •3.2Оператор ввода-вывода
- •3.3Составные операторы
- •3.4Условный оператор
- •3.7Цикл с параметром (счетчик)
- •3.8Массивы
- •3.5Цикл с предусловием
- •3.6 Цикл с постусловием
- •3.9Строки
- •3.10Записи
- •3.11Множества
- •4Отладчик программы Debugger
- •5Среда Delphi
- •6Создание интерфейса приложения
- •7Подпрограммы
- •7.1Процедуры
- •7.2Функции
- •7.3Параметры и аргументы
- •8Особенности объектно-ориентированного программирования
- •9Работа с кнопкой
- •10Работа с текстом
- •10.1Работа с надписью
- •10.2Функции преобразования числа в строку и строки в число
- •10.3Работа в однострочном редакторе (Edit, LabeledEdit)
- •10.4Работа с многострочным редактором Memo
- •11Диалоги, сообщения
- •11.1Процедура ShowMessage
- •11.2Процедура MessageDlg
- •11.3Процедура InputBox
- •11.4Процедура InputQuery
- •11.5Стандартные диалоги
- •12Работа с компонентом StringGrid
- •13Построение графика функции
- •14Файлы
- •15Работа со списками и переключателями
- •15.1 Компонент ChekBox
- •15.2Компонент RadioButton
- •16Исключительные ситуации
- •17Работа с несколькими модулями
- •18Работа с формой
- •Содержание
- •Список использованных источников
10.3Работа в однострочном редакторе (Edit, LabeledEdit)
Для ввода и вывода информации в однострочном редакторе служит свойство Text типа String:
LabeledEdit2.Text:='0'; - в окно редактора будет записан 0.
Работа с компонентом LabeledEdit не отличается от работы с компонентом Edit. Компонент LabeledEdit – это синтез двух компонентов Label (надпись) и Edit (редактор). Чтобы изменить заголовок надписи используют свойство Сaption составного свойства EditLabel. Можно менять расположение надписи относительно редактора, использовав при этом свойство LabelPosition.
Для проверки вводимой информации (например, запрет ввода всех символов, кроме цифр, клавиши Delete - #8 и разделителя целой и дробной части - DecimalSeparator) можно использовать событие нажатие клавиш:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(Key in ['0'..'9',#8,DecimalSeparator])
then Key:=#0;// ничего не введено
end;
Пример 9. Программа перевода скорости, измеренной в км/час в скорость в м/с. На форме расположены следующие элементы: надпись, два редактора и три кнопки. Внешний вид формы представлен на рисунке 15.
Рисунок 15 - Внешний вид формы
Значения свойств компонентов представлены в таблицах.
Таблица 2 - Значения свойств компонента Form
Свойство |
Значение |
Caption |
‘’ |
Font.Name |
Arial |
Font.Size |
12 |
Font.CharSet |
RUSSIAN_CHARSET |
Position |
poScreenCenter |
Таблица 3- Значения свойств компонента Label
Свойство |
Значение |
Caption |
Перевод из км/час в м/с |
ParentFont |
True (установить сначала это свойство) |
Font.Style |
[fsBold] (выбрать после установки предыдущего свойства) |
AutoSize |
true |
Таблица 4 - Значения свойств компонентов LabeledEdit
Свойство |
Значение |
EditLabel.Caption |
Для первого – «Скорость в км/час», для второго – «Скорость в м/с» |
ParentFont |
True |
LabelPosition |
lpLeft |
LabelSpacing |
5 |
Text |
‘’ |
Таблица 5 -Значение свойств для компонента BitBtn1
Свойство |
Значение |
kind |
bkOK (установить данное свойство до ввода значения в свойство Caption) |
Caption |
Рассчитать |
Cursor |
crHandPoint |
Hint |
Расчет |
ShowHint |
True |
Таблица 6 - Значение свойств для компонента BitBtn2
Свойство |
Значение |
kind |
bkClose (установить данное свойство до ввода значения в свойство Caption) |
Caption |
Выход |
Cursor |
crHandPoint |
Hint |
Закрыть программу |
ShowHint |
True |
Таблица 7-Значение свойств для компонента BitBtn3
Свойство |
Значение |
kind |
bkNone (установлено по умолчанию) |
Caption |
‘’ |
Cursor |
crHandPoint |
Hint |
Ввести новые значения |
Glyph |
Выбрать Clear.bmp из Program Files\Common Files\Borland Shared\ Images\Buttons |
Листинг программы:
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
// нажатие на кнопку рассчитать
const
Koeff=1/3.6;
var
Km,M:real;
begin
Km:=StrToFloat(Form1.LabeledEdit1.Text);
M:=Km*Koeff;
Form1.LabeledEdit2.Text:=
FloatToStrF(M,ffFixed,5,2);
end;
procedure TForm1.FormShow(Sender: TObject);
begin
Form1.BitBtn3Click(Sender);// вызов процедуры
end; // нажатие на кнопку «Очистить»
procedure TForm1.LabeledEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in['0'..'9',#8,DecimalSeparator])
then Key:=#0;// запрет ввода не числа
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
// нажатие на кнопку «Очистить»
begin
Form1.LabeledEdit1.Text:='0';//в редактор записать 0
Form1.LabeledEdit2.Text:='0';
if Form1.LabeledEdit1.CanFocus then
Form1.LabeledEdit1.SetFocus;//установить фокус ввода
end;
end.
Порядок выполнения программы такой: приложение начинает свою работу с метода «Показ формы», в котором идет обращение к методу нажатие на кнопку «Очистить» (установить нули в редакторы, установить фокус ввода в первый редактор). Затем приложение будет ждать нажатия кнопки «Рассчитать». В методе « нажатие на кнопку «Расситать» программа переводит введенное в первый редактор значение из км/час в м/с и записывает новое значение во второй редактор.
