AngelOfLove
Exploit Developer
		- Joined
- Feb 21, 2017
- Messages
- 452
- Reaction score
- 76
В этом уроке я покажу, как написать свой простой калькулятор на Delphi.Естественно, писать свой калькулятор мы будем не потому, что аналогичных калькуляторов не существует (взять хотябы стандартный калькулятор Windows), а потому, что сам процесс его написания будет очень познавательным для начинающих программистов. Переодически на сайте Cybern.ru будут появляться практические уроки для новичков и я очень надеюсь, что они помогут и вам в освоении программирования на Delphi.
Наш калькулятор будет несколько отличаться от интерфейса стандартного аналога Windows. В результате урока мы получим такой калькулятор:
	 
Приступим.
Создайте новое приложение Delphi. Измените название формы (свойство Form1.caption) на «Учебный калькулятор».
Создайте на форме 2 компонента: Panel1 и Memo1. Далее присвойте свойству Panel1.align значение «albottom», а для свойства Memo1.align установите значение alclient. Должно получиться следующее:
	 
Свойство align позволяет фиксировать визуальный компонент к какой либо стороне формы или растягивать компонент на всю форму. Поэкспериментируйте с этим свойством.
Теперь установите для Panel1.showcaption значение true, чтобы надпись на панеле исчезла.
В Memo1 у нас будут фиксироваться ход работы калькулятора, т.е. лог. Сотрите значение Memo1.lines, чтобы изначально на memo1 не было никакого текста. Установите значение ssBoth для Memo1.scrollbars. Также можете настроить шрифт у Memo1, это можно сделать благодаря расширенным настройкам шрифта параметра Font:
	 
Открыть такое окно можно, кликнув по кнопке:
	 
Внутри Panel1 расположите два Edit (Edit1 и Edit2) и четыре кнопки с надписями «+», «-«, «/»,»x» соответственно. У меня получилось так: 
Два нижних поля ввода нам понадобятся для ввода самих чисел, а 4 кнопки соответственно для выполнения с ними математических операций.
Создадим обработчики OnClick для кнопок «+», «-«, «/»,»x» (button1, button2, button3, button4 соответственно):
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
			
			Наш калькулятор будет несколько отличаться от интерфейса стандартного аналога Windows. В результате урока мы получим такой калькулятор:
 
Приступим.
Создайте новое приложение Delphi. Измените название формы (свойство Form1.caption) на «Учебный калькулятор».
Создайте на форме 2 компонента: Panel1 и Memo1. Далее присвойте свойству Panel1.align значение «albottom», а для свойства Memo1.align установите значение alclient. Должно получиться следующее:
 
Свойство align позволяет фиксировать визуальный компонент к какой либо стороне формы или растягивать компонент на всю форму. Поэкспериментируйте с этим свойством.
Теперь установите для Panel1.showcaption значение true, чтобы надпись на панеле исчезла.
В Memo1 у нас будут фиксироваться ход работы калькулятора, т.е. лог. Сотрите значение Memo1.lines, чтобы изначально на memo1 не было никакого текста. Установите значение ssBoth для Memo1.scrollbars. Также можете настроить шрифт у Memo1, это можно сделать благодаря расширенным настройкам шрифта параметра Font:
 
Открыть такое окно можно, кликнув по кнопке:
 
Внутри Panel1 расположите два Edit (Edit1 и Edit2) и четыре кнопки с надписями «+», «-«, «/»,»x» соответственно. У меня получилось так:
 
Два нижних поля ввода нам понадобятся для ввода самих чисел, а 4 кнопки соответственно для выполнения с ними математических операций.
Создадим обработчики OnClick для кнопок «+», «-«, «/»,»x» (button1, button2, button3, button4 соответственно):
		Code:
	
	procedure TForm1.Button1Click(Sender:TObject);
var result:real;
a,b:real;
begin
// сохраняем значение дробей в переменных
a:=strtofloat(edit1.Text);
b:=strtofloat(edit2.Text);
// производим операцию
result:=a+b;
// выводим результат в виде примера в Memo1
memo1.Lines.Add(edit1.Text+' + '+edit2.Text+' = '+floattostr(result));
// очищаем поля ввода
edit1.Clear;
edit2.Clear;
end;
		Code:
	
	procedure TForm1.Button2Click(Sender:TObject);
var result:real;
a,b:real;
begin
// сохраняем значение дробей в переменных
a:=strtofloat(edit1.Text);
b:=strtofloat(edit2.Text);
// производим операцию
result:=a-b;
// выводим результат в виде примера в Memo1
memo1.Lines.Add(edit1.Text+' - '+edit2.Text+' = '+floattostr(result));
// очищаем поля ввода
edit1.Clear;
edit2.Clear;
end;
		Code:
	
	procedure TForm1.Button3Click(Sender:TObject);
var result:real;
a,b:real;
begin
// сохраняем значение дробей в переменных
a:=strtofloat(edit1.Text);
b:=strtofloat(edit2.Text);
// производим операцию
result:=a/b;
// выводим результат в виде примера в Memo1
memo1.Lines.Add(edit1.Text+' / '+edit2.Text+' = '+floattostr(result));
// очищаем поля ввода
edit1.Clear;
edit2.Clear;
end;
		Code:
	
	procedure TForm1.Button4Click(Sender:TObject);
var result:real;
a,b:real;
begin
// сохраняем значение дробей в переменных
a:=strtofloat(edit1.Text);
b:=strtofloat(edit2.Text);
// производим операцию
result:=a*b;
// выводим результат в виде примера в Memo1
memo1.Lines.Add(edit1.Text+' * '+edit2.Text+' = '+floattostr(result));
// очищаем поля ввода
edit1.Clear;
edit2.Clear;
end; 
					
				