Разработка интерфейса.

1. Создать форму.

Свойства формы.
Name: kalkul
Caption: Калькулятор
Color: цвет по желанию
BorderIcons: biMaximize – False, остальное True.

2. Разместить на форме объект Edit. Свойства: Name : Edit1, Text – пустая строка.

3. Разместить на форме соответствующее число кнопок.

– цифры от 0 до 9,
– знаки арифметических операций,
– знак «=»
– знаки функций (корень, синус, косинус и т.д.)

Объект – кнопка BitBtn.
Свойства:
Name – можно оставить по умолчанию
Caption – соответствующее выполняемой функции название
Font – шрифт и цвет шрифта по желанию

4. Поместить на форму изображение, настроить цвет формы, шрифт, сделать соответствующие надписи на форме.

Разработка интерфейса.

Примерный вид интерфейса программы

2 урок «Написание процедур выполнения арифметических операций»

I. Написать процедуры ввода чисел. Для этого щелкнуть два раза по кнопке «1» (объект BitBtn1) и ввести следующий код:

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+’1′;
end;

Аналогично написать процедуры ввода остальных цифр. Для символа «,» нужно добавить проверку, позволяющую вводить только одну запятую:

procedure TForm1.BitBtn21Click(Sender: TObject);
begin
if pos(‘,’, edit1.Text)=0 then edit1.Text:=edit1.Text+’,’;
end;

II. Создать процедуру очистки поля Edit1, кнопка «С» (объект BitBtn22)

procedure TForm1.BitBtn22Click(Sender: TObject);
begin
edit1.Clear;
end;

III. Создать процедуру закрытия калькулятора, кнопка «Off» (объект BitBtn23)

procedure TForm1.BitBtn23Click(Sender: TObject);
begin
close;
end;

IV. Создать процедуры обработки нажатий кнопок «+», «–», «/», «*» и «=». Для этого необходимо сначала разобрать алгоритм работы с калькулятором:

  1. Ввести число в поле Edit1. При этом в поле Edit1 число будет представлено как текстовая строка.
  2. Нажать кнопку «+». В процедуре обработки этой кнопки необходимо выполнить следующие действия:
    • преобразовать эту строку в число с помощью функции StrToFloat;
    • сохранить это число в переменной X;
    • сохранить в переменной, например, kod код этой операции;
    • очистить поле Edit1.
  3. Ввести второе число в поле Edit1.
  4. Нажать кнопку «=».В процедуре обработки этой кнопки необходимо выполнить следующие действия:
    • преобразовать эту строку в число с помощью функции StrToFloat;
    • сохранить это число в переменной Y;
    • в зависимости от кода операции, сохраненной в переменной kod, выполнить арифметическую операцию, например, z:=x+y;
    • преобразовать число, находящееся в переменной Z, в текст с помощью функции FloatToStr и вывести в поле Edit1.

V. Что необходимо для реализации этого алгоритма?

1. Описать переменные X, Y, Z, kod. Описывать переменные будем в основной программе, модуле Unit, чтобы переменные могли действовать в любой процедуре (глобальные переменные).

var
Form1 : TForm1;
kod : char;
x, y, z : real;

2. Создать процедуры обработки нажатий кнопок «+», «–», «/», «*»

Например,

procedure TForm1.BitBtn17Click(Sender: TObject);
begin
x:= strtofloat(edit1.text);
kod := ‘+’;
edit1.Clear;
end;

Но что будет, если мы в поле Edit1 ничего не введем и нажмем кнопку «+»? Возникнет ошибка и программа завершится. Чтобы избежать этого надо проверить имеется ли в поле Edit1символы? И в зависимости от этого условия продолжить выполнять процедуру или вернуться к вводу данных. Следовательно, мы должны использовать алгоритмическую структуру «Ветвление».

Изменненая процедура обработки нажатия кнопки «+»

procedureTForm1.BitBtn17Click(Sender: TObject);
begin
if edit1.Text» then x:=strtofloat(edit1.text);
kod := ‘+’;
edit1.Clear;
end;

Аналогично создать процедуры обработки нажатий кнопок «–», «/», «*»

3. Создать процедуру обработки нажатия кнопки «=». В этой процедуре необходимо в зависимости от значения переменной kod выполнять четыре разных операции. Такая структура называется «Множественное ветвление» или «Выбор».

procedure TForm1.BitBtn19Click(Sender: TObject); // кнопка «=»
begin
if edit1.Text» then y:=strtofloat(edit1.text); // в переменную y кладем edit1.text
case kod of
‘+’: z:=x+y;
‘-‘: z:=x-y;
‘*’: z:=x*y;
‘/’: z:=x/y;
end;
edit1.Text:=floattostr(z); // вывод в поле Edit1 значение переменной z
end;

3 урок «Написание процедур вычисления основных функций»

I. Создать процедуры вычисления функции «X в степени Y» (в нашем варианте возводить можно будет только в целую степень). Для этого необходимо:

1. Создать процедуру обработки нажатия кнопки «X в степени Y».

procedure TForm1.BitBtn24Click(Sender: TObject);
begin
x:= strtofloat(edit1.text);
kod := ‘^’;
edit1.Clear;
end;

2. Добавить в процедуру нажатия кнопки «=» следующий код

var k, y1:integer; // y1 –степень в которую возводим число x,k – счетчик цикла
… // код ниже добавляем в блок case kod of
‘^’: begin
y1:=strtoint(edit1.Text);
z:=1;
for k:=1 to y1 do
z:=z*x;
end;

II.Создать процедуры вычисления остальных функций. При вычислении тригонометрических функций учесть, что компьютер работает с радианной мерой углов.
Например, процедура вычисления квадратного корня

procedure TForm1.BitBtn26Click(Sender: TObject); // кнопка «корень»
begin
x:=strtofloat(edit1.Text);
z:=sqrt(x);
edit1.Text:=floattostr(z);
end;

Процедура вычисления функции sin

procedure TForm1.BitBtn11Click(Sender: TObject); // кнопка «sin»
begin
x:=strtofloat(edit1.Text);
x:=(x*pi)/180; // перевод градусов в радианы
z:=sin(x);
edit1.Text:=floattostr(z);
end;

Аналогично реализуйте процедуры вычисления cos, tan, ctg, при этом тангенс и котангенс выражаются через функции синуса и косинуса.

4 урок. «Написание процедур работы с меню»

У любой программы имеется система меню, которая позволяет выполнять разные сервисные функции. Создадим для нашего калькулятора меню, которое будет состоять, например, из следующий пунктов: «Файл», «Правка», «Справка».Для этого: поместить на форму объект MainMenu (в любое место формы, этот объект будет невидим при выполнении)

Разработка интерфейса.

  • Два раза щелкнуть левой кнопкой мыши по этому объекту на форме.
  • Выделить в появившейся форме пунктирное поле и в инспекторе объектов в свойство Caption ввести «Файл».
  • Аналогично создать пункты меню «Правка» и «О программе».
  • В меню «Файл» создать пункт «Выход», а в «Правка» — пункты «Копировать» и «Вставить».
  • Разработка интерфейса.

    Закрыть форму создания меню.

Базовые принципы создания хороших пользовательских интерфейсов [GeekBrains]

Похожие статьи:

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector