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

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




































Главная

Программирование, компьютеры и кибернетика
Розробка програмного забезпечення для реєстрації волонтерів на події

Реалізація, за допомогою технології Windows Forms, програми обліку даних про волонтерів та подій, на які вони зареєстровані. можливості об'єктно-орієнтованого програмування. Створення класів. Методи, властивості. Використання Multiple Document Interface.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ТЕРНОПІЛЬСЬКИЙ НАЦІОНАЛЬНИЙ ЕКОНОМІЧНИЙ УНІВЕРСИТЕТ
ФАКУЛЬТЕТ КОМП'ЮТЕРНИХ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ
з дисципліни “Об'єктно-орієнтоване програмування”
на тему: «Розробка програмного забезпечення для реєстрації волонтерів на події»
Об'єктно-орієнтоване програмування (ООП) - це еволюційний крок, який випливає із розвитку програмування. ООП дає нам можливість відчути себе не тільки програмістом, а й архітектором, проектуючи структуру програми, створюючи красиві форми. Створення класів за допомогою ООП можна порівняти з будуванням будинку. Спочатку ми створюємо план - описуємо клас, а пізніше будуємо будинок - створюємо об'єкт, тобто сутність класу.
Ціль моєї курсової роботи продемонструвати основи ООП на прикладі програми реєстрації волонтерів і подій за допомогою технології Windows Forms.
Без комп'ютерних технологій неможливе сьогодення. З інтеграцією України в Європу активно розвивається волонтерський рух. Будь-який громадський захід не може проходити без активної участі волонтерів, тому дуже часто виникає необхідність занести дані про осіб з можливістю їх подальшого використання.
Дана програма проводить реєстрацію волонтерів на події у суспільному житті. За допомогою неї ми можемо вносити дані про волонтерів і про події, які можна зберігати.
Програма має красивий і зручний інтерфейс, який забезпечує приємну роботу з нею.
1. Об'єктно-орієнтоване програмування
З розвитком програмування виникла ідея поєднати в межах однієї сутності дані і код, що безпосередньо опрацьовує ці дані. Така сутність отримала назву об'єкт, а відповідний підхід до створення програм називають об'єктно-орієнтованим програмуванням.
Об'єктно-орієнтоване програмування (ООП) - це парадигма програмування, яка розглядає програму як сукупність гнучко пов'язаних між собою об'єктів. Кожен об'єкт має суттєві характеристики, які відрізняють його від усіх інших об'єктів. Сукупність таких характеристик називається абстракцією. Розрізняють абстракції стану та поведінки об'єкта.
Стан (дані об'єкта) характеризується переліком та значенням певних ознак. Поведінка (функціонал об'єкта) визначається набором операцій, які виконуються об'єктом, або над об'єктом.[1]
Кожен об'єкт є екземпляром (представником) певного класу. Відповідно, клас - це відповідна абстракція об'єктів.
· моделювання предметів та явищ реального світу;
· можливість створювати користувацькі типи даних (класи);
· приховування деталей реалізації (інкапсуляція);
· можливість повторного використання коду (наслідування);
· інтерпретація викликів процедур та функцій на етапі виконання (поліморфізм).
Інкапсул ювання - це механізм в програмуванні, який пов'язує в одне ціле функції і дані, якими вони маніпулють, а також захищає їх від зовнішнього доступу і неправильного застосування. В об'єктно-орієнтованій мові функції і всі необхідні дані можуть пов'язуватись таким способом, що створюється автономна структура - об'єкт. Іншими словами, об'єктом є структура, яка підтримує інкапсулювання. В межах об'єкта функції, дані або і функції і дані можуть бути або закритими для інших об'єктів ( private ), або відкритими ( public ).
Модифікатор private - забороняє доступ до полів і методів класу ззовні самого класу. Поля і методи, оголошені з модифікатором private , будуть доступні тільки в межах самого класу.
Якщо поле і метод класу визначені з модифікатором public , вони доступні ззовні оголошення базового класу чи похідних класів. Це в деякій мірі означає, що метод оголошений із зовнішнього класу може вільно звертатись до таких полів і методів. З допомогою модифікатора protected можна доступитись до полів і методів базового класу тільки для похідних класів, але не для зовнішніх по відношенню до класу методів. Модифікатор internal представляє комбінацію модифікаторів public і protected. Він обмежує доступ відмічених ним полів і методів межами одної збірки.
Успадкування - це властивість, з допомогою якої один об'єкт може набувати властивостей іншого. При цьому підтримується концепція ієрархічної класифікації. Без використання успадкування кожний об'єкт повинен явно визначати всі свої характеристики; використовуючи наслідування, об'єкт повинен визначати тільки ті якості, які роблять його унікальним в межах свого класу. Визначення нового класу (породжений клас, підклас, англ. derived class, англ. subclass) може базуватись на визначенні вже існуючого (базовий клас, англ. base class, англ. superclass). В такому випадку, новий клас отримає властивості та поведінку базового класу, та доповнить їх своїми власними. У випадку одиничного успадкування, у кожного класу може бути лише один безпосередній базовий клас. У випадку множинного успадкування, дозволяється існування декількох безпосередніх надкласів. Застосування методів успадкування дозволяє покращити повторне використання коду шляхом використання вже визначених властивостей та методів (поведінки) базових класів.
Разом з інкапсуляцією і успадкуванням поліморфізм також являє собою одну із важливих концепцій ООП. Застосування цієї концепції дозволяє значно полегшити розробку складних програм.
Термін поліморфізм має грецьке походження і означає «наявність багатьох форм». З поліморфізмом тісно пов'язані такі поняття,як абстрактні класи, віртуальні методи, перевантаження методів і властивостей.
Віртуальні методи - один із найважливіших прийомів реалізації поліморфізму. Вони дозволяють створювати загальний код, який може працювати разом з об'єктами базового класу, так і з об'єктами будь-якого його класу-нащадка. При цьому базовий клас визначає спосіб роботи з об'єктами і будь-які його нащадки можуть представляти конкретну реалізацію цього способу. Базовий клас може і не представляти реалізацію віртуального методу, а тільки оголошувати про його наявність. Такі методи без реалізації називаються абстрактними. Клас, який містить хоча б один такий метод називається абстрактним. Об'єкт такого класу створювати не можна. Нащадки абстрактного класу повинні обов'язково представити реалізацію для всіх його абстрактних методів, інакше, вони в свою чергу будуть абстрактними. Можливість присвоювати різну функціональність одному методу називається перевантаженням методу.[3]
1.2 Створення класів. Методи, властивості, поля
Клас є основою для створення об'єктів. В класі визначаються дані і функціонал, який працює з цими даними. Об'єкти являються екземплярами класу. Ініціалізація змінних екземпляру відбувається в конструкторі. В класі можуть бути декілька конструкторів,тобто клас являється набором проектів, які визначають як будувати об'єкт. Дуже важливо розуміти різницю між класом і об'єктом: клас являється логічною абстракцією до тих пір,поки не буде створений об'єкт і не появиться фізична реалізація цього класу в пам'яті комп'ютера. Методи і змінні, які складають клас називаються членами класу. При визначенні класу об'являються дані, які він містить, і функціонал працюючий з цими даними. При створенні класу спочатку вказуємо ключове слово class. Найпростіші класи можуть мати тільки функціонал або тільки дані, але в реальних програмах класи включають в себе обидві складові. Дані містяться в змінних екземпляра, які визначені класом, а функціонал міститься в методах. Важливо відзначити, що в С# визначені декілька специфічних різновидів членів класу: змінні екземпляра, статичні змінні, константи, методи, конструктори, деструктори, індексатори, події, оператори і властивості.
Методи - це підпрограми, які управляють даними, визначені в класі, і в багатьох випадках забезпечують доступ до даних. За допомогою методів здійснюється взаємодія зовнішнього середовища з класом. Метод містить один і більше операторів. В професійно написаному С#-коді кожний метод виконує тільки одну задачу. Назвою метода може бути будь-який існуючий ідентифікатор. Ключові слова не можуть бути іменами методів. При оголошенні кожної змінної і методу можна встановлювати певний модифікатор доступу (за замовчуванням private). Поле - це член даних, який містить екземпляр значущого типу або посилання на вказівниковий тип. Загальномовне середовище (CLR) підтримує поля які належать як класу (статичні) так і екземпляру (нестатичні). Динамічна пам'ять для зберігання статичного поля виділяється в межах об'єкта класу, який створюється при його завантаженні в домен AppDomain, що відбувається при JIT- компілюванні будь-якого методу, який посилається на цей тип. Динамічна пам'ять для збереження екземплярних полів виділяється при створенні екземпляра даного типу.
Поле являється частиною вмісту типу, а не об'єкта.
Поле зв'язано з екземпляром типу, а не самим типом.
Запис в поле дозволяється тільки із коду метода конструктора.
Код, звернений до поля, не обов'язково спеціально повинен оптимізуватись у відношенні управління типами компілятором CLR або обладнанням. Тільки наступні типи можуть об'являтись як volatile: всі посилальні типи, Single, Boolean, Byte, SByte, Int16, UInt16, Int32, UInt32, Char, а також всі перечислені типи, які базуються на наступних типах: Byte, SByte, Int16, UINt16, Int32 або UInt32.
Одним із спеціальних типів членів класу, який має подібність з індексаторами, є властивість, яка зв'язує поле з методом, що забезпечує доступ до поля. В деяких попередніх програмах виникала необхідність створення поля, хоч і доступного із інших об'єктів, але такого, для якого виконувався б контроль над операціями з його значенням. Наприклад, може бути потрібно обмеження діапазону значень, які присвоюються цьому полю. Звичайно, для досягнення даної цілі можна використати закриту змінну в поєднанні з методом, який забезпечує доступ до її значення, але простіше і краще у всіх випадках використовувати властивість. Властивість складається із імені і методів доступу get і set . Методи доступу використовуються для отримання значення і присвоєння його змінній. Основною перевагою властивості є те, що ім'я може використовуватись у виразах і операціях присвоєння подібно звичайній змінній, хоча насправді при цьому автоматично викликаються методи доступу get і set . Таке використання властивості подібне на автоматичний виклик методів get і set в індексаторі.[1]
Синтаксис властивостей виглядає наступним чином:
Тут параметр type вказує тип властивості, а параметр name - ім'я властивості. Після визначення властивості будь-яке використання ідентифікатора, замість вказаного name, приведе до виклику відповідного метода доступу. Метод доступу set автоматично отримує параметр value, який містить значення, що присвоюється властивості. Властивості вважають «розумними» методами, тобто методами з специфічною логікою. CLR (Common Language Runtime) підтримує статичні, екземплярні, абстрактні і віртуальні властивості. Крім того, властивість може позначатись модифікатором доступу і визначатись в інтерфейсах.
орієнтований програмування облік клас
Дана програма складається з одинадцяти класів, кожний з яких є певною структурою даних. Предметна область програми складається з волонтерів і подій, яких потрібно зареєструвати. Дана програма використовує основні ідеї ООП, це - інкапсуляція, успадкування, поліморфізм. Програма складається з двох основних класів, які називаються: Volunteer і Happening, в яких описано властивості, поля класу і конструктор (з параметрами і без)і десяти класів успадкованих від класу Form. Додавання нових волонтерів реалізують два класи: VolunteerList і FormRegistrationVolunteers. В класі VolunteerList створено таблицю, яка буде відображати додавання нових волонтерів, і запис та зчитування даних. В класі FormRegistrationVolunteers вводимо особисті дані про волонтера. Аналогічно реалізується додавання нових подій за допомогою класів HappeningList і FormRegistrationHappening. Реєстрація волонтера на подію здійснюється за допомогою двох наступних класів: Registration та Assignment. Клас Registration здійснює реєстрацію за допомогою номера волонтера та коду події, а наступний клас відображає ім'я відповідного волонтера та подію на яку він зареєстрований.
2.1 Створення форми. Використання M ultiple D ocument I nterface (MDI). Події, властивості
Windows Forms створює Graphical Uses Interface (GUI) для різних програм. Форма-це графічний елемент, який появляється на робочому столі. Форма може бути діалоговим вікном,просто вікном або вікном MDI. Компонент - це клас, який реалізує інтерфейс IComponent і визначає різні поведінки, які можуть реалізувати компоненти. Елементи управління видимі, на відміну від компонентів, яким не вистачає графічної частини. Елементи управління і компоненти Windows Forms містяться в панелі Toolbox Visual Studio.Net. Форма служить контейнером для компонентів і елементів управління. Елементи управління добавляються на форму за допомогою коду. При «перетягуванні» елемента управління із панелі Toolbox в форму Visual Studio.Net генерує цей код,який створює певний елемент управління і задає його основні властивості. Користувач може сам написати код, проте елементи управління набагато простіше створювати і модифікувати в панелі Toolbox і вікні Properties, даючи можливість Visual Studio.Net розібратись із деталями. При звертанні користувача до елементу управління з допомогою миші чи клавіатури генерується подія і обробляється спеціальними «обробниками подій». Як правило, результатом подій являється яка-небудь операція. Наприклад, натискання кнопки OK у вікні MessageBox генерує подію. У відповідь на цю подію обробник MessageBox закриває це вікно повідомлень. Клас Form - основне вікно, яке використовується програмними додатками в Windows, повністю кваліфіковані як System.Windows.Forms.Form. Точно так само клас Button фактично являється System.Windows.Forms.Button. Загальний процес проектування додатків Windows потребує створення Windows Forms із заданням її властивостей, з добавленням елементів управління зі своїми властивостями і реалізацією обробників подій. [5]
В таблиці показані загальні властивості, методи і події класу Form.
Властивості, методи і події класу Form
Кнопка, яка буде натисненою при натисненні кнопки
Поява смужки прокрутки при необхідності
Кнопка, яка є натисненою при натисненні клавіші
Гарнітура відображеного в формі тексту, а також гарнітура шрифту по замовчуванні добавлених в форму елементів
Закриття форми і звільнення всіх ресурсів. Відкрити попередньо закриту форму не можна.
Приховування форми(ресурси не звільняються)
(Делегат EventHandler,аргумент події EventArgs)
Відіграє роль в показі форми. Visual Studio.Net генерує обробник події по замовчуванню, коли програміст двічі клацає кнопкою миші на формі в режимі проектування
При створенні елементів управління і обробників подій Visual Studio.Net генерує велику частину коду, яка відноситься до GUI. Програмісти можуть використовувати Visual Studio.Net для виконання великої частини подібних задач графічно, шляхом «перетягування і скидання »(drag and drop) компонентів на форму і завдання властивостей у вікні Properties.
Програма з використанням багатодокументного інтерфейсу (multiple document interface, MDI), представляють користувачу можливість одночасного редагування декількох документів. Вікно додатку багатодокументної програми (MDI) називається батьківським, а всі вікна в додатку - вікнами - наслідниками. Незважаючи на те, що багатодокументний додаток може мати багато вікон-наслідників, кожне із них має тільки одне батьківське вікно. Більше того, активним в кожний конкретний момент часу може бути тільки одне вікно-наслідник. Останні не можуть бути «предками», і їх не можна перемістити за межі батьківського вікна.
Для створення багатодокументної форми добавляємо нову форму (Form) і присвоїмо їй властивість IsMDIContainer значення True. Після цього створюється клас форми-наслідника для добавлення в основну форму. Для цього потрібно клацнути правою кнопкою миші на проекті у вікні Solution Explorer, вибрати команду ADD Windows Form і присвоїти файлу ім'я. Для добавлення в батьківську форму «наслідника» необхідно створити об'єкт нової форми наслідника; встановити її властивість MdiParent в батьківську форму і викликати метод Show. Код для створення наслідника звичайно знаходиться всередині обробника подій, яке створює нове вікно у відповідь на дію користувача. Вибір меню (наприклад, File, в якому вибирається команда New, за якою слідує команда Window)- загальний метод створення нових вікон-наслідників. Властивість MdiChildren форми представляє собою масив посилань на Form-наслідника. Це корисно, якщо батьківське вікно захоче перевірити властивість всіх свої «нащадків». Властивість ActiveMdiChildren повертає посилання на активне вікно-наслідника; воно повертає null, якщо активних вікон-наслідників немає.
Загальні властивості MDI-наслідника
Вказує на те, чи є форма MDI-наслідником. При значенні True, форма - MDI-наслідник (властивість тільки для читання)
Викликає об'єкт Form, який являється поточним активним MDI-наслідником.
Вказує на те, чи може форма бути багатодокументною. При значенні True форма може бути багатодокументною батьківською формою. Значення по замовчуванню- False.
Повертає MDI-наслідників у вигляді масиву форм.
Визначає відображення форм-потомків на багатодокументній батьківській формі. В якості параметра приймає перечислення MdiLayout з можливими значеннями ArrangeIcons (упорядкувати значки), Cascade(каскадом), TileHorizontal(впорядкувати по горизонталі), TileVertical (впорядкувати по вертикалі)
(Делегат EventHandler, аргументи події EventArgs)
Генерується при закритті чи активації MDI-наслідника
2.2 Опис використаних елементів управління
В даній програмі використані такі елементи управління: TextBox, Label, DataGridView, Button, menuStrip, toolStrip.
Мітки представляють текстові інструкції чи інформацію до програми. Мітки визначаються класом Label, який є похідним від класу Control. Label відображає текст, який користувач не може редагувати. Після створення міток програми дуже рідко змінюється їх зміст.
Вирівнювання тексту на елементі управління. Одне із трьох положень по горизонталі(left, center або right)і одне із трьох положень по вертикалі(top,middle або bottom)
Текстове поле(клас TextBox) - це область, в яку текст може вводитись користувачем з клавіатури, або просто відображатись. Текстове поле із паролем - це область, в яку всі введені користувачем дані приховані. По мірі вводу всі символи в такому текстовому полі відображаються у вигляді особливих символів(зазвичай *).
Зміною властивості PasswordChar текстового поля останньому задається пароль; при якому вказується символ, який буде відображати вміст. Видалення значення PasswordChar із вікна Properties повертає текстове поле у звичайний режим.
При значенні true і натисканні клавіші створюється новий стрічка, якщо текстове поле містить багато стрічок. При значенні false і натисканні клавіші натискається кнопка форми по замовчуванню.
При значенні true текстове поле може відображати багато стрічок. По замовчуванню-false.
Введений текст відображається у вигляді символів, що робить TextBox текстовим полем з паролем доступу. Якщо символ не вказаний, тоді TextBox відображає введений текст.
Якщо true, то текстове поле має сірий фон, і текст редагувати не можна. По замовчуванню - false.
Для багатострічкових текстових полів; вказує на появу полоски прокрутки(none, horizontal, vertical або both)
Текст, який відображається в текстовому полі.
Викликається при зміні тексту в TextBox(користувач добавив або видалив символи). Створюється по замовчуванню при подвійному клацанні миші на даному елементі управління в режимі проектування.
Кнопка-це елемент управління, на якому користувач клацає кнопкою миші для запуску виконання тої чи іншої операції. В програмі можуть використовуватись декілька видів кнопок, таких як кнопки позиції списку(прапорці) і селективні кнопки(переключателі). Всі типи кнопок являються похідними від базового класу ButtonBase (простір імен System.Windows.Forms), який визначає загальні властивості кнопок. Будемо розглядати клас Button, який часто використовуємо для подачі команди. Текст на зовнішній поверхні Button називається міткою кнопки.
Текст, який відображається на зовнішній поверхні Button.
Викликається при подвійному клацанні миші на елементі управління. Створюється по замовчуванню при подвійному клацанні на даному елементі управління в режимі проектування.
Управління DataGridView надає потужний і гнучкий спосіб для відображення даних у табличному форматі. Ми можемо використовувати DataGridView щоб показати тільки для читання вигляд невеликої кількості даних, або можна масштабувати його щоб показати редагований вигляд дуже великих наборів даних. Ми можемо розширювати управління DataGridView різними шляхами, і можемо визначати поведінку у застосунку. Наприклад, ми можемо задавати програмно власні алгоритми сортування, і можемо створювати власні типи колонок. Як відомо, перш ніж почати прискорено і красиво відображати дані, їх потрібно отримати. DataGridView підтримує три режими роботи з даними:
1. Перший, основний - відображення даних із зовнішньої колекції(наприклад, ListView,DataTable).
2. Спеціальний режим відображення вільних (unbound) даних, тобто дані зберігаються в самому control-e.
3. Ще один особливий режим роботи-віртуальний(Virtual mode). В ньому control (генерує) подію при надходженні якої прикладний код повертає деякі дані. Так як дані при цьому не повинні де-небудь зберігатися, віртуальний режим може оперувати мільйонами стрічок без яких-небудь проблем з відтворенням чи нестачею пам'яті. Прив'язувати елементи користувацького інтерфейсу можна аж ніяк не виключно до таблично представлених даних. Практично будь-яка структура даних може виступати в ролі їх джерела- звичайні об'єкти, масиви, колекції і т.д. Одною із особливостей DataGridView є наявність великої кількості класів-друзів. Таким чином, control має розширену архітектуру, де значну частину функціональності, доступної користувачу, забезпечують сторонні класи-друзі(класи-плагіни).
На малюнку зображене розширене дерево класів-плагінів.
Добавлення колонок - крок, абсолютно необхідний перед тим, як control буде представлений користувачу. Якщо ми не добавили жодної з колонок, DataGridView буде представляти собою сірий прямокутник на формі, зовсім позбавлений якої-небудь функціональності. Автори control-a передбачити ряд способів добавлення колонок. В загальному випадку ми зустрічаємось з такими чотирма можливими способами:
Є джерело даних, воно доступне під час розробки, і ми готові добавляти колонки в цей час.
Немає джерела даних, але під час розробки ми знаємо склад і тип колонок, і готові добавляти їх.
Є джерело даних, але воно доступне тільки під час виконання програми, а під час розробки нічого не відомо ні про нього, ні про склад колонок.
Немає джерела даних, а склад/тип колонок визначається динамічно, під час виконання, а під час розробки невідомий тип і, можливо, навіть кількість колонок.
Всі інші варіанти приводять до комбінації цих чотирьох базисних сценаріїв.
Простір імен System.Windows.Forms містить типи для організації спадаючих головних меню (розташованих у верхній частині форми) і контекстних меню, що відкриваються по клацанню правої кнопки миші.
Елемент ToolStrip є контейнером для створення структур меню, панелей інструментів і рядків станів.
Елемент управління MenuStrip - це контейнер для структур меню на формі. Цей елемент успадковується від ToolStrip. Система меню будується додаванням об'єктів ToolStripMenu до MenuStrip.
Клас ToolStripMenuItem служить для побудови структур меню. Кожний об'єкт ToolStripMenuItem представляє окремий пункт в системі меню.
Для створення меню потрібно перетягнути елемент MenuStrip на форму. Він розміщується в невидимій частині форми.
Елемент MenuStrip дозволяє вводити текст меню безпосередньо в елементи меню.
2.3 Реалізація графічних елементів програми
В даній програмі використовуються перелічені вище елементи управління.
Програма містить три DataGridView, які відповідно знаходяться у класах VolunteersList, HappeningsList та Assignment. Вони мають такий вигляд:
Форма відображає реєстрацію волонтерів.
Дана форма відображає реєстрацію подій.
Дана форма відображає реєстрацію волонтера на подію.
На формах ми також бачимо кнопки (Button).
Дана форма здійснює реєстрацію волонтера на подію за допомогою коду події та номера волонтера.
На формі ми бачимо використані елементи управління: TextBox, Label і Button.
На головній формі ми бачимо командну стрічку, яка містить меню. Реалізовано елемент menuStrip.
На наступному рисунку ми бачимо використання елемента toolStrip.
3.1 Створення таблиці. Приклад застосування у програмі
Таблиця створюється за допомогою класу DataTable. Щоб використовувати DataTable потрібно підключити System.Data.
Об'єкт DataTable містить дві конструкції:
В наступному прикладі створюється об'єкт DataTable і встановлюється його ім'я.
DataTable TabVolunteer = new DataTable(“DGVolunteer”);
DataTable містить сукупність об'єктів DataColumn. Ця сукупність визначає структуру таблиці. Щоб добавити новий стовпець в цю сукупність, використовується метод Add().
DataColumn cName = new DataColumn("Ім'я");
TabVolunteer.Columns.Add("Ім'я", typeof(string));
В даному прикладі спочатку створюється змінна типу DataColumn з ім'ям «cName».
Дана програма містить дві таблиці, які зберігають дані про волонтерів і події. Таблиці створюються аналогічно до вищенаведених прикладів.
3.2 Колекції. Додавання до колекції елементів і доступ до елементів колекції
Класи структур даних називаються колекціями класів. В них зберігаються колекції даних. Кожний об'єкт одного із цих класів називається колекцією, яка представляє набір елементів.
З допомогою колекції класів замість створення структур даних програміст просто використовує існуючі структури даних, не задумуючись про їхню реалізацію. Дана методологія представляє яскравий приклад повторного використання коду.
В більшості мов програмування звичайні масиви мають фіксований розмір:їх неможна змінювати динамічно відповідно вимогам часу і необхідній пам'яті програмному додатку. В деяких додатках обмеженість розміру представляє собою досить серйозну проблему для розробників. Колекція класу ArrayList.Net Framework відтворює функціональність традиційних масивів і забезпечує динамічні зміни розміру колекції за допомогою методів класу. В будь-який момент часу колекція ArrayList містить визначене число елементів, менше або рівне ємності-кількості елементів, зарезервованих в поточний час для колекції ArrayList. Програма може маніпулювати ємністю за допомогою властивості Capacity класа ArrayList. При необхідності розширення класа ArrayList поточна ємність подвоюється по замовчуванню. Клас ArrayList зберігає посилання на object. Всі класи являються похідними від класу Object, тому клас ArrayList може містити об'єкти будь-якого типу.
Add - додавання об'єкта object в клас ArrayList. Повертає значення int,яке вказує на вказівник, в який добавлений object.
Clear - видалення всіх елементів із класу ArrayList.
Contains -повернення значення true, якщо вказаний об'єкт object знаходиться в класі ArrayList; в протилежному випадку повернення значення false.
IndexOf - повернення вказівника першої появи вказаного об'єкта object в класі ArrayList.
Insert - вставка об'єкта object відповідно заданому індексу.
Remo ve - видалення першої появи вказаного об'єкта.
RemoveAt - видалення об'єкта по заданому індексу.
RemoveRange - видалення заданої кількості елементів, починаючи із заданого індексу в класі ArrayList.
TrimToSize - встановлення ємності (Capacity) класу ArrayList поточною кількістю елементів в класі ArrayList.
Додавання елементів до колекції здійснюється за допомогою методу Add() , як показано нижче.
Змінна volunteer визначена типу List. З допомогою операції new створюється новий об'єкт того ж типу. Оскільки екземпляр класу List створюється з конкретним класом Volunteer,тільки об'єкти цього класу можуть бути добавлені методом Add(). В наступних прикладах коду створюються і добавляються в колекцію п'ять волонтерів. Перші три добавляються з використанням ініціалізації колекції, а останні два -явним викликом метода Add().
Volunteer graham=new Volunteer(“Graham”,”Hill”,”UK”,14);
Volunteer emerson=new Volunteer(“Emerson”,”Fittipaldi”,”Brazil”,14);
Volunteer mario=new Volunteer(“Mario”,”Andretti”,”USA”,12);
List volunteer= new List (20) {graham,emerson,mario};
volunteer.Add(new Volunteer (“Michael”,”Nigtson”,”Germany”,91));
volunteer.Add(new Volunteer (“Mika”,”Hakkinen”,”Finland”,20));
Доступ до елементів здійснюється за допомогою індексатора, якому ми передаємо номер елемента. Перший елемент доступний по індексу 0. Специфікуючи volunteer[3], ми отримаємо четвертий елемент списку.
В C# є класи, які забезпечують операції читання/запису для файлів. Звичайно найбільш поширеним типом файлу є дисковий файл. На рівні операційної системи всі файли розглядаються як двійкові файли. В С# підтримуються методи читання і запису байтів при роботі з файлами. Тому досить поширені операції читання/запису файлів при здійсненні яких використовуються потоки байтів. У C# забезпечується закріплення файлового потоку,який орієнтується на використання байтів в символьний потік. Операції з символьними файлами зручні,якщо потрібно зберігати текст. Потік-це абстрактне представлення послідовних пристроїв, які забезпечують збереження даних і доступ до них(по одному байту в кожний конкретний момент часу).В якості таких пристроїв можуть виступати розміщений на диску файл, принтер, область пам'яті будь-який інший об'єкт який допускає послідовне зчитування і запис інформації.
В просторі імен System.IO зберігаються класи, призначені для зчитування і записі даних в файли. Класи:
File - містить статичні методи для маніпуляції файлами(створення, копіювання, видалення);
Directory - містить статичні методи для маніпуляції директоріями.
FileInfo - не містить статичні методи, які відповідають фізичному файлу, в багато чому дублюють функціональн
Розробка програмного забезпечення для реєстрації волонтерів на події курсовая работа. Программирование, компьютеры и кибернетика.
Реферат: Визначення відстаней і розмірів тіл у Сонячнії системі, та рух небесних тіл під дією сил тяжіння
Язычество Древней Руси Реферат
Сочинение Маленькое Про Летние Каникулы
Средство Развития Творческих Способностей Курсовая
Контрольная Работа 11 Класс Вербицкая 1 Четверть
Учебная Практика Гму Отчет Пример
Ответ на вопрос по теме Физика (шпаргалка)
Реферат по теме Понтонные войска
Курсовая работа по теме Признаки преступления
Сочинение По Литературе Характеристика Чацкого
Курсовая работа: Внушение. Гипноз
Контрольная работа: Аудиторская проверка материально-производственных запасов
Курсовая работа по теме Воспитательный процесс в школе
Эссе На Таджикском Языке
Реферат по теме Духовное чтение и беседы. О православном воспитании дошкольников
Реферат: The Abortion Debate Essay Research Paper The
Реферат по теме Переводы Рахель Торпусман
Курсовая работа: Физико-химические закономерности получения полиамидов (полиамид-6, полиамид-6,6, полиамид-10)
Нужен Ли Ночлежникам Лука Сочинение
Эссе На Тему Межкультурная Коммуникация
Средневековая культура западной Европы - Культура и искусство реферат
Восстановление и расцвет Империи: династии Суй и Тан - История и исторические личности реферат
Ринолалия, характеристика нарушения, причины возникновения, симптоматика - Медицина реферат


Report Page