Реферати українською » Информатика, программирование » Створення програм-органайзера


Реферат Створення програм-органайзера

>МІНІСТЕРСТВООСВІТИ І НАУКИ УКРАЇНИ

>ПВНЗЄВРОПЕЙСЬКИЙУНІВЕРСИТЕТ

>ЧЕРКАСЬКАФІЛІЯ

Кафедраматематичних йкомп’ютернихдисциплін

>КУРСОВАРОБОТА

іздисципліни: “>Прикладнепрограмне забезпечення”

на задану тему:

“>Створенняпрограми-органайзера”

>Перевірив:Кулагін С.В.

>Виконала: студентка ІІІ курсу

>ХаліманНаталія

>Черкаси- 2009


>Зміст

>Вступ

>Розділ 1.Аналізпредметноїобласті

1.1Середовище розробкипрограми

>Розділ 2.Описпредметноїобласті

2.1 Постановказадачі

2.2Програмна модель

>Розділ 3.Розробкаінтерфейсу йтестуванняпрограми

3.1Інтерфейс

3.2Створенняінсталяції

3.3Тестуванняпрограми

>Висновки

Списоквикористаноїлітератури

>Додаток


>Вступ

>Органайзерявляєтьсязасобомкерування годиною.Попереднєплануваннясправдопомагає підвищитиефективністьбудь-якоїдіяльності, якособистої, то йпрофесійної.

>Комп’ютернапрограма-органайзер —цекомп’ютернапрограма, щовідноситься до прикладногопрограмного забезпечення йпризначена длянакопиченняінформаціїкористувача, апотім оперативногопошуку поній,організаціїсправ й контролю за їхньоговиконанням,відслідковуваннявизначенихкористувачемподій.Являєтьсяоднією з форм персональногоорганайзера.

>Написанняданихпрограмможливерізноманітнимимовамипрограмування й врізнихсередовищах розробки.

>Функціїтиповоїкомп’ютерноїпрограми-органайзерапов’язані ззабезпеченням роботинаступнихпідрозділів:

>календар;

>записна книжка;

менеджерконтактів(адресно-телефонна книга);

>події,прив’язані допевноїдати(свята,зустрічі);

>годинник;

калькулятор.

>Сферизастосування йвимоги доорганайзерівдоситьрізноманітні, томуіснуютьрізніверсії, котріможуть неміститидеякихфункцій,вказанихвище,проте матірпевніспецифічнідодатки,необхідніконкретнійкатегоріїкористувачів.


>Розділ 1.Аналізпредметноїобласті

1.1Середовище розробкипрограми

Укурсовійроботі для розробкипрограми явикористовуваласередовищепрограмуванняBorland Delphi 7.

Delphi —цеінтегрованесередовищешвидкої розробкипрограмного забезпечення для роботи под Microsoft Windows.ВонопідтримуєрозробкуWindows-додатків намовіпрограмування Delphi, котраєнаступницеюмовиObjectPascal.

Delphi в основномувикористовується для розробкинастільнихприкладнихпрограм такорпоративнихСУБД,протецейінструмент можнавикористовувати для розробкибудь-якогозагальногопрограмного забезпечення. Незалишенаосторонь йможливістьпобудовиВеб-додатків, такпотрібних усучасномуінформаційному світі.

Delphiпоширюється укількохредакціях ізрізнимиможливостями йцінами:Personal (одну годинунедоступний), Professional,Enterprise (>ранішеClient/Server) таArchitect.

Delphiспочатку було бтаємнимдослідницьким проектомкомпаніїBorland,якийрозвинувся у продукт, щомавназиватисяAppBuilder.

>Протевідразу после ПершогорелізуAppBuilderкомпаніїBorland буввипущенийNovellAppBuilder,тожBorland бувзмушенапридуматиновуназву для свого продукту.Післявеликоїдискусіїназва Delphiперемогла.

Delphi бувпершою такзваноюсистемоюшвидкої розробки,випущеною у1995-омуроці для16-бітної Windows 3.1.

Delphi 2, представлена фатальністюпізніше,підтримувала32-бітнеWindows-середовище, aверсія, щовикористовуваламову З++, подназвою З++Builderпобачила світлоіщекількомарокамипізніше.

