Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие Delphi.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
5 Мб
Скачать
☆

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.

Порядок выполнения программы такой: приложение начинает свою работу с метода «Показ формы», в котором идет обращение к методу нажатие на кнопку «Очистить» (установить нули в редакторы, установить фокус ввода в первый редактор). Затем приложение будет ждать нажатия кнопки «Рассчитать». В методе « нажатие на кнопку «Расситать» программа переводит введенное в первый редактор значение из км/час в м/с и записывает новое значение во второй редактор.