Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Delphi2.doc
Скачиваний:
4
Добавлен:
30.07.2019
Размер:
169.98 Кб
Скачать

1.3 Изучение элементов страницы Стандарт: поле метки tLabel и однострочного текстового редактора tEdit, их свойств и методов.

.

Использование компонентов и их свойства.

Компнент tLabel

Property:

Name <имя переменой>-имя объекта в программе, задается по правилам задания имен. .Стирать нельзя.

Caption: string- текст на метке.

Autosize: Boolean- автоизменение размера метки в зависимости от длины текста.

Wordwrap: Boolean –разрешает разрыв строки на границе слова. Используется для вывода многострочных надписей.Autosize должен быть = True.

LayOut : TtextLayout, где

TtextLayout (Tltop, Tlcentral, Tlbutton).

- выравнивание по верху, центру и низу соответственно

Однострочный текстовый редактор tEdit

Однострочный текстовый редактор, позволяет вводить или отображать строки.

Property

Text: string- текст на элементе.

Borderstyle : TBorderStyle=( bsNone, bsSingle). Это свойство определяет стиль оформления элемента. BsNone без оформления и BsSingle оформление линией.

Autosize - то же, что у Label.

Maxlength: integer- максимальная длина строки. 0- длина неограничена.

Passwordchar: char- символ, заданный в этом свойстве, заменяет собой любой символ текста при отображении в окне ввода. Используется для ввода паролей.

Readonly: Boolean- можно/нельзя менять текст в окне.

Enabled: Boolean- разрешает или запрещает доступ к компоненту.

Visible: Boolean- определяет будет ли компонент отображаться на форме.

Procedure:

Selectall - выделяет весь текст.

Clearselection- удаляет выделенный текст.

Clear – очищает компонент.

1.4 Создать приложение Калькулятор.

Задание:

Написать программы: Простейшего калькулятора. Предусмотреть возможность деления на ноль и извлечения корня из отрицательного числа. Ненужные поля скрыть. В приложении Калькулятор сообщения об ошибках: деление на ноль и извлечение квадратного корня из отрицательного корня, - вывести с помощью окна сообщения.

Калькулятор:

Порядок выполнения:

Дважды щелкнуть на кнопке +. В открывшемся программном коде набрать следующий текст:

Procedure Tform1.BtPlus(Sender:TObject);

var

a, b, c : real;

begin

a:=StrToFloat(Edit1.Text);

b:=StrToFloat(Edit2.Text);

c := a+b;

Edit3.Text := FloatToStr(c);

end;

Аналогично выполнить для вычитания, умножения, деления, извлечения квадратного корня.

Для деления, извлечения квадратного корня предусмотреть, что могут возникнуть критические ситуации (деление на ноль, извлечение корня из отрицательного числа). При извлечении корня элемент Edit2 сделать невидимым. Для проверки правильности ввода через Edit используют оператор обработки исключений:

try

A: = strtoint (edit1.Text);

except

showmessage ('Не заданы параметры');

exit

end;

Программа выполняет действия между служебными словами Try и except, если возникает ошибка, выполняются действия между служебными словами except и end, если выполнение операций завершилось успешно, выполняются действия далее по программе., а действия между служебными словами except и end – игнорируются.

Чтобы установить разрешение ввода только десятичных цифр, нужно использовать следующую процедуру обработки события OnKeyPress:

Procedure TForm1.Edit1KeyPress(Sender:TObject; var Key :Char);

begin

if (Key<’0’) or (Key>’9’) then Key:=#0;

end;

Чаще всего нажатие клавиши Enter служит признаком окончания ввода информации в поле редактора, после чего следует перейто к другому элементу управления, т.е. передать ему фокус управления с помощью метода SetFocus. Задание реакции на нажатие клавиши Enter может выглядеть так:

Procedure TForm1.Edit1KeyPress(Sender:TObject; var Key :Char);

begin

if (Key=#13) then

begin

Key:=#0;

Edit2.SetFocus;

end;

end;

Procedure TForm1.Edit2KeyPress(Sender:TObject; var Key :Char);

begin

if (Key=#13) then

begin

Key:=#0;

Edit3.SetFocus;

end;

end;

Procedure TForm1.Edit3KeyPress(Sender:TObject; var Key :Char);

begin

if (Key=#13) then Key:=#0;

end;

Информация последовательно вводится в три поля, являющихся компонентами поля Edit1, Edit2, Edit3. При окончании ввода в первое или второе поле по нажатии клавиши Enter автоматически активизируется очередное поле. Из третьего поля фокус управления автоматически не передается.

Procedure AllEditsKeyPress(Sender:TObject; var Key :Char);

begin

if (Key=#13’) then

begin

form1.SelectNext(Sender as TWinControl, true, true);

Key:=#0;

end;

end;

Для этого нужно включить ее нужно включить процедуру в описание формы и указать в качестве обработчика события OnKeyPress:

Procedure TForm1.FormCreateSender:TObject);

begin

Edit1.OnKeyPress:=AllEditsKeyPress;

Edit2.OnKeyPress:=AllEditsKeyPress;

Edit3.OnKeyPress:=AllEditsKeyPress;

end;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]