>Головнимархітектором Delphi того годину був АндерсГейлсберг,якийрозробив TurboPascal.Вінперейшов у Microsoft у 1996 для розробкимови З#.

У2001-омуроці був представленаверсія дляопераційноїсистеми Linux подназвоюKylix.Протедужешвидко вона буврозкритикована занизькуякість йвеликукількістьпомилок. Черезце,враховуючинизькийрівень продаж, вон бувзанедбана послетретьоїверсії.

>Булазробленаспробазробитипідтримку й Linux, й Windows длябагатоплатформної розробки,внаслідок чого у Delphi 6 був включенабібліотекаCLX,багатоплатформнаверсіябібліотекиVCL.ТехнологіяCLXтежзазналапоразки й послепадінняKylixтеж був закинута.

>Щепочинаючи ізпершоїверсії 1.0розробкапрограм для базданих сталаоднією ізсильнихсторін Delphi.Бібліотекавізуальних компонент (анг.VisualComponentLibrary,VCL)містилавеликубібліотеку компонент для доступу таманіпулювання із базамиданих.BorlandDatabaseEngine буворигінальноютехнологією зв'язку із базамиданих, й бувєдинимрішенням уранніхверсіях Delphi.Навіть тепер, коли вонрідковикористовується,останняверсіяIDE всещепоставляється ізBDE,необов'язковим длявстановлення.

Delphi 7,випущена усерпні 2002, стала стандартом де-факто длябагатьохDelphi-розробників, йнавіть тепер вона активновикористовується. У Delphi 7доданопідтримку для тим Windows XP йпокращеноможливості дляпобудовиWeb-додатків.Такожце бувостанняверсія Delphi, котра моглавикористовуватися безактивації.Вона малалишенеобов'язковуреєстрацію, якої можна було б простопроігнорувати. Delphi 7єнайбільшоціненоюIDE,створеноюBorlandзавдякисвоїйстабільності,швидкості йнизькимивимогами доапаратного забезпечення.Незважаючи наце уційверсії Delphi, як й у всіхінших, був великакількістьвідомихпомилок, такніколи й невиправленихBorland.

Delphi 8, уявлень угрудні2003-ого, бувлише.NET-релізом, щодозволяврозробникамкомпілювативихіднікодиObjectPascalу.NETCIL.Такожвіндужевідрізнявся відпопередниківзовнішнімвиглядомIDE, вякомувпершезастосованобагатовіконний стиль, багато вчому схожий насередовищеMicrosoft'sVisualStudio.NET. Хочаможливістьперемикання укласичне (анг. ClassicUndocked)розміщеннявікон всещезалишилася.

