Розробка блок–схеми функціонування системи

 

 

Рисунок 4.2 – Блок схема реалізації трьох форм

 

Опис алгоритмів системи

Використання простору імен Net Framework

• System - містить класи, що дозволяють зіставляти коди URI з шаблонами URI і групами шаблонів URI.

• System.Collections.Generic - містить інтерфейси і класи, що визначають універсальні колекції, які дозволяють користувачам створювати строго типізовані колекції, що забезпечують підвищену продуктивність і безпеку типів порівняно з не універсальними строго типізованими колекціями.

• System.Drawing - містить типи, що підтримують базові графічні функції GDI +. Дочірні простори імен підтримують складніші функції двомірної і векторної графіки, додаткові функції обробки зображень, а також служби, пов'язані з друком і графікою. Дочірній простір імен також містить типи, які розширюють логічні і графічні можливості користувацького інтерфейсу під час розробки.

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

• System.Data - забезпечує доступ до класів, які демонструють архітектуру ADO.NET. Архітектура ADO.NET дозволяє створювати компоненти, ефективно працюють з типами даних різних джерел.

• System.Text - містить типи для роботи з кодуваннями символів і для управління рядками. Дочірній простір імен дозволяє обробляти текст з використанням регулюючих виразів.

• System.Linq - містить класи та інтерфейси, які підтримують запити, та використовують LINQ (Language-Integrated Query).

 

• System.Windows.Forms - містить класи для створення додатків Windows, котрі дозволяють найбільш ефективно використовувати розширені можливості користувача інтерфейсу, доступні в операційній системі Microsoft Windows.

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

Використані класи .NetFramework

В даному розділі будуть перераховані основні класи та функції .NetFramework які використовувалися для розробки програмного продукту. До інформації класу додається ділянка коду програми (деякі з них з коментарем). А також будуть описані статичні методи і методи екземплярів, простору імен де вони знаходяться, та їх значення.

• FileInfo - Клас FileInfo надає методи екземпляру для створення, відкриття, видалення, перейменування, копіювання, переміщення, а також додавання даних в файли.

Відкриття:

