42087

Створення Delphi-проекта з використанням компонентів-кнопок

Лабораторная работа

Информатика, кибернетика и программирование

Форма проекту повинна відтворювати зовнішній вигляд калькулятора за допомогою компонентів кнопок класу TBitBtn. Тоді до властивості Cption кнопок можна звернутися таким чином: Sender s TBitBtn.ТЗ Код програми...

Русский

2015-04-01

79.82 KB

3 чел.

Завдання:  

Створення Delphi-проекту ‘’Калькулятор’’, призначений для виконання чотирьох арифметичних операцій:’’+’’ ( додавання), ‘’-’’(віднімання),’’*’’ (множення), ‘’/’’ (ділення)над двома дійсними числами А і В. Форма проекту повинна відтворювати зовнішній вигляд  калькулятора  за допомогою  компонентів  - кнопок класу TBitBtn .

Крім арифметичних  операцій  калькулятор повинен  здійснювати операції видалення  останнього  символу  з зображення числа на панелі , а також повне очищення панелі та відображення на ній символу ‘’0’’.Орієнтований вигляд ‘’Калькулятора’’ наведений на рис.1.

Хід виконання роботи:

  1.  Створено  проект  та збережено його в папці : РП -31 ООП (№ студента в списку ) 5 6.

                                               

  1.  На формі розташовано   компоненти – кнопки таким чином, як показано на рис. 1.
  2.  Здійснено   реалізації  події натискання кнопок  відповідно до їх функціонального призначення.

Рис 1. Вікно програми

  1.  Для кнопок з зображенням цифр використано спільну  реалізацію  події OnClick з урахуванням значення її параметра Sender. Тоді до властивості Caption кнопок  можна звернутися таким чином: (Sender as TBitBtn).Coption. Аналогічно  здійснено по відношенню  до кнопок з зображенням арифметичних операцій. Символ обраної арифметичної  операції збережено в глобальній змінній ОР muny car.

  1.  При веденні символу ‘’ . ’’(крапка) зображення числа на панелі враховано те, що вона може бути тільки одна.
  2.  Зображення числа А (першого) здійснено при натисканні кнопок  арифметичних операцій , а другого  - при натисканні кнопки  ‘’=’’ (дорівнює).
  3.  Арифметичні операції виконано  при натисканні кнопки  ‘’=’’( дорівнює), використано оператор вибору case.

Рис 2. Результат роботи програми

Код програми:

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons;

type

TForm1 = class(TForm)

Ekran: TBitBtn;

B1: TBitBtn;

B2: TBitBtn;

B3: TBitBtn;

B4: TBitBtn;

Plus: TBitBtn;

B5: TBitBtn;

B6: TBitBtn;

B7: TBitBtn;

B8: TBitBtn;

Minus: TBitBtn;


B9: TBitBtn;

B0: TBitBtn;

Tochka: TBitBtn;

Pomn: TBitBtn;

Del_: TBitBtn;

Clear_: TBitBtn;

Змн.

Арк.

№ докум.

Підпис

Дата

Арк.

3

ЛР.ООП.10.05-06.ТЗ

Dorivn: TBitBtn;

Podil: TBitBtn;

procedure B1Click(Sender: TObject);

procedure PlusClick(Sender: TObject);

procedure DorivnClick(Sender: TObject);

procedure Clear_Click(Sender: TObject);

procedure Del_Click(Sender: TObject);

procedure TochkaClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

Znak: char;

X , Y, Z: real;

implementation

{$R *.dfm}

//відображення кнопок накалькуляторі

procedure TForm1.B1Click(Sender: TObject);

begin

D

end;

//зробили кнопку активною  'Plus'

procedure TForm1.PlusClick(Sender: TObject);

var str:string;

begin

X:=StrToFloat(Ekran.Caption);

str:=(Sender as TBitBtn).Caption;

Znak:=str[1];

Ekran.Caption:='';

E nd;

// з    робили кнопку активною  'Dorivn'

P  rocedure TForm1.DorivnClick(Sender: TObject);

StrToFloat(Ekran.Caption);

case Znak of

'+': Z:=X+Y;

'-': Z:=X-Y;

'*': Z:=X*Y;

'/': if Y=0 then Ekran.Caption:='Error devide 0';

else begin

Z:=X/Y;

Ekran.Caption:=FloatToStr(Z);

end;

end;

// зробили кнопку активною  'Clear'

procedure TForm1.Clear_Click(Sender: TObject);

begin

Ekran.Caption:='';

End;

/ / зробили кнопку активною  'Del'

procedure TForm1.Del_Click(Sender: TObject);