>Наступнаверсія Delphi 2005 (Delphi 9) включала всобіможливість розробки як дляплатформиMicrosoft.NET, то й под «>рідну»Win32.Такожцяверсія дозволяламаніпулюватиданими із базданихще урежимі дизайнера.Відзначалося йвдосконаленеIDE, а ізмовнихможливостей бувновийвиразfor … in (аналогforeach уC#'і).Проте,середовище було бзновурозкритиковане завиявленіпомилки —обидвіверсії Delphi 8 й Delphi 2005 маліпроблеми зстабільністю, котрі булилишечасткововиправлені усервісних пакетах.

>Наприкінці2005-ого було бвипущеноBorland Developer Studio 2006, Яка включала З#,Delphi.NET, DelphiWin32 та З++ уєдиномуIDE.Цяверсія бувнабагатостабільніша за Delphi 8 чи Delphi 2005, йще понадполіпшена ізвипускомсервіснихпакетів таоновлень.

Delphi 2007 —першаверсіявипущенаCodeGear16-огоберезня 2007.Win32-версія був представленапершою,пізніше буввипущена.NET-версія Delphi 2007 якчастина продуктуCodeGearRAD Studio 2007.Новіможливості включалипідтримку MS Build тавдосконаленняVisualComponentLibrary для WindowsVista.CodeGearтакож представилаDBX4 якновуверсіюdbExpress.Вперше Delphi можна було бзавантажити ізінтернету йактивуватиліцензійнимключем.Локалізованіверсії Delphi 2007 булиодночаснопредставлені наанглійській,французькій,німецькій таяпонськіймовах.RAD Studio 2007, котра включаларозробку наDelphi.NET та З++, буввипущена5-оговересня2007-ого.

У Delphi 2009 (>кодованазваTiburn)додано багато новихможливостей,зокремаузагальнення (анг.generics),анонімніметоди (дляWin32та.NET),повністюпереробленоVCL таRTL дляповноїпідтримкиЮнікоду.

>Borland продалаCodeGearкомпаніїEmbarcaderoTechnologies в 2008.EmbarcaderoзбереглавідділCodeGear,створенийBorland, дляідентифікаціїкупленихпродуктів, свої ж розробкиEmbarcaderoвирішиларозповсюджувати подіменемDatabaseGear.

25серпня 2009 року було бвипущено ужетринадцяту порахункуверсію Delphi 2010.


>Розділ 2.Описпредметноїобласті

2.1 Постановказадачі

>Прикладнепрограмне забезпеченняпризначене длякористувачів, щозвичайно нестворюютьсвоїхпрограм, алишевикористовуютьпрограмнізасоби длявирішенняпевних завдань. Навідміну відпрограмістів, такихкористувачівназивають “>кінцевими“.Вважається, щосаме смердоті йєсправжнімиспоживачамитієїінформації, щозосереджена впам’ятікомп’ютера чиможегенеруватися впроцесі роботиприкладнихпрограм.

Приспілкуванні ізприкладноюсистемоюкористувачуіноді доводитися

>виконуватидеякіпростіоперації -вводити числа йтексти,переглядатидані,виводитиграфіки ймалюнки наекран дисплея й назовнішніпристрої таінше.Прикладніпрограмнізасобибудуються таким чином,щобстворитикористувачумаксимальний комфорт привиконаннідій й при цьому невимагати відньогонадмірно великихнавиків йспеціальних знань, що невідносятьсябезпосередньо до йогофаховихінтересів.

>Можнавиділити двакласи прикладногопрограмного забезпечення, щовикористовуються наперсональнихкомп’ютерах:

>прикладніпакети йпрограмизагальногопризначення;

>проблемно-орієнтованіпакети йпрограми.

>Серед стандартного прикладногопрограмного забезпеченнязагальногозастосування дляуправлінськоїдіяльностіслідвиділити:

>Системипідготовкитекстовихдокументів (>текстовіредактори,текстовіпроцесори,настільнівидавничісистеми).

>Системиобробкифінансово-економічноїінформації (>універсальнітабличніпроцесори,спеціалізованібухгалтерськіпрограми,спеціалізованібанківськіпрограмивнутрішніх таміжбанківськихрозрахунків,спеціалізованіпрограмифінансово-економічногоаналізу йпланування).

>Системикерування базамиданихпризначені длястворення,зберігання таманіпулюваннямасивамиданих великихобсягів.Різнісистеми цого класурозрізняються способамиорганізаціїзберіганняданих йобробкизапитів напошукінформації, атакож характеромінформації, Яказберігається вбазіданих.

>Особистіінформаційнісистеми (>програма-секретар).Вонидозволяютьпроводитиплануванняособистого години,своєчаснонагадують про вушкозапланованихзаходів,ведутьперсональні таінші картки ізможливістюавтоматичноївибіркиінформації,ведутьперсональніінформаційнізаписники длязбереженнярізноманітноїособистоїінформації.

>Саме доостаннього типуналежитьорганайзер –програма,призначена длянакопиченняінформаціїкористувача, апотім оперативногопошуку поній,організаціїсправ й контролю за їхньоговиконанням,відслідковуваннявизначенихкористувачемподій.

2.2Програмна модель.

>Завданням роботиєстворенняпрограми –органайзера дляплануванняробочого години,веденнязаписної йтелефонної книжки. До складудодаткаповиннівходити: калькулятор,записна йтелефонна книжка,годинник,календар.Захиститидодаток відкопіювання шляхомприв’язки до параметра в системномуреєстрі.Створитиінсталяцію,оптимізовану для поширення на дискетах.

Програмустворена всередовищіBorland Delphi 7 йскладається ізкількохмодулів.Крім цього унійзастосовуютьсяXMLтаблиці.

>Основнимиопераціями,виконуванимипрограмою,є: робота із базами,обчислення(калькулятор),виводпоточноїдати й години.

>Загальний алгоритм роботипрограминескладний: прироботі із базамизаписника йтелефонної книжкикористувач вводитидані, котрі, заумовикоректного введення,записуються до бази.Після цогообираєтьсяпевнаопція ізперелікудоступних ізвиділеннямзапису,якщоцеоперація надокремимелементом чиопціяманіпуляціївсією базою.Якщо усі діївиконано,обираєтьсяопціявиходу.

>Графічневідображення алгоритмумаєтакийвигляд(схема1):

Схема 1.Загальний алгоритм роботипрограми.

>Рештафункцій,визначених упрограмі,має схожий,стандартний алгоритм, тому немаєпотребище разповторювати схему.


>Розділ 3.Розробкаінтерфейсу йтестуванняпрограми

3.1Інтерфейс

Длястворенняпрограми буливикористаніXML-таблиці йелементиClientDataSet таDataSourse, щозастосовуються для розробки базданих йрозташовані навкладціDataAccess.Крім того,необхіднимиєкомпонентиDBGrid йDBNavigator,розташовані навкладціDataControls.  

Уході розробкипрограми було бвизначено, щопрограмаскладатиметься ізкількохмодулів: головного йпідлеглих.Підлеглімодулівикликликаються йвикористовуютьсяголовним модулем.Головний модульміститиме всобізаписник,годинник,календар йінформаційнеповідомлення.

Один ізпідлеглихмодуліввміщуєтелефонну книжку,подібну заструктурою дозаписника. Інший модульвміщує всобі калькулятор.

Для розробкиінтерфейсу було бвикористано 3форми,відповідно до числамодулів: 1головна(рис.1) й 2модальні.

>Рис. 1Головна форма.

>Основоюформиє ужевищезгаданіClientDataSet таDataSourse,DBGrid йDBNavigator.

>DBGrid –це полі якувносяться записи, аDBNavigator –сукупністькомандних кнопок, щоздійснюютьпереміщення порядкахзапису, їхніредагування тадодавання.

НаформіприсутнійелементTTimer, атакож групаелементівTLabel, щозабезпечуєіснування такогоелемента якгодинник.

>ЕлементTMonthCalendarвідображаєпоточну дату й день тижня тадозволяєпроглядатиминулі ймайбутніперіоди.

>КнопкиTButton1 йTButton2здійснюютьвикликмодальних форм: «>Телефонна книга» й «>Калькулятор».

Принатисканні кнопкиTButton3відбуваєтьсявикликінформаційногоповідомлення (мал.2).

>Рис. 2Інформаційнеповідомлення.

>Модальна формаTForm2 (рис. 3)містить всобі,аналогічноголовнійформі,компонентиClientDataSet,DataSourse,DBGrid йDBNavigator.Вониутворюютьтаблицю «>Телефонна книга», котрамає 3 поля: «>Ім’я контакту», «Номер» та «Оператор».

>Рис. 3Модальна формаTForm2.


>Модальна формаTForm3 (рис. 4)представляє калькулятор йскладається із 31 кнопок, щопозначають введення цифр таоперації з них.

>Крім тогоформіприсутнійTEdit1 длявиводуданих,елементTPanel вякостііндикаторанаявностіданих впамяті йMainMenu, щомістить всобіперемикачміжрізнимивиглядами калькулятора:звичайним йінженерним тавихід.

>Рис. 4Модальна формаTForm3.

3.2Створенняінсталяції

Длястворенняінсталяції явикористалаSmartInstallMaker 5.02 –програму-створювачпакетів установки. Програмускомпілювалаінсталяцію, Якаявляє собою Єдиний тому, йвстановлюєтьсянаступнимикроками:

>Рис. 5 Старт установки


>Рис. 6Процес установки

>Рис. 7Успішнезавершення установки.

>Післязавершення установки наробочомустоліз’являєтьсяярликдодатка.

3.3Тестуванняпрограми.

Програму бувуспішнопротестована: усідоступнікористувачуфункціїпрацюютькоректно.

>Демонстрація роботипрограми наведена нарис.8-10:


>Рис. 8Телефонна книга.

>Рис. 9Калькулятор.

>Рис. 10Головневікноорганайзера.


>Висновки

>Завданням роботи було бстворенняпрограми –органайзера дляплануванняробочого години,веденнязаписної йтелефонної книжки. До складудодаткавходять: калькулятор,записна йтелефонна книжка,годинник,календар.Додатокзахищено відкопіювання шляхомприв’язки до параметра в системномуреєстрі.Створеноінсталяцію,оптимізовану для поширення на дискетах таіншихносіях.

Заразпрограмауспішновиконуєнамічені заподіяння йпридатна длявикористання вповсякденні.

>Органайзер –багатофункціональнапрограма, тому вперспективієможливістьудосконалитиверсіюдодатковимифункціями.


Списоквикористаноїлітератури

1. М.Фленов «Біблія Delphi»,С-Петербург, - «>БХВ-Петербург», 2004.

2. Попов В.Б. «Паскаль і Дельфі. Самовчитель», - СПб.: Пітер, 2004.

3. Шпак Ю. А. «Delphi 7 на прикладах», - «>Юниор», 2003.

4.delphiexpert/book.php

5.programmersclub


>Додаток

>Лістингпрограми

>unitmain;

>interface

>uses

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

>Dialogs, DB,DBClient,StdCtrls,DBCtrls,Mask,Grids,DBGrids,Calendar,

>ExtCtrls,DateUtils,ShellAPI,ComCtrls,inifiles;

>type

>TForm1 =class(TForm)

>DataSource1:TDataSource;

>ClientDataSet1:TClientDataSet;

>ClientDataSet1Key1:TAutoIncField;

>ClientDataSet1EventName:TStringField;

>ClientDataSet1DateTime:TDateTimeField;

>ClientDataSet1EventText:TMemoField;

>DBGrid1:TDBGrid;

>Timer1:TTimer;

>Shape1:TShape;

>Label4:TLabel;

>Label5:TLabel;

>Label6:TLabel;

>MonthCalendar1:TMonthCalendar;

>DBNavigator1:TDBNavigator;

>Button1:TButton;

>Button2:TButton;

>Button3:TButton;

>procedureFormCreate(Sender:TObject);

>procedureTimer1Timer(Sender:TObject);

>procedureFormShow(Sender:TObject);

>procedureButton1Click(Sender:TObject);

>procedureButton2Click(Sender:TObject);

>procedureButton3Click(Sender:TObject);

private

{Privatedeclarations }

public

{ Publicdeclarations }

end;

>var

>MainForm:TForm1;

>implementation

>usesUnit2,calkulator;

{$R *.>dfm}

>procedureTForm1.FormCreate(Sender:TObject);

>varHour,Min:word;

>win:TIniFile;

>pres:string;

>begin

>Win:=TIniFile.Create('win.ini');

>Win.ReadString ('>windows', '>run',pres);

>IFpres<>application.ExeNamethenwin.WriteString('windows', '>run',application.ExeName);

>Win.Free;

>ClientDataSet1.LoadFromFile('zapysnyk.xml');

>ClientDataSet1.LogChanges:=False;

>Hour:=HourOf(Now);

>Min:=MinuteOf(Now);

>Label4.Caption:=IntToStr(Hour);

>ifMin < 10

>thenLabel6.Caption:= '>0'+IntToStr(Min)

>elseLabel6.Caption:=IntToStr(Min);

end;

>procedureTForm1.FormShow(Sender:TObject);

>begin

>ClientDataSet1.LoadFromFile('zapysnyk.xml');

>IFClientDataSet1.Eof=falsethentimer1.Enabled:=true;

end;

>procedureTForm1.Timer1Timer(Sender:TObject);

>varNowDate,BDate:string;

>cHour,cMin,Hour,Min:word;

>begin

>cHour:=HourOf(Now);

>cMin:=MinuteOf(Now);

>ifTimer1.Tag = 0

>thenbegin

>ifcHour <>Hourthen

>begin

>Hour:=cHour;

>Label4.Caption:=IntToStr(Hour);

end;

>ifcMin <>Minthen

>begin

>Min:=cMin;

>ifmin <10

>thenLabel6.Caption:= '0' +IntToStr(Min)

>elseLabel6.Caption:=IntToStr(Min);

end;

>ifLabel5.Visible

>thenLabel5.Visible:=False

>elselabel5.Visible:=True;

end;

end;

>procedureTForm1.Button1Click(Sender:TObject);

>begin

>Form2.ShowModal;

end;

>procedureTForm1.Button2Click(Sender:TObject);

>begin

>Form3.ShowModal;

end;

>procedureTForm1.Button3Click(Sender:TObject);

>begin

>ShowMessage('Данапрограма -курсова робота іздисципліни ">Прикладнепрограмне забезпечення" студенткигрупиКН-71ХаліманНаталії');

end;

end.

>unitUnit2;

>interface

>uses

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

>Dialogs,StdCtrls, DB,ExtCtrls,DBCtrls,Grids,DBGrids,DBClient;

>type

>TForm2 =class(TForm)

>DataSource1:TDataSource;

>ClientDataSet1:TClientDataSet;

>DBGrid1:TDBGrid;

>DBNavigator1:TDBNavigator;

>ClientDataSet1Key1:TAutoIncField;

>ClientDataSet1Name:TStringField;

>ClientDataSet1Nomer:TIntegerField;

>ClientDataSet1Operator:TStringField;

private

{Privatedeclarations }

public

{ Publicdeclarations }

end;

>var

>Form2:TForm2;

>implementation

{$R *.>dfm}

end.

>unitcalkulator;

>interface

>uses

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

>Dialogs,StdCtrls,ExtCtrls,Menus,XPMan;

>type

>TForm3 =class(TForm)

>Edit1:TEdit;

>Panel1:TPanel;

>Butt_back:TButton;

>Butt_C:TButton;

>Butt_MC:TButton;

>Butt_MR:TButton;

>Butt_MS:TButton;

>Butt_M_plus:TButton;

>Butt_7:TButton;

>Butt_4:TButton;

>Butt_1:TButton;

>Butt_0:TButton;

>Butt_8:TButton;

>Butt_5:TButton;

>Butt_2:TButton;

>Butt_plus_minus:TButton;

>Butt_9:TButton;

>Butt_6:TButton;

>Butt_3:TButton;

>Butt_coma:TButton;

>Butt_div:TButton;

>Butt_mnoj:TButton;

>Butt_minus:TButton;

>Butt_plus:TButton;

>Butt_sqrt_corin:TButton;

>Butt_step:TButton;

>Butt_na_x:TButton;

>Butt_doriv:TButton;

>Butt_pi:TButton;

>Butt_sin:TButton;

>Butt_cos:TButton;

>Butt_ln:TButton;

>Butt_x:TButton;

>MainMenu1:TMainMenu;

>N1:TMenuItem;

>N2:TMenuItem;

>N3:TMenuItem;

>N4:TMenuItem;

>XPManifest1:TXPManifest;

>procedureButt_0Click(Sender:TObject);

>procedureButt_1Click(Sender:TObject);

>procedureButt_2Click(Sender:TObject);

>procedureButt_3Click(Sender:TObject);

>procedureButt_4Click(Sender:TObject);

>procedureButt_5Click(Sender:TObject);

>procedureButt_6Click(Sender:TObject);

>procedureButt_7Click(Sender:TObject);

>procedureButt_8Click(Sender:TObject);

>procedureButt_9Click(Sender:TObject);

>procedureButt_MCClick(Sender:TObject);

>procedureButt_MRClick(Sender:TObject);

>procedureButt_MSClick(Sender:TObject);

>procedureButt_M_plusClick(Sender:TObject);

>procedureButt_backClick(Sender:TObject);

>procedureButt_CClick(Sender:TObject);

>procedureButt_plus_minusClick(Sender:TObject);

>procedureButt_comaClick(Sender:TObject);

>procedureButt_divClick(Sender:TObject);

>procedureButt_mnojClick(Sender:TObject);

>procedureButt_minusClick(Sender:TObject);

>procedureButt_plusClick(Sender:TObject);

>procedureButt_sqrt_corinClick(Sender:TObject);

>procedureButt_stepClick(Sender:TObject);

>procedureButt_na_xClick(Sender:TObject);

>procedureButt_dorivClick(Sender:TObject);

>procedureButt_piClick(Sender:TObject);

>procedureButt_sinClick(Sender:TObject);

>procedureButt_lnClick(Sender:TObject);

>procedureButt_cosClick(Sender:TObject);

>procedureButt_xClick(Sender:TObject);

>procedureN2Click(Sender:TObject);

>procedureN3Click(Sender:TObject);

>procedureFormCreate(Sender:TObject);

>procedureEdit1Change(Sender:TObject;varKey:Char);

>procedureN4Click(Sender:TObject);

private

{Privatedeclarations }

public

{ Publicdeclarations }

end;

>var

>Form3:TForm3;

>implementation

>usesmain;

{$R *.>dfm}

>varx,y,numb,cyf,m:real;

>oper,f:integer;

>procedureTForm3.Butt_0Click(Sender:TObject);

>begin

>iff = 0

>thenbegin

>Edit1.Text:= '0';

>f:= 1;

end

>else

>ifEdit1.Text <> '0'

>thenEdit1.Text:=Edit1.Text + '0';

end;

>procedureTForm3.Butt_1Click(Sender:TObject);

>begin

>iff = 0

>thenbegin

>Edit1.Text:= '1';

>f:= 1;

end

>elseEdit1.Text:=Edit1.Text + '1';

end;

>procedureTForm3.Butt_2Click(Sender:TObject);

>begin

>iff = 0

>thenbegin

>Edit1.Text:= '2';

>f:= 1;

end

>elseEdit1.Text:=Edit1.Text + '2';

end;

>procedureTForm3.Butt_3Click(Sender:TObject);

>begin

>iff = 0

>thenbegin

>Edit1.Text:= '3';

>f:= 1;

end

>elseEdit1.Text:=Edit1.Text + '3';

end;

>procedureTForm3.Butt_4Click(Sender:TObject);

>begin

>iff = 0

>thenbegin

>Edit1.Text:= '4';

>f:= 1;

end

>elseEdit1.Text:=Edit1.Text + '4';

end;

>procedureTForm3.Butt_5Click(Sender:TObject);

>begin

>iff = 0

>thenbegin

>Edit1.Text:= '5';

>f:= 1;

end

>elseEdit1.Text:=Edit1.Text + '5';

end;

>procedureTForm3.Butt_6Click(Sender:TObject);

>begin

>iff = 0

>thenbegin

>Edit1.Text:= '6';

>f:= 1;

end

>elseEdit1.Text:=Edit1.Text + '6';

end;

>procedureTForm3.Butt_7Click(Sender:TObject);

>begin

>iff = 0

>thenbegin

>Edit1.Text:= '7';

>f:= 1;

end

>elseEdit1.Text:=Edit1.Text + '7';

end;

>procedureTForm3.Butt_8Click(Sender:TObject);

>begin

>iff = 0

>thenbegin

>Edit1.Text:= '8';

>f:= 1;

end

>elseEdit1.Text:=Edit1.Text + '8';

end;

>procedureTForm3.Butt_9Click(Sender:TObject);

>begin

>iff = 0

>thenbegin

>Edit1.Text:= '9';

>f:= 1;

end

>elseEdit1.Text:=Edit1.Text + '9';

end;

>procedureDoOper;

>begin

>numb:=StrToFloat(Form3.Edit1.Text);

>caseoper of

0:cyf:=numb;

1:cyf:=cyf +numb;

2:cyf:=cyf -numb;

3:cyf:=cyf *>numb;

4:cyf:=cyf /numb;

end;

>Form3.Edit1.Text:=FloatToStr(cyf);

end;

>procedureTForm3.Butt_MCClick(Sender:TObject);

>begin

>m:=0;

>panel1.Caption:='';

end;

>procedureTForm3.Butt_MRClick(Sender:TObject);

>begin

>edit1.Text:=floattostr(M);

end;

>procedureTForm3.Butt_MSClick(Sender:TObject);

>begin

>M:=strtofloat(edit1.Text);

>panel1.Caption:='M';

end;

>procedureTForm3.Butt_M_plusClick(Sender:TObject);

>begin

>panel1.Caption:='M';

>M:=M+strtofloat(edit1.Text);

end;

>procedureTForm3.Butt_backClick(Sender:TObject);

>var

>back:string;

>begin

>back:=edit1.Text;

>delete(back,length(back),1);

>edit1.Text:=back;

>ifedit1.Text=''then

>begin

>edit1.Text:='0';

end;

end;

>procedureTForm3.Butt_CClick(Sender:TObject);

>begin

>Edit1.Text:= '0';

>cyf:= 0;

>oper:= 0;

>f:= 0;

end;

>procedureTForm3.Butt_plus_minusClick(Sender:TObject);

>begin

>edit1.Text:=floattostr(-strtofloat(edit1.Text));

end;

>procedureTForm3.Butt_comaClick(Sender:TObject);

>begin

>ifEdit1.Text = '0'then

>begin

>Edit1.Text:= '0,';

>f:= 1;

end;

>ifPos(',',Edit1.Text) = 0then

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

end;

>procedureTForm3.Butt_divClick(Sender:TObject);

>begin

>iff = 0

>thenoper:= 4

>elsebegin

>DoOper;

>oper:=4;

>f:=0;

end;

end;

>procedureTForm3.Butt_mnojClick(Sender:TObject);

>begin

>iff = 0

>thenoper:= 3

>elsebegin

>DoOper;

>oper:=3;

>f:=0;

end;

end;

>procedureTForm3.Butt_minusClick(Sender:TObject);

>begin

>iff = 0

>thenoper:= 2

>elsebegin

>DoOper;

>oper:=2;

>f:=0;

end;

end;

>procedureTForm3.Butt_plusClick(Sender:TObject);

>begin

>iff = 0

>thenoper:= 1

>elsebegin

>DoOper;

>oper:=1;

>f:=0;

end;

end;

>procedureTForm3.Butt_sqrt_corinClick(Sender:TObject);

>begin

>x:=StrToFloat(form3.Edit1.Text);

>if (>x<0)then

>begin

>messagedlg('Квадратногокореня ізвід*ємного числанеіснує!',mtError,[mbOk],0); exit;

end;

>y:=sqrt(x);

>Form3.Edit1.Text:=FloatToStr(y);

end;

>procedureTForm3.Butt_stepClick(Sender:TObject);

>begin

>x:=StrToFloat(form3.Edit1.Text);

>y:=sqr(x);

>Form3.Edit1.Text:=FloatToStr(y);

end;

>procedureTForm3.Butt_na_xClick(Sender:TObject);

>begin

>x:=StrToFloat(form3.Edit1.Text);

>y:=1/x;

>Form3.Edit1.Text:=FloatToStr(y);

end;

>procedureTForm3.Butt_dorivClick(Sender:TObject);

>begin

>iff = 0

>thenoper:= 0

>elsebegin

>DoOper;

>oper:=0;

>f:=0;

end;

end;

>procedureTForm3.Butt_piClick(Sender:TObject);

>begin

>iff = 0

>thenbegin

>Edit1.Text:=floattostr(pi);

>f:= 1;

end

>else

>ifEdit1.Text <> '1'

>thenEdit1.Text:=Edit1.Text + '';

end;

>procedureTForm3.Butt_sinClick(Sender:TObject);

>begin

>x:=StrToFloat(form3.Edit1.Text);

>y:=sin(x);

>Form3.Edit1.Text:=FloatToStr(y);

end;

>procedureTForm3.Butt_lnClick(Sender:TObject);

>begin

>x:=StrToFloat(form3.Edit1.Text);

>if (>x<1)then

>begin

>messagedlg('Логарифмвід"ємного числа неіснує!',mtError,[mbOk],0); exit;

end;

>y:=ln(x);

>Form3.Edit1.Text:=FloatToStr(y);

end;

>procedureTForm3.Butt_cosClick(Sender:TObject);

>begin

>x:=StrToFloat(form3.Edit1.Text);

>y:=cos(x);

>Form3.Edit1.Text:=FloatToStr(y);

end;

>procedureTForm3.Butt_xClick(Sender:TObject);

>begin

>x:=StrToFloat(form3.Edit1.Text);

>y:=exp(x);

>Form3.Edit1.Text:=FloatToStr(y);

end;

>procedureTForm3.N2Click(Sender:TObject);

>begin

>Form3.Edit1.Width:=249;

>Form3.Width:=266;

end;

>procedureTForm3.N3Click(Sender:TObject);

>begin

>Form3.Edit1.Width:=320;

>Form3.Width:=339;

end;

>procedureTForm3.FormCreate(Sender:TObject);

>begin

>oper:= 0;

end;

>proсedureTForm3.Edit1Change(Sender:TObject;varKey:Char);

>begin

>Key:=Chr(0);

end;

>procedureTForm3.N4Click(Sender:TObject);

>begin

>Form3.Close;

end;

end.


Схожі реферати:

Навігація