{

fileinf = new FileInfo (openFileDialog1.FileName);

update_fname_info (fileinf.Name);

label2.Visible = true;

label2.Text = "Інформація про файл: \ n"

+ "Розмір:" + fileinf.Length.ToString () + "Байт\n"

+ "Створено:" + fileinf.CreationTime.ToString ()

+ "\ nЗмінений:" + fileinf.LastWriteTime.ToString ()

+ "\ nВідкритий:" + fileinf.LastAccessTime.ToString ();

Перейменування:

Form3 form_rename = нова Форма Form3 (); // Створюємо форму 3 - вікно перейменування

form_rename.textBox1.Text = fileinf.Name;

form_rename.ShowDialog (); // Виводимо форму

if (form_rename.change_name == правда) // перевіряємо, змінили ім'я файлу чи ні

{

try

{ fileinf.MoveTo(fileinf.DirectoryName+@"\"+form_rename.textBox1.Text);

update_fname_info (fileinf.Name); // Оновлюємо в програмі назву файлу

}

Переміщення:

if (check_exists (fileinf.FullName))

{

if (folderBrowserDialog1.ShowDialog () == DialogResult.OK)

{

fileinf.MoveTo (folderBrowserDialog1.SelectedPath + @ "\" + fileinf.Name);

MessageBox.Show ("Файл переміщено до" + folderBrowserDialog1.SelectedPath.ToString ());

}

Копіювання:

if (check_exists (fileinf.FullName))

{

if (folderBrowserDialog1.ShowDialog () == DialogResult.OK)

{

fileinf.CopyTo (folderBrowserDialog1.SelectedPath + @ "\" + fileinf.Name);

MessageBox.Show ("Файл скопійовано до" + folderBrowserDialog1.SelectedPath.ToString ());

• TextReader - Являє засіб читання, що дозволяє зчитувати послідовні набори знаків.

Клас TextReader є абстрактним, базовим класом для StreamReader, який зчитує символи з потоків.

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

TextReader reader = new StreamReader (fileinf.OpenRead ()); // Створюємо об'єкт для зчитування вмісту файлу

while (true)

{

cur_line = reader.ReadLine (); // Зчитуємо 1 рядок

if (cur_line! = NULL) // Якщо рядок існує

{

str_have_sym = false;

for (INT I = 0; i <cur_line.Length; i++)

{

sym_all ++; // Зчитуємо усі символи

1. Exception - Виявляє помилки, які відбуваються під час виконання програми.

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

Всі методи класу статичні, тому якщо необхідно виконати тільки одну дію, більш ефективним може виявитися використання методу File, а не методу FileInfo.

Використані методи:

Exists – визначає чи вказує заданий шлях на існуючий каталог диску.

Простір імен: System.IO;

Повертаюче значення:

Тип: System.Boolean;

Значення true, якщо path вказує на існуючий каталог, в іншому випадку - значення false.

MessageBox.Show - Відображає вікно повідомлень з повідомленням, яке повертає результат.

 

Простір імен: System.Windows;

Параметри:

Тип: System.String;

Рядок String, що задає відображуваний текст.

Повертаюче значення:

Тип: System.Windows.MessageBoxResult

Значення MessageBoxResult, ідентифікує кнопку, натиснуту користувачем у вікні повідомлення.

Update_fname_info - метод, який використовується при відкритті і оновленні файлу. Перевіряє довжину імені файлу.

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

Public void update_fname_info (string fname)

{

string tmp_fname = fileinf.Name;

if (tmp_fname.Length> 25)

{

tmp_fname = tmp_fname.Substring (0, 25);

}

Label1.Text = "Ім’я файлу:\n" + tmp_fname;

if (fileinf.Extension == ".txt")

{

button5.Enabled = true;

}

else

{

button5.Enabled = false;

Перевіряє довжину імені файлу. Не більше 25-ти символів. Ця ж функція перевіряє розширення файлу. Якщо файл текстовий, то кнопка "інформація.txt" стає активною.

Substring - Повертає підрядок, розташований в зазначеному місці об’єкта String.

Аргументи:

Стартовий - Обов'язковий. Ціле значення індексу (починаючи з нуля), яке вказує початок підрядка.

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

Якщо значення не зустрічається, будуть повернуті знаки від початкового до кінця рядка.

Приклад коду програми:

tmp_fname = tmp_fname.Substring (0, 25);

ShowDialog - Відображає форму як модальне діалогове вікно.

Простір імен: System.Windows.Forms;

Повертаюче значення:

Тип: System.Windows.Forms.DialogResults;

Одне із значень DialogResults.

Refresh - Видаляє будь-які хешовані всередині компонента процесу відомості про зв'язний процес.

ToString - Перетворює числове значення даного екземпляра в еквівалентне рядкове представлення з використанням зазначеного формату.

Простір імен: System;

Параметри:

Тип: System.String;

Рядок числового формату.

Повертаюче значення:

Тип: System.String;

Рядкове представлення значення даного екземпляра, що визначається параметром.

ReadLine - Виконує зчитування рядка символів з поточного потоку і повертає дані у вигляді рядка;

Простір імен: System.IO;

 

Повертаюче значення: System.String;

Наступний рядок з вхідного потоку id значення Nothing, якщо досягнуто кінець вхідного потоку.

Close - Закриття файлу для читання вмісту;

Простір назв: System.Data.

 

 


Інструкція користувача

1. Для запуску програми двічі клацніть на файл Myfreemanager.exe

2. Після цього відкриється вікно програми з однією діючою кнопкою "Відкрити файл". Це показано на рисунку 5.1

Рисунок 5.1 - Вікно додатка Myfreemanager

 

3. Натисніть на кнопку і оберіть бажаний файл. Якщо ви будете вводити неіснуюче ім'я - з'явиться повідомлення про помилку, потім буде запропоновано спробувати ввести ім'я знову.

4. Далі з'являться декілька активних кнопок: "Атрибути файлу", "Перейменувати", "Перемістити", "Скопіювати", а також якщо ви відкрили файл з розширенням *.txt кнопка "Інформація про * .txt-файл" так само стане активною.

5. В крайньому правому куті розташовуватиметься інформація про файл: Розмір, дата створення, дата зміни, дата відкриття.

 

Під кнопкою "Відкрити файл", розташовується ім'я файлу.

6. Натиснувши кнопку "Атрибути файлу" можна подивитися які атрибути є у даного файлу, а також додати бажані. Щоб зберегти зміни натисніть кнопку "Зберегти зміни". Це показано на рисунку 5.2.

Рисунок 5.2 – Атрибути

 

7. Якщо той файл, який ви відкрили має формат *.txt, то можна подивитися кількість рядків, слів, символів, символів без пробілів даного файлу, натиснувши на кнопку "Інформація про * .txt-файл". Це показано на рисунку 5.3

Рисунок 5.3 - Інформація про текстовий файл

 

8. Для перейменування файлу натисніть на кнопку "Перейменування".

Після чого відкриється вікно з поточним ім'ям файлу. Його можна змінити на бажане і зберегти, натиснувши на кнопку "Застосувати".

Якщо ім'я не міститиме жодного символу - з'явиться повідомлення про помилку, після чого пропонується знову спробувати ввести ім'я. Це показано на рисунку 5.4 і 5.5.

Рисунок 5.4 – Перейменування

 

Рисунок 5.5 - Повідомлення про помилку

 

9. Для переміщення файлу натисніть кнопку "Перемістити". Після натискання кнопки з'явиться вікно, в якому буде запропоновано вибрати куди перемістити даний файл. Так само буде активна кнопка "Створити папку", за допомогою якої ви можете створити папку для зберігання обраного файлу. Це показано на рисунку 5.6.

Рисунок 5.6 - Переміщення

10. Для копіювання файлу натисніть кнопку "Копіювати". Після натискання кнопки з'явиться вікно, в якому буде запропоновано обрати куди скопіювати даний файл. Так само буде активна кнопка "Створити папку", за допомогою якої ви можете створити папку для зберігання обраного файлу. Якщо ви скопіюєте файл туди де він вже знаходиться - з'явиться повідомлення про помилку і три активних кнопки: "Відомості" - докладніше познайомитися з помилкою, "Продовжити - продовжити роботу з програмою без завершення останньої операції" і "Вихід" - завершення роботи програми. Це показано на рисунку 5.7.

Рисунок 5.7 – Копіювання

 

11. Щоб закінчити роботу з поточним файлом і почати роботу з іншим - просто натисніть "Відкрити файл".

12. Щоб закінчити роботу з додатком - натисніть хрестик.

 

 

 

Висновки

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

Так само можна виконати перейменування, переміщення та копіювання файлу.

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

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

1. Опановані знання файлової системи "NTFS", принцип роботи, розміщення каталогів, підкаталогів, фізичне розташування на носії інформації.

2. В ході даної роботи були виконані всі поставлені завдання, підвищено навик роботи з платформою .NET Framework, на мові програмування C #.

3. Найпростіший інтерфейс дозволяє працювати навіть початковим користувачам ПК.

4. Передбачено сповіщення користувача про помилки.

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

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