var s: string;

begin

s:=Ekran.Caption;

delete(s,length(s),1);

Ekran.Caption:=s;

end;

//зробили кнопку активною  'Tochka'

procedure TForm1.TochkaClick(Sender: TObject);

begin

if pos(',',Ekran.Caption)=0

then Ekran.Caption:=Ekran.Caption + ',';

eend;

end.

Висновок: На цій лабораторні роботі я навчилась:  Створювати Delphi-проекту ‘’Калькулятор’’.

Змн.

Арк.

№ докум.

Підпис

Дата

Арк.

4

ЛР.ООП.10.05-06.ТЗ


 

А также другие работы, которые могут Вас заинтересовать

41968. Дослідження стійкості ланки другого порядку 114.05 KB
  Для лінійних систем автоматичного керування, які описуються характеристичним рівнянням виду a0pn+a1pn-1+…+an-1p+an=0 стійкість не залежить від величини і вигляду збурення і визначається коренями характеристичного рівняння, яке залежить від параметрів системи Для зручності зафіксуємо L C та змінюватимемо R withinttrns; urovnenie:=TTpp2xiTp1; h:=k p urovnenie; l:=invlplcehpt; sol:=solveurovneniep: sol[1];sol[2]; Аперіодичний процес Вибираємо L=50мГн.05;C:=2010^6;R:=250;T:=sqrtLC;xi:=RsqrtC L 2;k:=1;p1:=sol[1];p2:=sol[2];задання параметрів для даного виду процесу l:=invlplcehpt;розрахунок зворотнього перетворення Лапласа plotlt=0.05;C:=2010^6;R:=100;T:=sqrtLC;xi:=RsqrtC L 2;k:=1;p1:=sol[1];p2:=sol[2]; l:=invlplcehpt:...
41969. ДОСЛIДЖЕННЯ ВЕКТОРНИХ ПЛОТТЕРІВ 78.68 KB
  Все рассматриваемые здесь команды находятся в основной части языка HPGL 2. Первыми идут команды ини рйализации для установки размера изображения и другие параметры после них следуют команды для прорисовки линий фигур и трок символов а также одна или две команды для завершения процесса. Некоторые команды имеющие числовые аргументы требуют целых значений в то время как другие команды допускают наличие чисел с десятичной точкой. Некоторые команды передают результаты обратно хосткомпьютеру: например 01 сообщает идентификацию модели...
41970. Функції введення/виведення printf(), scanf(). Лінійні обчислювальні процеси 14.14 KB
  Обладнання: ПКПО Borlnd C Хід роботи Вивчити теоретичні відомості Ознайомитися з форматом функцій printf і scnf.h void min { long ; double b; unsigned c; flot d; cout Вводите n ; cin b c d; cout Long n ; printf 16.5d ; printf n double n ; printf 16.
41971. Обчислювальний процес, що розгалужується, з різними логічними умовами: оператор if... else, умовна операція (?:), оператор switch, оператор break, оператор goto 23.72 KB
  else умовна операція : оператор switch оператор brek оператор goto Ціль роботи: Вивчити реалізацію в мові ветвящихся обчислювальних процесів . Навчитися писати програми використовуючи оператори: розгалуження if.else переключення switch у парі з оператором brek оператор переходу goto тернарную умовну операцію .
41972. Розробка програм з циклічними обчислювальними процесами 44.87 KB
  Розробка програм з циклічними обчислювальними процесами Ціль роботи: Вивчити написання програм мовою С, використовуючи ітераційні (циклічні) методи, освоїти основні оператори, що підтримують роботу з циклами (for, while, do... while). Навчитися писати програми, використовуючи дані оператори.
41973. ПОБУДОВА ОПТИМАЛЬНОГО НЕРІВНОМІРНОГО КОДУ ЗА МЕТОДИКОЮ ХАФФМАНА 53.47 KB
  0 проводиться перехід до побудови дерева коду за допомогою проміжних вузлів. 161 00074 3 В 893 00412 21 Х 156 00072 11 Л 745 00344 29 Ю 148 00068 16 Р 699 00322 22 Ц 126 00058 №п п Символ ni pi №п п Символ ni pi 12 М 656 00303 25 Щ 108 00050 10 К 574 00265 24 Ш 60 00028 5 Д 507 00234 28 Э 59 00027 26 Ы 467 00215 20 Ф 30 00014 19 У 399 00184 8 З 4 00002 Дерево коду за методикою Хаффмана: Визначаємо ентропію джерела за формулою: Визначаємо максимальний ступінь стиснення інформації: Середня довжина кодової комбінації:...