Студопедия — Практическая часть. Задача №1.В данном варианте программы для каждой цифровой кнопки создана отдельная процедура обработки событий Click.
Студопедия Главная Случайная страница Обратная связь

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

Практическая часть. Задача №1.В данном варианте программы для каждой цифровой кнопки создана отдельная процедура обработки событий Click.






Задача №1. В данном варианте программы для каждой цифровой кнопки создана отдельная процедура обработки событий Click.

Implementation

{$R *.dfm}

Var

accum: real; // аккумулятор

oper: integer; // операция: 1 — '+'; 2 — '-';

// 0 — "выполнить" (кнопка "=")

f: integer;

// кнопка 0

procedure TForml.ButtonOClick(Sender: TObject);

Begin

if f = 0 // первая цифра числа

Then begin

Edit1.Text:= '0';

f: = 1; // ждем остальные цифры

End

Else

if Edit1.Text <> '0'

// чтобы на индикаторе не было

// нескольких нулей в начале числа

then Edit1.Text:= Edit1.Text + 'О';

end;

 

// кнопка 1

procedure TForm1.Button1Click(Sender: TObject);

Begin

if f = 0 // первая цифра числа

Then

Begin

Edit1.Text:= ‘1’;

f: = 1; // ждем остальные цифры

End

else Edit1.Text:= Edit1.Text +'1';

end;

 

// кнопка 2

procedure TForml.Button2Click(Sender: TObject);

Begin

if (f = 0) // первая цифра числа

Then

Begin

Edit1.Text:= '2';

f: = 1; // ждем остальные цифры

End

else Edit1.Text:= Edit1.Text + '2';

end;

 

// кнопка 3

procedure TForml.Button3Click(Sender: TObject);

Begin

if f = 0

Then begin

Edit1.Text:= '3';

f:= 1;

End

else Edit1.Text:= Edit1.Text + '3';

end;

 

// кнопка 4

procedure TForml.Button4Click(Sender: TObject);

Begin

if f = 0 then

Begin

Edit1.Text:= '4';

f:= 1;

End

else Edit1.Text:= Edit1.Text + '4';

end;

// кнопка 5

procedure TForml.Button5Click(Sender: TObject);

Begin

if (f = 0)

Then begin

Edit1.Text:= '5';

f:= 1;

End

else Edit1.Text:= Edit1.Text +'5';

end;

 

// кнопка 6

procedure TForml.Button6Click(Sender: TObject);

Begin

if f = 0

Then begin

Edit1.Text:= '6';

f:= 1;

End

else Edit1.Text:= Edit1.Text + '6';

end;

 

// кнопка 7

procedure TForml.Button7Click(Sender: TObject);

Begin

if f = 0

Then begin

// первая цифра числа

Edit1.Text:= '7';

f:= 1;

End

else Edit1.Text:= Edit1.Text + '7';

end;

 

// кнопка 8

procedure TForml.Button8Click(Sender: TObject);

Begin

if f = 0

Then begin

Edit1.Text:= '8';

f:= 1;

End

else Edit1.Text:= Edit1.Text + '8';

end;

 

// кнопка 9

procedure TForml.Button9Click(Sender: TObject);

Begin

if f = 0 // первая цифра числа

Then begin

Edit1.Text:= '9';

f:= 1; // ждем остальные цифры

End

else Edit1.Text:= Edit1.Text + '9';

end;

 

// десятичная точка

procedure TForm1.ButtonZClick(Sender: TObject);

Begin

if Edit1.Text = '0'

Then begin

Edit1.Text:= '0,';

f:= 1;

end;

if Pos(',',Edit1.Text) = 0

Then

Edit1.Text:= Edit1.Text + ',';

end;

 

// выполнение операции

procedure DoOper;

Var

numb: real; // число на индикаторе

Begin

// accum содержит результат предыдущей

// операции, ореr — код операции, которую

// надо выполнить. Операнд находится

// на индикаторе.

numb:= StrToFloat(Form1.Edit1.Text);

case oper of

0: accum:= numb;

1: accum:= accum + numb;

2: accum:= accum — numb;

end;

Form1.Edit1.Text:= FloatToStr(accum);

end;

// кнопка "+";.

procedure TForm1.ButtonPlusClick(Sender: TObject); { Надо выполнить предыдущую операцию, вывести результат на индикатор,

запомнить текущую операцию и установить режим ожидания первой цифры нового числа }

Begin

if f = О // ждем первую цифру, но пользователь // щелкнул на кнопке операции

then oper: = 1 // запомним операцию

Else begin

// на индикаторе есть число

DoOper; // выполнить предыдущую операцию

oper:=1; // запомнить текущую операцию

f:=0; // ждем первую цифру нового числа

end;

end;

// кнопка "-";

procedure TForm1.ButtonMinusClick(Sender: TObject);

// см. комментарий к процедуре обработки OnClick на "+";

Begin

if f = 0 // ждем первую цифру

then oper:= 2







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



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

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

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

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Машины и механизмы для нарезки овощей В зависимости от назначения овощерезательные машины подразделяются на две группы: машины для нарезки сырых и вареных овощей...

Классификация и основные элементы конструкций теплового оборудования Многообразие способов тепловой обработки продуктов предопределяет широкую номенклатуру тепловых аппаратов...

Именные части речи, их общие и отличительные признаки Именные части речи в русском языке — это имя существительное, имя прилагательное, имя числительное, местоимение...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

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

Определение трудоемкости работ и затрат машинного времени На основании ведомости объемов работ по объекту и норм времени ГЭСН составляется ведомость подсчёта трудоёмкости, затрат машинного времени, потребности в конструкциях, изделиях и материалах (табл...

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