![]() | ![]() Форма № Н-6.01у Кременчуцький національний університет імені Михайла Остроградського ![]() (повне найменування вищого навчального закладу) Кафедра автоматизації та інформаційних систем ![]() ![]() (повна назва кафедри, циклової комісії) КУРСОВИЙ ПРОЕКТ (РОБОТА) дисципліни «Комп’ютерні технології та програмування»
Студента __2__ курсу _АКІТ-18-1 групи Ступінь вищої освіти «Бакалавр»______ спеціальності 151- «Автоматизація та комп’ютерно-інтегровані технології» Освітня програма «Комп’ютеризовані системи управліня та автоматика» _____________Дудка А. В._____________ (прізвище та ініціали) Керівник професор кафедри АІС_________ д.т.н., доц. Притчин С. Е. (посада, вчене звання, науковий ступінь, прізвище та ініціали) Національна шкала ________________ Кількість балів: ___. Оцінка: ЄКТС _____ Члени комісії ________________ (підпис) _____С. Є. Притчин___ (ініціали та прізвище) ________________ (підпис) _____ А. П. Оксанич__ (ініціали та прізвище) ________________ (підпис) ______ Т. В. Горлова___ (ініціали та прізвище) м. Кременчук 2019 рік Форма №Н-9.01у Кременчуцький національний університет імені Михайла Остроградського ![]() (повне найменування вищого навчального закладу ) Кафедра автоматизації і та інформаційних систем Д ![]() Освітній ступінь «Бакалавр» ![]() Спеціальність 151 – Автоматизація та компютерно-інтегровані технології Освітня програма «Комп’ютеризовані системи управліня та автоматика»______ (шифр і назва) Курс 2 група АКІТ-18-1 семестр 3 ЗАВДАННЯ НА КУРСОВИЙ ПРОЕКТ (РОБОТУ) СТУДЕНТУ Дудкі Артьому Віталійовичу ![]() (прізвище, ім’я, по батькові) 1.Тема проекту (роботи) Розробка програми «Каталог музичних дисків» ![]()
Вихідні дані до проекту (роботи) графічний інтерфейс, середовище розробки Visual Studio, введення виконавця,назва альбому,рік запису альбому,номер диску у каталозі,музичний жанр, відображення результатів у вигляді таблиці, збереження даних у файл, зчитування даних з файлу, сортування по виконавцю, альбому та жанру,пошук по даних по назві виконавця або назві альбому , формування запиту на зберігання даних при закінчені роботи, ![]() Зміст розрахунково-пояснувальної роботи (перелік питань, які потрібно розробити) аналіз предметної області, постановка задачі, розробка алгоритму програми, розробка інтерфейсу програми, опис класів та методів, розробка керівництва користувача ![]() ![]() П ![]() ![]() ![]() ![]() Дата видачі завдання 05.10.2019 р. ![]() КАЛЕНДАРНИЙ ПЛАН
Студент __________________ (підпис) Керівник _________________ С. Е. Притчин___ (підпис) (ініціали та прізвище підпис) «05» жовтня 2019 р. РЕФЕРАТ Курсова робота містить сторінок – 28, розділи – 3, рисунків 13, додатки 2, використаних джерел – 6. Об’єкт розробки – програма для введення та зберігання інфор-мації. Мета курсової роботи – розробка програми «Каталог музичних дисків», яка вводить в таблицю. Програма дозволяє відображати результати у вигляді таблиці, зберігати в файл та зчитувати з файлу дані. При виконанні курсової роботи розроблено програму «Каталог музичних дисків». Код програми виконаний на мові програмування С# в середовищі Visual Studio 2016, також була використана технологія розробки WPF. Розроблена програма реалізує наступні задачі: Інтерфейс програми дозволяє: 1. Вводити назву виконавця; 2. Вводити назву альбому; 3. Вводити музичний жанр; 4. Вводити номер диску у каталозі; 5. Відображати результати у вигляді таблиці; 6. Зберігати у файл назву виконавця, назву альбому, музичний жанр,номер диску у каталозі; 7. Відкривати збережений файл для перегляду; 8. Сортувати данні по виконавцю,альбому та жанру; 9. Формувати запит на зберігання даних при закінчені роботи з програмою, якщо данні не були збережені. VISUAL STUDIO, WPF, C#, ООП, РОБОТА З ІНТЕГРАЛАМИ. ABSTRACT Kursova’s robot to take a place – 28, rozdіli – 3, figure – 13, dodatki – 2, vikoristanich dzherel – 8. Rozrobka project - a program for the introduction of the information and information technology. Meta coursework robots - development of the program “Catalog of Musical Discs”, entered into the table. The program allows you to view the results of the table, see the file and read the file data. During the weekend course robots, the program “Catalog of Musical discs” was divided. The code of the program of the visions on the movable C # program in the middle of Visual Studio 2016, as well as the title of Victor WPF development technology. The program for realizing the task ahead has been fragmented: Interface permissions programs: The program interface allows: 1. Enter name vikonavtsya; 2. Enter the name of the album; 3. Introduce a musical genre; 4. Enter the disk number for katalozі; 5. Imagine the results of the table; 6. I’ll name the file from Vikonavtsya, I’ll name the album, musical genre, disk number for katalozі; 7. Vidkrivati savings file to look at; 8. Sortuwati data on Vikonavtsi, album and genre; 9. Formuwati is powered by a tribute when the robots are closed with a program, but these data were not saved. VISUAL STUDIO, WPF, C#, OOP, WORK WITH INTEGRALS. ![]() ВСТУП 2 1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ 3 1.1 Огляд існуючих програм та їх функцій 3 1.2 Огляд методів рішення задачі 4 1.3 Постановка задачі 4 2 ОСНОВНА ЧАСТИНА………………………………………………………… 6 2.1 Розробка алгоритму програми 6 2.2 Розробка інтерфейсу користувача ..6 2.3 Опис класів та методів програми ..8 2.4 Розробка обробників подій .11 РОЗДІЛ 3 РОЗРОБКА КЕРІВНИЦТВА КОРИСТУВАЧА .13 ВИСНОВКИ .19 ПЕРЕЛІК ПОСИЛАНЬ .20 Додаток А. Лістинг програми XAML .21 Додаток Б. Лістинг програми C# .24 ![]() ВСТУП Інтерес до програмування постійно росте. Це пов’язано з розвитком і впровадженням у повсякденне життя інформаційних технологій. Якщо людина має справу з комп’ютером, то рано чи пізно в нього виникає бажання, а іноді і необ-хідність, навчитися програмувати. Серед користувачів персональних комп’юте-рів у даний час найбільш популярне сімейство операційних систем Windows і, природно, що той, хто збирається програмувати, прагне писати програми, що будуть працювати в цих системах. С# є дуже близьким родичем мови програмування Java. Для роззосереджених обчислень була створена концепція віртуальної машини та машиннонезалежного байт-коду, свого роду посередника між вихідним текстом програм і апаратними інструкціями комп’ютера чи іншого інтелектуального пристрою. Нововведенням С# стала можливість легшої взаємодії, порівняно з мовами-попередниками, з кодом програм, написаних на інших мовах, що є важли-вим при створенні великих проектів. Якщо програми на різних мовах викону-ються на платформі .NET, він бере на себе клопіт щодо сумісності програм (тобто типів даних, за кінцевим рахунком). Станом на сьогодні С# визначено флагманською мовою корпорації Microsoft, бо вона найповніше використовує нові можливості .NET. Решта мов програмування, хоч і підтримуються, але визнані такими, що мають спадкові прогалини щодо використання .NET. ![]() 1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ 1.1 Огляд існуючих програм та їх функцій Зараз у світі швидко розвиваються інформаційні технології, а за ним і росте велика кількість різноманітних програм для прослуховування музичних треків за допомогою Мр-3 плеєрів. Більшисть таких програм копірують Мр-3 плеєри. В даному випадку розглянемо саме ті програми які відрізняються від них своїми додатковими функция: 1. Mp-3 плеєр c Bluetooth: Інтерфейс Bluetooth - призначений для прослуховування музичних треків в навушниках без проводів. Залежно від моделі можлива дистанційна передача файлів, пару з ноутбуком або смартфоном. Плеєр без праці пізнає багато моделей телефонів. 2. Mp-3 плеєр з FM-трансмітером: Вбудований в програвач FM- трансмітер стане чудовою нагодою слухати улюблену музику з сторонніх пристроїв. Наприклад, в машині налаштовують радіо на сигнал плеєра і слухають треки з колонок автомобіля. Принцип роботи вбудованого модуля заснований на радіопередачі в FM діапазоні, але на невелику відстань. Увімкніть музику в плеєрі, активуйте FM-трансмітер. 3. Mp-3 плеєр з FM-тюнером і записом з радіо: Це звичайний радіоприймач, вбудований в цифровий програвач. Витрата енергії при прослуховуванні мінімальний, тобто можна слухати радіо і не турбуватися про підзарядку пристрої. В якості антени виступає провід навушників. Вподобану мелодію можна записати. ![]() 1.2 Огляд методів рішення задачі Для розробки програми мені потрібно було створити таблицю в яку можна було вводити дані такі як виконавець, назва альбому, рік запису альбому, номер диску у каталозі, музичний жанр. Суть програми полягає в наступному: програма повинна забезпечувати блоки для введення інформації про виконавця, назва альбому, рік запису альбому, номер диску у каталозі, музичний жанр, зберігати результати у вигляді таблиці. Користувач повинен ввести інформації: виконавця, назва альбому, рік запису альбому, номер диску у каталозі, музичний жанр. Програма повинна ввести дані введені користувачем в таблицю. Для вирішення поставленого завдання при розробці будуть використані основні простори імен середовища .NET та базові елементи управління WPF. ![]() 1.3 Постановка задачі Інтерфейс програми повинен дозволяти організовувати роботу програми у одному режимі, введення даних: У режимі введеня даних інтерфейс програми повинен: 1. Вводити назву виконавця; 2. Вводити виконавця; 3. Вводити музичний жанр; 4. Вводити номер диску у каталозі; 5. Відображати результати у вигляді таблиці; 5. Зберігати данні таблиці у файлі; 6. Зчитувати данні таблиці із файлу; 7. Сортувати данні по виконавцю, альбому та жанру; 8.Виконувати пошук по назві виконавця або назві альбому з виводом номеру диску у каталозі; 9. Формувати запит на зберігання даних при закінчені роботи з програмою, якщо данні не були збережені; Інтерфейс у програмі та власне принцип роботи з нею буде простим. Повноекранного режиму программа не матиме. Будуть реалізовані власні елементи управління, такі як вихід збереження файлів та інше. 2 ![]() 2.1 Розробка алгоритму програми На етапі розробки алгоритму необхідно визначити послідовність дій, які треба виконати для отримання результату. Якщо задача може бути вирішена декількома способами і, отже, можливі різні варіанти алгоритму рішення, то програміст, використовуючи деякий критерій, наприклад, швидкість вирішення алгоритму, вибирає найбільш відповідне рішення. Результатом етапу розробки алгоритму є детальний словесний опис алгоритму або його блок-схема. Після того, як визначені вимоги до програми і складений алгоритм рішення, алгоритм записується на обраною мовою програмування. 2.2 Розробка інтерфейсу користувача Інтерфейс користувача (англ. User Interface, UI, дружній інтерфейс) - засіб зручної взаємодії користувача з інформаційною системою. Інтерфейс користувача - сукупність засобів для обробки та відображення інформації, максимально пристосованих для зручності користувача; у графічних системах інтерфейс користувача реалізовується багатовіконним режимом, змінами кольору, розміру, видимості вікон, їхнім розташуванням, сортуванням елементів вікон, гнучкими налаштовуваннями як самих вікон, так і окремих їхніх елементів, доступністю багатокористувацьких налаштувань. Оскільки основним призначенням програми вводити дані в таблицю, то при розробці інтерфейсу слід врахувати ряд певних особ-ливостей: інтерфейс повинен бути інтуїтивно зрозумілий кожному користувачеві, незалежно від його рівня володінням ПК; к ![]() Інтерфейс програми працює в одному режимі: введеня даних (рис. 2.1); Великою перевагою WPF над Windows Form є використання XAML (Extensible Application Markup Language — розширювана мова розмітки додатків). Документи XAML визначають розташування панелей, кнопок та інших елементів управління та складових вікна в додатку WPF. Інтерфейс додатку даного курсового проекту розроблений з використанням XAML. Лістинг програми XAML наведено в додатку А. Рисунок 2.1 – Режим введеня даних ![]() ![]() 2.3 Опис класів та методів програми Клас - різновид абстрактного типу даних в об’єктно-орієнтованому програмуванні (ООП), що характеризується способом своєї побудови. Інші абстрактні типи даних - метакласи, інтерфейси, структури, перерахування, характеризуються своїми, іншими особливостями. Поряд з поняттям «Об’єкта» клас є ключовим поняттям в ООП. Програмні об’єкти мають властивості, можуть використовувати методи і реагують на події. Класи об’єктів є «шаблонами», визначаючими набори властивостей, методів і подій, за якими створюються об’єкти. Основними класами об’єктів є класи, які реалізують графічний інтерфейс проектів. Кожен об’єкт володіє певним набором властивостей, які можна змінювати як в XAML, так і безпосередньо в програмному коді. Метод в об’єктно-орієнтованому програмуванні - це функція або процедура, що належить класу або об’єкту. Як і процедура в процедурному програмуванні, метод складається з деякої кількості операторів для виконання дії і має набір вхідних аргументів. Також одним з основних елементів управління в даному додатку є DataGrid, він представляє собою елемент, відображаючий данні в налаштовуваній сітці (таблиці). Далі, для коректного відображення даних необхідно виконати прив’язку даних (відповідних елементів колекції) Binding, опис DataGrid та використання прив’язки даних. Однією з переваг використання DataGrid є сортування. Таблиця дозволяє користувачу бирати стовпець, по якому буде проводитися сортування та напрям сортування (за зростанням чи за спаданням). Для цього користувачу необхідно натиснути на відповідний стовпець. Також є можливість заборонити користувачу сортувати даний стовпець за допомогою властивості CanUserSort, яка приймає значення true або false. О ![]() Для занесення даних в цей елемент використовувався клас ObservableCollection using System.IO; using Microsoft.Win32; using System.Collections.ObjectModel; using System.Runtime.Serialization.Formatters.Binary; using System.Runtime.Serialization; Колекція заповнювалася об’єктами користувацького класу Albom. Лістинг класу наведено далі. ![]() class Albom { public string VK { get; set; } public double RIK { get; set; } public string NAME { get; set; } public double NOM { get; set; } public string JANR { get; set; } } ObservableCollection ![]() Для вводу даних користувачем використовувався елемент управління TextBox, приклад коду на мові XAML наведено далі. TextBox x:Name="TextBox1" HorizontalAlignment="Left" Height="48" Margin="102,260,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="86"/> Далі, при необхідності, дані конвертувалися з типу String в тип Double за допомогою класу Convert та методу ToDouble. При виведенні даних теж використовувався цей клас, але навпаки (з Double в String). Приклад зчитування та конвертування наведено нижче. RIK = Convert.ToDouble(TextBox2.Text); (Convert.ToString( AlbomList[i].NOM)); ![]() 2.4 Розробка обробників подій Подія в об’єктно-орієнтованому програмуванні - це повідомлення, яке виникає в різних точках виконуваного коду при виконанні певних умов. Події призначені для того, щоб мати можливість передбачити реакцію програмного забезпечення. Для вирішення поставленого завдання створюються обробники подій: як тільки програма потрапляє в заданий стан, відбувається подія, надсилається повідомлення, а обробник перехоплює це повідомлення. У загальному випадку в обробник не передаєтся нічого, або передаєтся посилання на об’єкт, який ініціював (що породив) обробку події. В особливих випадках в обробник передаються значення деяких змінних або посилання на якісь інші об’єкти, щоб обробка даної події могла врахувати контекст виникнення події. Найпростіша подія - це подія, що повідомляє про початок або про завершення деякої процедури. Подія, по суті, повідомляє про зміну стану деякого об’єкта. Найбільш наочно події представлені в інтерфейсі, коли кожна дія користувача породжує ланцюжок подій, які, потім обробляються в додатку. Подія може створюватися користувачем (клацання мишею або натискання клавіші) або бути результатом впливу інших об’єктів, як реакція на подію викликається певна процедура, яка може змінювати властивості об’єкта або викликати його методи. Розглянемо подію, яка найчастіше використовується в розробленому додатку – Click. Вона виникає коли користувач натискає на елемент управління. Опис події на XAML приведено нижче. ![]() Лістинг коду, що реалізує оброботник події мовою С# показано далі. private void Button1_Click(object sender, RoutedEventArgs e) { try { AlbomList.Add(new Albom() { VK = TextBox1.Text, RIK = Convert.ToDouble(TextBox2.Text), NAME = TextBox3.Text, NOM = Convert.ToDouble(TextBox4.Text), JANR = TextBox5.Text, }); } catch { MessageBox.Show("Неверный ввод"); } DataGrid1.ItemsSource = AlbomList; TextBox1.Text = ""; TextBox2.Text = ""; TextBox3.Text = ""; TextBox4.Text = ""; TextBox5.Text = ""; } 3 ![]() Програма «Каталог музичних дисків» - це програма, яка призначена для запису даних до таблиці, а також має можливість зберігати дані у файл та зчитувати дані з файлу. Для запуску програми потрібно зайти в папку «Каталог» і двійним натис-канням миші відкрити файл «Каталог музичних дисків» (рис 3.1). ![]() Рисунок 3.1 – Запуск Програма пропонує ввестивиконавця ,назву альбому,рік запису альбому,номер диску у каталозі,музичний жанр. Після того як данні будуть ведені користувач може нажати на кнопку «Додати» і дані будут занесені до табліці (рис. 3.2). ![]() Рисунок 3.2 – Введення даних ![]() ![]() ![]() Рисунок 3.3.– Головне вікно програми Для керування файлами в програмі використовується «Меню», як показано на рисунку 3.4. ![]() Рисунок 3.4 – Вікно Меню П ![]() ![]() Якщо програма буде завершена і данні не будуть збережені, то програма покаже відповідне повідомлення, в якому користувач отримає повідомлення з пропозицією про збереження файлу (рис. 3.6). ![]() Рисунок 3.6 – Повідомлення Щоб відкрити вже створений файл, потрібно в головному меню вибрати «Загрузить», після чого відкриється діалогове вікно для вибору файлу (рис. 3.7). Далі з’явиться нова таблиця з даними, які зберігались в файлі (рис. 3.8). ![]() ![]() Рисунок 3.7 – Відкриття нового документу ![]() Рисунок 3.8 – Таблиця з завантаженими даними Коли файл зчитано, додаток відкриває дані у вигляді таблиці. Щоб сортувати дані по стовпцю «рік запису альбому» натисніть на заголовок цього стовпця (рис. 3.9). ![]() ![]() Рисунок 3.9 – Таблиця після сортування Щоб зберегти дані в файл, потрібно в головному меню вибрати «Сохранить», після чого відкриється діалогове вікно для збереження файлу, де потрібно вибрати місце для збереження та ввести нове ім’я для файлу (рис. 3.10). ![]() Рисунок 3.10 – Діалогове вікно збереження файл При невдалій спробі відкриття програма покаже повідомлення (рис. 3.11). ![]() ![]() Рисунок 3.11 – Повідомлення програми при помилці збереження ![]() Рисунок 3.12 – Повідомлення програми при помилці відкриття В ![]() Використовуючи систему для розробки клієнтських додатків Windows Presentation Foundation (WPF) була розроблена програма «Каталог музичних дисків», яка дозволяє введення даних в таблицю. Інтрефейс програми зручний в користуванні і дозволяє використовувати до-даток людям будь-якого віку і не зважати на рівень володіння ПК. Для його розробки використовувалися наступні елементи: Button, DataGrid, Label, TextBox, та Menu. Під час розробки програми на мові С# використовувались класи та методи, які вимагали підключення додаткових просторів імен. Використано класс ObservableCollection для заповнення строк таблиці. Також використовувалися оператори логічного управління: if..else; інструкція try-catch, яка визначає обробник для різних виключень. В процесі виконання проекту поглиблено знання мови програмування С# та покращено навички роботи з системою розробки WPF. П ![]() Успеньский В. Основи об’єктно-орієнтованого програмування: основне використання. Київ: Наука, 2013. 342 с. Хейлсберг А., Торгерсен М., Вилтамут С., Голд П. Язык программирования C#. Классика ComputersSience. Питер: Наука и образование 2012. 784 с. Медведев В. І. Особливості oб`єктно-орієнтованого програмування на С++/СLI, C# i Java. Київ: РІЦ «Школа», 2010. 96 с. Руденко П. І. Основні принципи ООП та їх використання Основні принципи ООП: поліморфізм : 12 наук. пров. / Київський держ. ун-т. Київ, 2014. Вип. 12. С. 45–47. Клочков Д. П. Введение в объектно-ориентированое програмирование: 2-ге вид., стер. Москва: Юринком Интер, 2005. 57 с. ЕЛЕКТРОННІ РЕСУРСИ Хайдаров К. А. Объектно-ориентированное программирование: база данних. Електрон. данные. Москва, 2014. URL: http://bourabai.ru/alg/oop119.html. Д ![]() Лістинг програми XAML Г ![]() xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:Лаба_17546346475698_КУРСАЧ" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800" Closing="Window_Closing"> ![]() ![]() Додаток Б Лістинг програми C# Г ![]() using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System.IO; using Microsoft.Win32; using System.Collections.ObjectModel; using System.Runtime.Serialization.Formatters.Binary; using System.Runtime.Serialization; namespace Лаба_17546346475698_КУРСАЧ { /// /// Логика взаимодействия для MainWindow.xaml /// public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } [Serializable] class Albom { public string VK { get; set; } public double RIK { get; set; } public string NAME { get; set; } public double NOM { get; set; } public string JANR { get; set; } } ObservableCollection private void Save_Click(object sender, RoutedEventArgs e) { try { SaveFileDialog savedata = new SaveFileDialog(); savedata.Filter = "Таблица|*.xml"; savedata.ShowDialog(); ![]() BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(fs, AlbomList); fs.Close(); } catch { MessageBox.Show("Ошибка сохранения файла!"); return; } } private void Open_Click(object sender, RoutedEventArgs e) { try { OpenFileDialog opendata = new OpenFileDialog(); opendata.Filter = "Таблица|*.xml"; opendata.ShowDialog(); FileStream fs = new FileStream(opendata.FileName, FileMode.Open, FileAccess.Read, FileShare.Read); BinaryFormatter bf = new BinaryFormatter(); AlbomList = (ObservableCollection fs.Close(); DataGrid1.ItemsSource = AlbomList; } catch { MessageBox.Show("Ошибка открытия файла!"); return; } } private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { MessageBoxResult result = MessageBox.Show("Хотите сохранить файл?", "Закрыть", MessageBoxButton.YesNoCancel); if (result == MessageBoxResult.Yes) { try { SaveFileDialog savedata = new SaveFileDialog(); savedata.Filter = "Таблица|*.xml"; savedata.ShowDialog(); FileStream fs = new FileStream(savedata.FileName, FileMode.Create, FileAccess.Write, FileShare.ReadWrite); BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(fs, AlbomList); fs.Close(); } ![]() { return; } } if (result == MessageBoxResult.No) { Environment.Exit(0); } else { e.Cancel = true; } } private void Button1_Click(object sender, RoutedEventArgs e) { try { AlbomList.Add(new Albom() { VK = TextBox1.Text, RIK = Convert.ToDouble(TextBox2.Text), NAME = TextBox3.Text, NOM = Convert.ToDouble(TextBox4.Text), JANR = TextBox5.Text, }); } catch { MessageBox.Show("Неверный ввод"); } DataGrid1.ItemsSource = AlbomList; TextBox1.Text = ""; TextBox2.Text = ""; TextBox3.Text = ""; TextBox4.Text = ""; TextBox5.Text = ""; } private void Button2_Click(object sender, RoutedEventArgs e) { for (int i = 0; i < AlbomList.Count; i++) { if (AlbomList[i].VK == TextBox1.Text) { MessageBox.Show(Convert.ToString( AlbomList[i].NOM)); } if (AlbomList[i].NAME == TextBox2.Text) { MessageBox.Show(Convert.ToString(AlbomList[i].NOM)); } } } } } ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Зберегти ![]() ![]() Відкрити ![]() ![]() ![]() ![]() ![]() ![]() Додати ![]() ![]() |