Сделаем свой Первый проект Сумма двух чисел 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Сделаем свой Первый проект Сумма двух чисел



 

Как это сделать?

1. Запустить Lazarus, закрыть текущий проект (если он был), создать новый проект, выбрав Приложение.

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

3. У формы и всех компонент изменить свойства.

4. У формы - Name, Color, Caption, у всех надписей - Name, Font, Caption, у полей ввода - Name, Text, у кнопки - Name, Caption.

5. Имена полей ввода edtX, edtY, имена надписей lblX, lblY, lblSumma, имя формы frmSumma, имя кнопки btnStart. Имена и свойства приведены в качестве примера.

6. Сохраним проект.

7. Запустим проект.

8. Мы спроектировали интерфейс программы, но наша программа еще не работает. Мы хотим, чтобы в окнах ввода можно было задавать числа и выводить их сумму. Как это сделать? Давайте разбираться.

9. Для того, чтобы выполнить нужные нам действия, нам нужно написать программный код (на языке Паскаль) и определить каким образом он будет выполняться. Например, по щелчку мыши на компонент btnStart (на кнопку).

Обработка события нажатия на кнопку

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

В Lazarus генерируется достаточно большое число (несколько десятков) событий различного вида: щелчок мыши, нажатие на кнопку, нажатие клавиш клавиатуры, открытие окна. Когда пользователь нажимает на любую кнопку, Windows посылает сообщение приложению: «По такой-то кнопке щёлкнули». Если пользователь использовал это сообщение и написал реакцию на него, то программа выполнит это. Реакции на событие - это результат произошедшего системного события. Реакцию на событие назначают программно, указывая список действий, которые необходимо произвести, в окне редактора исходного кода.

Напишем реакцию нажатия на командную кнопку btnStart, расположенную на форме frmSumma. Дважды щелкаем по этой кнопке.

Lazarus автоматически подготавливает редактор кода для минимизации ввода данных с клавиатуры, набирая за нас заголовок процедуры реакции нажатия на кнопку.

Курсор будет находиться между словами begin и end. Именно здесь мы и напишем программный код. Сначала напишем комментарии.

procedure TfrmSmma.btnStartClick(Sender: TObject);

Begin

 // Ввести число X

 // Ввести число Y

 // Сложить два числа

 // Вывести ответ

end;

Значений переменных x и y будем брать из полей ввода edtX и edtY. При этом необходимо помнить, что в поле ввода вводятся строки.

Для перевода строки в вещественное число существует функция StrToFloat(строка).

Для перевода строки в целое число существует функция StrTo Int (строка).

Также есть и обратные функции перевода из вещественного или целого числа в строку Float toStr (число) и InttoStr (число).

procedure TfrmSmma.btnStartClick(Sender: TObject);

Var

x, y, c: real;

Begin

x:= StrToFloat(edtX.Text); // ввести число X

y:= StrToFloat(edtY.Text); // ввести число Y

c:= x + y; // сложить два числа

lblSumma.Caption:= lblSumma.Caption + FloatToStr(c); // вывести ответ

end;

При работе с функциями StrToFloat и FloatToStr в среде Lazarus необходимо следить за разделителем целой и дробной части. В программе (Unit) в качестве разделителя используется только точка. А в окнах ввода на форме символ разделителя зависит от настроек Windows. В русифицированных версиях в качестве разделителя целой и дробной части числа используется запятая.

В нашем проекте осталось изменить свойства надписей и формы. Изменим свойства одной надписи, для двух других аналогично

procedure TfrmSmma.btnStartClick(Sender: TObject);

Var

x, y, c: real;

Begin

frmSumma.color:= clyellow; // цвет формы frmSumma желтый

lblX.Font.Name:= 'Arial'; // шрифт компонента lblX Arial

lblX.Font.Size:= 18; // размер шрифта компонента lblX 18

lblX Font.Style:= [fsBold]; // шрифт компонента lblX полужирный

x:= StrToFloat(edtX.Text); // ввести число X

y:= StrToFloat(edtY.Text); // ввести число Y

 c:= x + y; // сложить два числа

lblSumma.Caption:= lblSumma.Caption + FloatToStr(c); // ответ

end;

 

Примеры использования различных свойств объектов

1. frmSumma.Сolor:= clYellow Форма закрашивается желтым цветом, который является предопределенной константой и начинается с префикса cl – clWhite, clRed
2. lblX.Color:= clGreen Фон компонента закрашивается в зеленый цвет
3 lblX.Font.Color:= clBlack Цвет шрифта компонента устанавливается черный
4 lblMy.Font.Size:= 14 Размер шрифта компонента устанавливается 14
5 lblY.Visible:= false Компонент становится невидимым, тип свойства логический
6 lblY.Visible:= not lblY.Visible Текущему значению свойства присваивается предыдущее значение с инверсией. Компонент был видимый, потом стал невидимым и т.д.
7 lblY.Caption:= 'сумма =' На компоненте появится надпись сумма = тип свойства string
8 lblY.Caption:= 'сумма=' + InttoStr(S) На компоненте появится надпись сумма =125, если значение переменной S было 125
9 lblMy.Caption:= edtMy.Text Текст окна ввода edtMy будет помещён на компонент lblMy
10 edtMy.Text:= '' Окно ввода становится пустым

Переменные и их типы

Типов переменных в среде Lazarus очень много. Рассмотрим только некоторые из них. Целые числа могут быть описаны несколькими типами, представленными в таблице.

Вещественные числа также могут быть представлены несколькими типами. Мы будем пользоваться типом Real.



Поделиться:


Последнее изменение этой страницы: 2021-06-14; просмотров: 60; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.217.203.172 (0.007 с.)