Приветствую всех. Сегодня, я расскажу как написать свой первый (Простенький) калькулятор. Приступим..
Нам потребуется:
I. Delphi 7
II. След. компоненты: Panel1,Memo1, 2 Edit`a, 4 Button`а.
1. Создаем новый проект, изменяем название формы (по желанию) в моем случае это - "Учебный калькулятор". Кидаем на форму два компонента - Panel1 и Memo1. Далее присваиваем свойству Panel1.align значение "albottom", а для свойства Memo1.align установим значение alclient.
Свойство под названием - align, позволяет фиксировать визуальный компонент к какой либо стороне формы или растягивать компонент на всю форму.
Так же надо установить для Panel1.showcaption значение true, чтобы надпись на панеле исчезла.
В итоге должно получиться следующие:
[Ссылки могут видеть только зарегистрированные пользователи. ]
В Memo1 фиксируется ход работы калькулятора, т.е - лог. Чтобы изначально на memo1 не было никакого текста, следует стереть значение - Memo1.lines. Затем мы устанавливаем значение ssBoth для Memo1.scrollbars.
2. После всего этого, внутри Panel1 располагаем два Edit (Edit1 и Edit2) и четыре кнопки с надписями "+", "-", "/","x".
Выглядит это примерно так:
[Ссылки могут видеть только зарегистрированные пользователи. ]
Объясню зачем же нам эти кнопки.
Два нижних поля ввода нам потребуются для ввода самих чисел, а 4 кнопки для выполнения с ними математических операций.
Далее создаем обработчики OnClick для кнопок "+", "-", "/","x", и приступаем кодить.
Код для первой кнопки:
Код:
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;
Код для второй кнопки:
Код:
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;
Код для третьей кнопки:
Код:
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;
Код для четвертой кнопки:
Код:
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;