Об’єктно-орієнтоване програмування в середовищі Borland Delphi

Створення довідника філателіста за допомогою об'єктно-орієнтованого програмування. Інтерфейс програми, вікна функцій. Графічні об’єкти мови програмування для вводу інформації. Побудова об’єктної моделі та реалізація програми в середовищі Borland Delphi.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 25.01.2016
Размер файла 878,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Реферат

Курсова робота: 38 с., 9 рис., 8 джерел, 4 додатки.

Об'єктом дослідження є типові оператори та базові конструкції мови програмування Object Pascal.

Мета роботи - отримати навички коректного використання операторів та конструкцій та побудова ефективних алгоритмів для розв'язку типових задач.

Методика (метод дослідження): комп'ютерна реалізація та комп'ютерне тестування.

Одержані висновки та їх новизна: розроблені алгоритми та складені програми для створення бази даних телефонних номерів.

Результати досліджень можуть бути застосовані при розробці алгоритмів та програм складних задач; створенні великих баз даних.

Перелік ключових слів: АЛГОРИТМ, ПРОГРАМА, КЛАС, ОБ'КТ, ДАНІ, ЗМІННА, СТРУКТУРА, ІНСТРУКЦІЯ, ФУНКЦІЯ, ПРОЦЕДУРА.

програмування delphi довідник інтерфейс

Зміст

Вступ

1. Постановка завдання

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

3. Об'єктно-орієнтоване програмування

3.1 Історія і основи ООП

3.2 Класи і об'єкти

4.Побудова об'єктної моделі

4.1 Визначення об'єктів і класів

