Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Урок 6 – Пишем свой калькулятор


 

Урок 6 – Пишем свой калькулятор

В этом уроке я покажу, как написать свой простой калькулятор на 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 соответственно):

procedure TForm1.Button1Click(Sender: TObject);

varresult: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);

varresult: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);

varresult: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);

varresult: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;




<== предыдущая лекция | следующая лекция ==>
Климат туралы жалпы ілім. Жер шарындағы климаттық элементтердің таралуы. | Часть 2. Заноба Широн. Третий принц королевства Широн

Дата добавления: 2015-10-01; просмотров: 580. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ИГРЫ НА ТАКТИЛЬНОЕ ВЗАИМОДЕЙСТВИЕ Методические рекомендации по проведению игр на тактильное взаимодействие...

Реформы П.А.Столыпина Сегодня уже никто не сомневается в том, что экономическая политика П...

Виды нарушений опорно-двигательного аппарата у детей В общеупотребительном значении нарушение опорно-двигательного аппарата (ОДА) идентифицируется с нарушениями двигательных функций и определенными органическими поражениями (дефектами)...

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

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

ПРОФЕССИОНАЛЬНОЕ САМОВОСПИТАНИЕ И САМООБРАЗОВАНИЕ ПЕДАГОГА Воспитывать сегодня подрастающее поколение на со­временном уровне требований общества нельзя без по­стоянного обновления и обогащения своего профессио­нального педагогического потенциала...

Studopedia.info - Студопедия - 2014-2025 год . (0.013 сек.) русская версия | украинская версия