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

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

Урок 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 оперирует с двумя категориями...


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


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


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

ЛЕЧЕБНО-ПРОФИЛАКТИЧЕСКОЙ ПОМОЩИ НАСЕЛЕНИЮ В УСЛОВИЯХ ОМС 001. Основными путями развития поликлинической помощи взрослому населению в новых экономических условиях являются все...

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

Уравнение волны. Уравнение плоской гармонической волны. Волновое уравнение. Уравнение сферической волны Уравнением упругой волны называют функцию , которая определяет смещение любой частицы среды с координатами относительно своего положения равновесия в произвольный момент времени t...

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

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

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