4.2 Визначення залежностей (зв'язків) між класами

5.Реалізація програми в середовищі Borland Delphi

5.1 Інтерфейс програми

5.2 Демонстрація можливостей програми. Тестовий приклад

Висновок

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

Додаток А

Додаток Б

Додаток В

Додаток С

Вступ

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

Курсова робота з об'єктно-орієнтованого програмування передбачає знання студентами об'єктно-орієнтованого проектування та програмування і є завершальним етапом вивчення у рамках курсу об'єктно -орієнтованє програмування підготовки студентів.

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

Виконання курсової роботи (КР) направлено на закріплення знань, отриманих при вивченні теоретичної частини курсу, і набуття практичних навичок розробки об'єктно-орієнтованих програм. В результаті виконання курсової роботи студент повинен освоїти:

- концепції об'єктно-орієнтованого програмування;

- спеціалізовані засоби розробки програмного забезпечення мовою Delphi;

- спеціалізовані засоби розробки програмного забезпечення мовою С ++;

знати: загальні питання побудови та використання сучасних систем об'єктно-орієнтованного та візуального проектування програмних засобів комп'ютерних систем управління; основні поняття та методи об'єктно-орієнтованного проектування та програмування, основні засоби розробки програм з використанням багато ієрархічних структур об'єктів та класів об'єктів;

вміти: самостійно вибирати середовище проектування програмних засобів, проектувати, розробляти, налагоджувати та супроводжувати сучасне програмне забезпечення комп'ютерних систем управління.

Під час виконання курсової роботи студент повинен продемонструвати:

- вміння збирати і аналізувати відповідні матеріали про об'єкт дослідження, використовуючи сучасні джерела інформації, включаючи Інтернет --ресурси;

- спроможність проводити необхідні обґрунтування для розробки програмних засобів систем управління різного призначення тощо;

- здатність доводити розв'язання поставленої задачі до логічного кінця;

- вміння аналізувати отримані результати і робити з них висновки.

КР складається з двох взаємопов'язаних частин. Для виконання першої частини КР потрібно побудувати детальну об'єктну модель запропонованої предметної області. Друга частина КР передбачає безпосередню розробку об'єктно-орієнтованого програмного забезпечення, реалізує розроблену об'єктну модель.

1. Постановка завдання

Довідник філателіста. Марки: країна, національна вартість, рік випуску, тираж, особливості. Філателісти: країна, ім'я, контактні координати, наявність рідкісних марок в колекції. Власна колекція.

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

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

1. Створення бази філателістів

2. Створення бази марок

3. Виведення інформації на екран

4. Пошук

Для кожної з цієї функції буде спроектоване окреме вікно для легкого керування програмою. Для вводу інформації будемо використовувати стандартні графічні об'єкти мови програмування. Інформація з цих об'єктів буде передаватися до об'єктів створених нами класів. Класи, які будуть використовуватися в програмі будуть визначені в наступних розділах.

Отже наша програма являтиме собою довідник для філателіста, яка допомагатиме філателісту отримувати інформацію про інших філателістів і про колекціоновані марки

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

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

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

Термін «філателія» створений від грец. «цйлЭщ» (люблю) і «?фЭлейб» (звільнення від оплати) та означає замилування до поштових марок та інших знаків поштових оплат. У стародавній Греції на листах ставили особливу відмітку -- телос («фЭлпт»), яка означала, що лист оплачений відправником і одержувачеві не потрібно нічого платити. Ця відмітка є ніби попередником сучасної поштової марки, що замінила грошову плату за пересилання листів. Таким чином, слово «філателіст» позначає той, що «любить знаки поштової оплати». Цікаво, що в Болгарії філателіста так і називають -- марколюб (болг. марколюбител).

Щоправда, спочатку вживався термін «тембрологія» (фр. timbre -- поштова марка). Коли зрозуміли, що так звані колекціонери поштових марок не стільки вивчають їх, скільки збирають для зовсім інших цілей, скажімо, обклеювання кімнат, нове захоплення охрестили «темброманією» («маркоманією»). Термін «філателія» ввів французький колекціонер Жорж Ерпен (Georges Herpin) у 1864 році. У статті, вміщеній у французькому щомісячному журналі «Колекціонер поштових марок», він писав, що термін «маркоманія» не відображує сенсу справи, і запропонував нове визначення -- «філателія», в якому закладено все, що стосується знаків поштової оплати -- конвертів, штемпелів, поштових документів.

3. Об'єктно-орієнтоване програмування

3.1 Історія і основи ООП

Перша об'єктно-орієнтована мова програмування Simula 67 була розроблена наприкінці 60-х років у Норвегії. Автори цієї мови дуже точно угадали перспективи розвитку програмування: їхня мова набагато випередила свій час. Найважливіші риси мови Simula 67 були помічені програмістами, і в 70-і роки було розроблено велику кількість експериментальних об'єктно-орієнтованих мов програмування: наприклад, мови CLU, Alphard, Concurrent Pascal і ін. Ці мови так і зали- шилися експериментальними, але в результаті їхнього дослідження були розроблені сучасні об'єктно-орієнтовані мови програмування: C++, Smalltalk, Eiffel і ін.

Найбільш розповсюдженою об'єктно-орієнтованою мовою програ- мування безумовно є C++. Вільно розповсюджувані комерційні системи програмування C++ існують практично на будь-якій платформі. Розроб- ка нових об'єктно-орієнтованих мов програмування продовжується. З 1995 року стала широко поширюватися нова об'єктно-орієнтована мова програмування Java, орієнтована на мережі комп'ютерів і, насамперед, на Internet. Синтаксис цієї мови нагадує синтаксис мови C++, однак ці мови мають мало загального.

Java є інтерпретуємою мовою: для неї визначені внутрішнє представлення й інтерпретатор цього представлення, що ужезараз реалізовані на більшості платформ. Інтерпретатор спрощує налагодження програм, написаних мовою Java, забезпечує їх переносимість на нові платформи й адаптованість до нових оточень. Він дозволяє виключити вплив програм, написаних мовою Java, на інші програми і файли, що маються на новій платформі, і тим самим забезпечити безпеку при виконанні цих програм. Ці властивості мови Java дозволяють використовувати її як основну мову програмування для програм, розповсюджуваних по мережах (зокрема, по мережі Internet). Популярним серед розроблювачів прикладних систем стало середовище візуального програмування Delphi, мовою якого є об'єктно- орієнтоване розширення Паскаля.

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

Отже, між термінами клас і об'єкт існує чітка межа: клас - це опис, об'єкт - те, що створене відповідно до цього опису.

Основними властивостями об'єктно-орієнтованого програмування є інкапсуляція, спадкування і поліморфізм.

Інкапсуляція - це визначення класів - користувальницьких типів даних, які об'єднують свій вміст в єдиний тип і реалізовують деякі операції або методи над ним, та приховують деталі реалізації від користувача.

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

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

Для розробки об'єктно-орієнтованих програм використовуються об'єктно-орієнтовані мови програмування. Об'єктно-орієнтована мова програмування може бути визначена як мова, що має засоби хорошої підтримки об'єктно-орієнтованого стилю програмування.

3.2 Класи і об'єкти

Ми живемо в світі об'єктів. Стіл, автомобіль, ручка, студент - все це об'єкти. Разом з фізичними існують так само абстрактні об'єкти, типовими представниками яких є числа. Таким чином, об'єкт - це будь-яка фізична або абстрактна суть, що чітко ідентифікується.

Об'єкти характеризуються атрибутами. Так, атрибутами автомобіля є максимальна швидкість, потужність двигуна, колір кузова і т.д. Атрибутами студента є прізвище, ім'я, група, в якій він навчається, курс і т.д. Крім атрибутів, об'єкти володіють деякими функціональними можливостями, які в об'єктно-орієнтованому програмуванні називають операціями або методами. Так, автомобіль може їздити, корабель - плавати, комп'ютер - обчислювати.

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

Об'єкт - це екземпляр деякого класу об'єктів або просто класу.

Об'єктно-орієнтований під до розроблення програмних продуктів побудова- ний на такому понятті як класи. Клас визначає новий тип даних, який задає фор- мат об'єкта. Клас містить як дані, так і коди програм, призначені для виконання дій над ними. Загалом, клас пов'язує дані з кодами програми. У мові програмування специфікацію класу використовують для побудови об'єктів. Об'єкти - це примірники класового типу. Загалом, клас є набором планів і дій, які вказують на властивості об'єкта та визначають його поведінку. Важливо розуміти, що клас - це логічна абстракція, яка реально не існує доти, доки не буде створено об'єкт цього класу, тобто це те, що стане фізичним представленням цього класу в пам'яті комп'ютера. Визначаючи клас, оголошують ті глобальні дані, які міститимуть об'єкти, і програмні коди, які виконуватимуться над цими даними. Хоча інколи прості класи можуть містити тільки програмні коди або тільки дані, проте більшість реальних класів містять обидва компоненти. У класі дані оголошуються у вигляді змін- них, а програмні коди оформляють у вигляді функцій. Змінні та функції називаються членами класу. Змінну, оголошену в класі, називають членом даних, а оголошену в класі функцію - функцією-членом класу. Іноді замість терміна член даних класу використовують термін змінна класу, а замість терміна функція-член класу використовують термін метод класу.

Отже, клас - це структурований тип даних, визначений користувачем. Коли клас визначений, ім'я класу може бути використано для оголошення змінної цього типу , які називають екземплярами класу або об'єктами. Функції, що оголошені усередині класу, викликаються ззовні об'єкта даного класу за допомогою оператора вибору елемента «.» або оператора вибору елемента за допомогою покажчика «->».

4. Побудова об'єктної моделі

Для побудови об'єктної моделі даної системи необхідно виконати наступні етапи:

- визначення об'єктів і класів;

- визначення залежностей між об'єктами;

- визначення атрибутів об'єктів і зв'язків;

4.1 Визначення об'єктів і класів

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

- Форма 1

- Форма 2

- Форма 3

- Форма 4

- Філателіст

- Контактна інформація

- Рідкісні марки

- Марки

В класі Форма 1 будуть визначені наступні об'єкти: 3 об'єкта RadioButton(використовуються для вибору однієї з дій відповідно до постановки задачі), об'єкт Button1(використовується для переходу до вибраної дії).

В класі Форма 2 наявні об'єкти: 13 об'єктів Label, 10 об'єктів Edit(призначені для передачі даних, введених користувачем, до класів Філателіст, Контактна інформація, Рідкісні марки), 5 об'єктів MenuItem, об'єкт MainMenu, об'єкти Fl, KtIn,RdM класів Філателіст,Контактна інформація і Рідкісні марки.

В класі Форма 3 використовуються такі об'єкти: об'єкт Memo(відображає інформацію з класів), об'єкт Edit(для пошуку інформації).

В класі Форма 1 будуть визначені об'єкти: 7 об'єктів Label, 6 об'єктів Edit(призначені для передачі даних, введених користувачем, до класу Марки), 5 об'єктів MenuItem, об'єкт MainMenu, об'єкт М класу Марки.

4.2 Визначення залежностей (зв'язків) між класами

Провівши аналіз задачі і визначивши класи і об'єкти, які будуть в нашій задачі необхідно виділити зв'язки між цими класами. Між виділеними класами можуть бути явні і неявні зв'язки.

Між класами Форма 1 і Форма 2 , Форма 3, Форма 4 існує прямий зв'язок, оскільки перша породжує наступні класи.

Форма 2 має зв'язок з класами Філателіст, Контактна інформація і Рідкісні марки. Зв'язки між цими класами явні.

Філателіст, Контактна інформація і Рідкісні марки здійснюють зв'язок один з одним через клас Форма 2 і тому зв'язки тут неявні.

Класи Форма 4, Форма 3 і Форма 2 зв'язані між собою класом Форма 1, прямого зв'язку між цими класами немає.

Клас Форма 4 має прямий зв'язок з класом Марки.

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

4.3 Побудова діаграми ієрархії класів

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

Рис. 1 Діаграма ієрархії класів

З вище наведеної діаграми видно, які класи присутні в програмі і які існують між ними співвідношення.

5. Реалізація програми в середовищі Borland Delphi

Після дослідження предметної області, постановки завдання і побудови об'єктної моделі можна приступити до реалізації програми на мові програмування. Нашу програму ми будемо реалізовувати в середовищі Borland Delphi 7.

Delphi - це нащадок середовища програмування Turbo Pascal. Система візуального об'єктно-орієнтованого проектування Delphi дозволяє:

1. Створювати закінчені додатки для Windows самої різної спрямованості.

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

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

4. Створювати потужні системи роботи з базами даних будь-яких типів.

5. Формувати і друкувати складні звіти, які включають таблиці, графіки.

6. Створювати довідкові системи, як для своїх програм, так і для будь-яких інших.

7. Створювати професійні програми установки для додатків Windows, враховують всю специфіку і всі вимоги операційної системи.

5.1 Інтерфейс програми

Для того щоб розпочати працювати над розробкою програми, потрібно відкрити середовище розробки і створити новий проект. Після цього перед нами з'явиться вікно, в якому буде створюватись наша майбутня програма. Для початку нам потрібно організувати інтерфейс програми. Для цього з палітри інструментів вибираємо необхідні компоненти і поміщаємо їх на форму. В інспекторі об'єктів змінюємо певні налаштування (заголовки, шрифти, колір). Інтерфейс програми необхідний легкого візуального контролю над нашою програмою. Приклад графічного оформлення Форми 1 представлений на рис.2.

Рис. 2 Інтерфейс форми 1

Аналогічним чином візуально оформлюємо Форми 2,3,4. На рис.3 зображено інтерфейс Форми 4.

Рис. 3 Інтерфейс форми 4

Інтерфейс Форми 2 показано на рис.4.

Рис. 4 Інтерфейс форми 2

Графічне оформлення Форми 3 наведено на рис.5.

Рис. 5 Інтерфейс форми 3

Після створення форм ми можемо перейти до безпосереднього пограмування програми. Для цього потрібно перейти до вікна редактора коду і ввести необхідний код.

Код програми на мові Object Pascal складається з наступних частин:

1. Назви блоку (unit Unit1)

2. Підключення заголовочних файлів (uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,Menus, ExtCtrls)

3. Оголошення типів (type [тип] end;)

4. Опису змінних (var [змінна]:тип даних)

5. Основного коду програми.

Лістинг блоку 1, блоку 2, блоку 3 і блоку 4 відповідно наведені в додатках А, Б, В і С.

5.2 Демонстрація можливостей програми. Тестовий приклад

Після проведення всіх дій по програмуванню програми потрібно провести тестовий приклад. Тестування повинне забезпечити перевірку працездатності функцій для всіх варіантів вхідних даних а також перевірку на наявність помилок виконання програми чи відображення візуальних об'єктів.

Для проведення перевірки запускаємо нашу програму. Для цього потрібно натиснути кнопку на панелі інструментів або клавішу F9 на клавіатури. Після запуску перед нами появляється перше вікно, яке дає можливість вибрати один із варіантів дій: створити базу чи відкрити вже готову базу. На рис.6 зображено стартове вікно.

Рис. 6 Стартове вікно програми

Далі перевіряємо на працездатність наступну частину нашої програми. Для цього вибираємо функцію - створити. Перед нами появиться форма для заповнення, куди потрібно ввести дані про філателістів. На рис.7. зображено форму заповнення.

Рис. 7Форма створення бази філателістів

Далі перевіримо форму для створення бази марок. Для цього на стартовій формі вибираємо створити базу марок. Приклад роботи програми показано на рис.8.

Рис. 8Форма створення бази марок

Наступним етапом тестування є перевірка функції відображення інформації на екран комп'ютера і пошуку даних відповідно до заданого критерію. Для цього на стартовому вікні потрібно вибрати функцію відкрити базу. Далі в вікні, що відкрилося потрібно наступні операції: Файл->Відкрити і вибрати необхідний файл. Перед нами появиться вікно з інформацією про філателістів. Внизу, під цією інформацією розміщено елемент для вводу критерію. Туди вводимо, для прикладу, прізвище філателіста і перевіряємо, що видасть нам програма. Приклад тестування зображено на рис.9.

Рис. 9 Вікно відображення інформації

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

Висновок

В ході виконання завдання курсової роботи з об'єктно-орієнтованого програмування, мною було вивчено базові конструкції мови програмування Object Pascal; використано на практиці знання отримані мною на заняттях з дисципліни «Об'єктно-орієнтованого програмування»; розроблено і протестовано програму для створення телефонного довідника, яка здійснює наступні функції: створення бази телефонних номерів, виведення даних зі створеної бази і пошук номерів за заданим критерієм, розвинено вміння використовувати основні принципи ООП і вміння працювати з класами і об'єктами.

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

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

1. Осипов Д. Delphi. Профессиональное программирование. - СПб.: Символ-Плюс, 2006. -1056 с., ил.

2. Флеиов М. Е.Профаммирование в Delphi глазами хакера. -- СПб.: БХВ-Петер-бург, 2003. - 368 с: ил.

3. Т.А. Павловская. Паскаль. Програмирование на языке высокого уровня. Учебник. 2007 год. 400 стр.

4. Сайт www.pascal.org.ua

5. Сайт: www.google.com

6. Сайт: www.yandex.ua

7. Сайт: www.wikipedia.org

Додаток А

Лістинг Unit 1

unit Unit1;

interface

uses

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

Dialogs, StdCtrls,Menus, ExtCtrls;

type

TForm1 = class(TForm)

Label1: TLabel;

GroupBox1: TGroupBox;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2, Unit3, Unit4;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

If radioButton1.Checked = True then

Begin

Form4:=TForm4.Create(self);

Form4.Show;

end

else

If radioButton2.Checked = True then

Begin

Form2:=TForm2.Create(self);

Form2.Show;

end

else

If radioButton3.Checked = True then

Begin

Form3:=TForm3.Create(self);

Form3.Show;

end

else

showmessage('Виберіть дію');

end;

end.

Додаток Б

Лістинг Unit 2

unit Unit2;

interface

uses

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

Dialogs, StdCtrls, Menus;

type

TForm2 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Button1: TButton;

SaveDialog1: TSaveDialog;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

Label6: TLabel;

Label5: TLabel;

Label7: TLabel;

Label8: TLabel;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Label9: TLabel;

Label10: TLabel;

Edit7: TEdit;

Edit8: TEdit;

Label12: TLabel;

Edit9: TEdit;

Edit10: TEdit;

Label11: TLabel;

Label13: TLabel;

procedure N2Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Edit1KeyPress(Sender: TObject; var Key: Char);

procedure Edit2KeyPress(Sender: TObject; var Key: Char);

procedure Edit3KeyPress(Sender: TObject; var Key: Char);

procedure Edit4KeyPress(Sender: TObject; var Key: Char);

procedure Edit5KeyPress(Sender: TObject; var Key: Char);

procedure Edit6KeyPress(Sender: TObject; var Key: Char);

procedure Edit7KeyPress(Sender: TObject; var Key: Char);

procedure Edit8KeyPress(Sender: TObject; var Key: Char);

procedure Edit9KeyPress(Sender: TObject; var Key: Char);

procedure Edit10KeyPress(Sender: TObject; var Key: Char);

private

{ Private declarations }

public

{ Public declarations }

end;

type

TFilatelist = class

private

pr,im,pb:string[15];

public

constructor Create(NewPr, NewIm, NewPb:string);

function Info:string;

end;

type

TKontInfo = class

private

country,obl,misto,vul,bud,tell:string[25];

public

constructor Create(NewCountry, NewMisto, NewObl, NewVul, NewBud, NewTell:string);

function save:string;

end;

type

TRidMark = class

private

mark:string[20];

public

constructor Create(NewMark:string);

function save:string;

end;

var

Form2: TForm2;

F:textfile;

Fl:TFilatelist;

KtIn:TKontInfo;

RdM:TRidMark;

implementation

{$R *.dfm}

//методи класу TFilatelist

constructor TFilatelist.Create(NewPr, NewIm, NewPb:string);

begin

inherited Create;

pr:=NewPr;

im:=NewIm;

pb:=NewPb;

end;

function TFilatelist.Info:string;

begin

info:=pr+' '+im+' '+pb;

end;

//методи класу TKontInfo

constructor TKontInfo.Create(NewCountry, NewMisto, NewObl, NewVul, NewBud, NewTell:string);

begin

country:=NewCountry;

misto:=NewMisto;

obl:=NewObl;

vul:=NewVul;

bud:=NewBud;

tell:=NewTell

end;

function TKontInfo.save:string;

begin

save:=' | '+country+'-'+misto+'-'+obl+' обл.-вул.'+vul+'-буд.'+bud+'-тел:'+tell+'|';

end;

//методи класу TRidMark

constructor TRidMark.Create(NewMark:string);

begin

inherited Create;

mark:=NewMark;

end;

function TRidMark.save:string;

begin

save:=mark;

end;

//------------------------------------------------------

procedure TForm2.FormCreate(Sender: TObject);

begin

SaveDialog1.Execute;

Assignfile(f,SaveDialog1.FileName);

rewrite(f);

Write(f,'ПІБ'+chr(9)+chr(9)+chr(9),'|Контактна інформація'+chr(9)+chr(9)+chr(9)+chr(9)+chr(9),'|Рідкісні марки');

writeln(f);

Closefile(f);

end;

procedure TForm2.Button1Click(Sender: TObject);

begin

Edit1.SetFocus;

Fl:=TFilatelist.Create(Edit1.Text,Edit2.Text,Edit3.Text);

KtIn:=TKontInfo.Create(Edit4.Text,Edit5.Text,Edit6.Text,Edit7.Text,Edit8.Text,Edit9.Text);

RdM:=TRidMark.Create(Edit10.Text);

Assignfile(f,SaveDialog1.FileName);

append(f);

writeln(f,Fl.info,' ',KtIn.save,' ',RdM.save);

CloseFile(f);

Fl.Free;

KtIn.Free;

RdM.Free;

Edit1.Text:='';

Edit2.Text:='';

Edit3.Text:='';

Edit4.Text:='';

Edit5.Text:='';

Edit6.Text:='';

Edit7.Text:='';

Edit8.Text:='';

Edit9.Text:='';

Edit10.Text:='';

end;

procedure TForm2.N2Click(Sender: TObject);

begin

SaveDialog1.Execute;

Assignfile(f,SaveDialog1.FileName);

rewrite(f);

Closefile(f);

end;

procedure TForm2.N4Click(Sender: TObject);

begin

Close;

end;

procedure TForm2.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if key=#13 then

Edit2.SetFocus;

end;

procedure TForm2.Edit2KeyPress(Sender: TObject; var Key: Char);

begin

if key=#13 then

Edit3.SetFocus;

end;

procedure TForm2.Edit3KeyPress(Sender: TObject; var Key: Char);

begin

if key=#13 then

Edit4.SetFocus;

end;

procedure TForm2.Edit4KeyPress(Sender: TObject; var Key: Char);

begin

if key=#13 then

Edit5.SetFocus;

end;

procedure TForm2.Edit5KeyPress(Sender: TObject; var Key: Char);

begin

if key=#13 then

Edit6.SetFocus;

end;

procedure TForm2.Edit6KeyPress(Sender: TObject; var Key: Char);

begin

if key=#13 then

Edit7.SetFocus;

end;

procedure TForm2.Edit7KeyPress(Sender: TObject; var Key: Char);

begin

if key=#13 then

Edit8.SetFocus;

end;

procedure TForm2.Edit8KeyPress(Sender: TObject; var Key: Char);

begin

if key=#13 then

Edit9.SetFocus;

end;

procedure TForm2.Edit9KeyPress(Sender: TObject; var Key: Char);

begin

if key=#13 then

Edit10.SetFocus;

end;

procedure TForm2.Edit10KeyPress(Sender: TObject; var Key: Char);

begin

if key=#13 then

Button1.Click;

end;

end

Додаток В

Лістинг Unit 3

unit Unit3;

interface

uses

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

Dialogs, Menus, StdCtrls;

type

TForm3 = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

OpenDialog1: TOpenDialog;

N3: TMenuItem;

N4: TMenuItem;

N2: TMenuItem;

SaveDialog1: TSaveDialog;

Memo1: TMemo;

Edit1: TEdit;

Button1: TButton;

Label2: TLabel;

procedure N3Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Edit1Click(Sender: TObject);

procedure Edit1KeyPress(Sender: TObject; var Key: Char);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3.FormCreate(Sender: TObject);

begin

Memo1.Clear;

end;

procedure TForm3.N3Click(Sender: TObject);

begin

if SaveDialog1.Execute then

Memo1.Lines.SaveToFile(SaveDialog1.FileName);

end;

procedure TForm3.N4Click(Sender: TObject);

begin

if OpenDialog1.Execute then

Memo1.Lines.LoadFromFile(OpenDialog1.FileName);

end;

procedure TForm3.N2Click(Sender: TObject);

begin

Close;

end;

procedure TForm3.Button1Click(Sender: TObject);

Var

kr:string[40];

i:integer;

begin

label2.caption:='';

kr:=Edit1.Text;

for i:=0 to memo1.lines.count-1 do

begin

if AnsiPos(kr,Memo1.lines[i])<>0 then

label2.caption:=label2.caption+Memo1.lines[i]+chr(13);

end;

end;

procedure TForm3.Edit1Click(Sender: TObject);

begin

Edit1.Text:='';

end;

procedure TForm3.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if key=#13 then

Button1.Click;

end;

end.

Додаток С

Лістинг Unit 4

unit Unit4;

interface

uses

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

Dialogs, Menus, StdCtrls;

type

TForm4 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label7: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Button1: TButton;

Edit4: TEdit;

Edit5: TEdit;

SaveDialog1: TSaveDialog;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

Label6: TLabel;

Edit6: TEdit;

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

type

TMark = class

private

nam,coun,man,year,tur,osob:string[15];

public

constructor Create(Newnam, Newcoun, Newman, Newyear, Newtur, Newosob:string);

function save:string;

end;

var

Form4: TForm4;

F:textfile;

M:TMark;

implementation

{$R *.dfm}

constructor TMark.Create(Newnam, Newcoun, Newman, Newyear, Newtur, Newosob:string);

begin

inherited Create;

nam:=Newnam;

coun:=Newcoun;

man:= Newman;

year:=Newyear;

tur:=Newtur;

osob:=Newosob;

end;

function TMark.save:string;

begin

save:=nam+'|'+coun+'|'+man+'|'+year+'|'+tur+'|'+osob;

end;

procedure TForm4.FormCreate(Sender: TObject);

begin

SaveDialog1.Execute;

Assignfile(f,SaveDialog1.FileName);

rewrite(f);

Write(f,'Інформація про марки');

Write(f,'Назва марки|Країна|Національна вартість|Рік випуску|Тираж|Особливості|');

writeln(f);

Closefile(f);

end;

procedure TForm4.Button1Click(Sender: TObject);

begin

Edit1.SetFocus;

M:=TMark.Create(Edit1.Text,Edit2.Text,Edit3.Text,Edit4.Text,Edit5.Text,Edit6.Text);

Assignfile(f,SaveDialog1.FileName);

append(f);

writeln(f,M.save);

CloseFile(f);

M.Free;

Edit1.Text:='';

Edit2.Text:='';

Edit3.Text:='';

Edit4.Text:='';

Edit5.Text:='';

Edit6.Text:='';

end;

end.

Размещено на Allbest.ru

...

Подобные документы

  • Концепції об'єктно-орієнтованого програмування. Конструктори та деструктори. Успадкування класів. Побудова об’єктної моделі. Визначення об'єктів та класів і зв’язків між ними. Реалізація програми в середовищі Visual Studio C++. Інтерфейс програми.

    курсовая работа [743,7 K], добавлен 25.01.2016

  • Фундаментальні поняття об'єктно-орієнтованого програмування. Система лінійних нерівностей та опуклі багатогранники. Системи лінійних рівнянь лінійної алгебри як частковий випадок систем лінійних обмежень. Використання середовища програмування Delphi7.

    курсовая работа [222,7 K], добавлен 20.05.2015

  • Прототип об'єктно-орієнтованого програмування. Управління процесом реалізації програми. Розвиток апаратних засобів. Об'єктно-орієнтовані мови програмування. Надійність і експлуатаційні якості програм. Візуальне об’єктна-орієнтовне проектування Delphi.

    контрольная работа [28,9 K], добавлен 18.05.2009

  • Модель в об’єктно-орієнтованих мовах програмування. Програмна модель створена на мові програмування С++, в середовищі програмування Borland С++ Builder 6.0. Вибір засобів реалізації програми. Види інструментів для об'єктно-орієнтованої розробки.

    курсовая работа [116,9 K], добавлен 06.06.2010

  • Розроблення додатка за допомогою об'єктно-орієнтованого візуального проектування Delphi для виконання арифметичних операцій або з використанням меню. Створення інтерфейсу користувача з використанням компонентів SYSTEM і WIN32. Обробка двовимірного масиву.

    методичка [326,1 K], добавлен 13.01.2010

  • Об’єктно-орієнтоване програмування мовою С++. Основні принципи об’єктно-орієнтованого програмування. Розробка класів з використанням технології візуального програмування. Розробка класу classProgressBar. Базовий клас font. Методи тестування програми.

    курсовая работа [211,3 K], добавлен 19.08.2010

  • Особливості редагування за допомогою текстового редактора NotePad вхідного файлу. C++ як універсальна мова програмування, знайомство с функціями. Характеристика графічних засобів мови С. Аналіз основних понять об’єктно-орієнтованого програмування.

    курсовая работа [123,3 K], добавлен 14.03.2013

  • Загальні відомості та геометричний зміст розв'язання задачі Коші. Використання методу Ейлера для розв'язання звичайних диференціальних рівнянь першого порядку. Розробка блок-схеми та реалізація алгоритму в середовищі програмування Borland Delphi 7.0.

    курсовая работа [398,1 K], добавлен 14.10.2012

  • Вибір середовища програмування Borland Delphi 7.0 для створення електронно-медичного довідника. Формування бази даних для перегляду та пошуку медичних препаратів для лікування. Особливості програмування інтерфейсу програми, інструкція користувача.

    курсовая работа [2,2 M], добавлен 19.09.2012

  • Характеристика і функції телефонних довідників. Визначення об'єктів і класів і залежностей (зв'язків) між ними. Побудова діаграми ієрархії класів. Реалізація програми в середовищі Borland Delphi. Її інтерфейс і демонстрація можливостей. Тестовий приклад.

    курсовая работа [349,3 K], добавлен 25.01.2016

  • Основні аспекти використання стандартних компонентів ООС програмування Delphi для створення звітної документації. Опис компонентів – QReport, PrintDialog та PrintSetupDialog. Приклади створення звітів. Iнше програмне забезпечення для побудови звітів.

    курсовая работа [488,4 K], добавлен 08.12.2008

  • Розробка програми на мові програмування С++ з використанням об'єктно-орієнтованого програмування. Робота з файлами, графікою, класами, обробка числової інформації. Графічні засоби мови програмування. Алгоритм задачі та допоміжні програмні засоби.

    курсовая работа [102,5 K], добавлен 14.03.2013

  • Розробка програми на мові програмування С++ з використанням об’єктно-орієнтованого програмування, яка включає в себе роботу з файлами, класами, обробку числової інформації і роботу з графікою. Структура класів і об’єктів. Лістинг та алгоритм програми.

    курсовая работа [104,4 K], добавлен 14.03.2013

  • Особливості об'єктно-орієнтованого програмування. Розробка програми для елементарних математичних розрахунків, виведення результату на екран та запису у файлі. Сортування слів у рядку. Програма, яка реалізовує ходи шахових фігур. Програма-калькулятор.

    отчет по практике [2,0 M], добавлен 19.03.2015

  • Редагування за допомогою текстового редактора NotePad вхідного файлу даних. Програмна реалізація основного алгоритму з використанням засобів об'єктно-орієнтованого програмування. Об’ява та опис класів і об'єктів. Розробка допоміжних програмних засобів.

    курсовая работа [69,4 K], добавлен 14.03.2013

  • Об'єктно-орієнтоване програмування за допомогою Delphi. Основні види проекцій. Поняття контексту відображення та пристрою в бібліотеці OpenGL. Побудова сфери засобами OpenGL: лістинг програми. Алгоритм операції збільшення та зменшення зображення.

    контрольная работа [268,6 K], добавлен 20.09.2009

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

    курсовая работа [1,7 M], добавлен 07.05.2009

  • Характеристика технології візуального проектування і програмування, суть якої полягає в тому, що область розробки бере на себе більшу частину рутинної роботи. Огляд середовища швидкої розробки, в якій як мова програмування використовується мова Delphi.

    курсовая работа [2,8 M], добавлен 27.02.2012

  • Розробка програми для управління навчальним процесом студентської групи вищого навчального закладу. Об’єктно-орієнтоване проектування об’єктів групи. Створення мови програмування Java. Побудова графічного інтерфейсу. Робота з невеликими базами даних.

    курсовая работа [935,3 K], добавлен 21.12.2013

  • Загальний алгоритм програми. Алгоритм проходження тесту. Алгоритм загрузки тесту в пам'ять програми. Програма "Тестер" на мові програмування TurboPascal в середовищі Borland Delphi 7. Інтерфейс програми "Тестер". Зовнішній вигляд вікна результату.

    контрольная работа [177,0 K], добавлен 26.02.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.