Об’єктно-орієнтоване програмування в середовищі 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