курсовая работа с текстовыми файлами. Хатуев Маг. Реализация модуля для обработки текстовых файлов
Скачать 186.49 Kb.
|
М ИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ЧЕЧЕНСКОЙ РЕСПУБЛИКИ Государственное бюджетное профессиональное образовательное учреждение «Грозненский государственный колледж информационных технологий» (ГБПОУ «ГГКИТ») Кафедра: «Информационных технологий и связи» КУРСОВОЙ ПРОЕКТ по МДК 01.01 Разработка программных модулей на тему: «Реализация модуля для обработки текстовых файлов» Работу выполнил студент группы: И1.19 –41 специальности 09.02.07 Информационные системы и программирование Хатуев Магомед Юсупович (Ф.И.О. полностью) Руководитель: преподаватель первой категории: Улхаева Х. М. (должность, Ф.И.О.) Оценка___________________ (прописью) Преподаватель, подпись: _________________________ (подпись/И.О. Фамилия) г. Грозный 2022 г. СОДЕРЖАНИЕ ВВЕДЕНИЕСреда разработки приложений Visual Studio, является мощным программным средством, позволяющим реализовать широкий спектр практических задач. Основное её достоинство состоит в оптимальном сочетании простоты использования, доступности и большого набора разнообразных возможностей, позволяющих охватить все основные направления деятельности разработчика прикладных программ. Одним из таких направлений является управление файлами. Актуальность темы данного курсового проекта обусловлена тем, что управление текстовыми файлами – это одна из интереснейших задач для программиста в любой системе программирования. При проектировании приложений достаточно часто возникает необходимость работать непосредственно с файлами. Это требуется, например, для добавления, удаления файлов и каталогов, записи данных в файлы или чтение из них как программно, так и в интерактивном режиме. Необходимость работы с файлами возникает также при создании программы инсталляции разработанного приложения на пользовательские компьютеры, чтение данных из файлов при инициализации приложения с использованием файлов настройки, организации вывода файлов на печать. Поэтому данная тема очень актуальна как для начинающих программистов, так и для профессионалов. Visual Studio предоставляет различные операторы, функции и методы для выполнения общих задач управления файлами. Целью данного курсового проектирования является реализация модуля для обработки текстовых файлов. Для достижения данной цели необходимо выполнить следующие задачи: изучить принципы и способы сохранения данных в среде программирования Visual Studio; рассмотреть типы файлов; изучить аналогичные программы; повысить навык работы с платформой .NETFramework и языком программирования C#. Раздел 1. РАБОТА С ФАЙЛАМИФайлом называют область на жёстком диске или другом машинном носителе (например, на дискете), имеющая название и содержащая определённую информацию. Управление файлами (file management) – термин, используемый для описания действий, которые выполняются с файлами, сохранёнными на дисковых драйверах. Управление файлами включает в себя действия, такие как копирование файлов, удаление неиспользуемых файлов для освобождения области дисковой памяти, перемещение файлов с одного диска (или папки) на другие и создание или удаление каталогов диска. Управление файлами включает также такие виды обработки как просмотр списка файлов в папке для определения размера файла или даты и времени, когда этот файл был модифицирован последний раз. Существует несколько разновидностей файлов, которые определяют формат хранения данных, в особенности программного доступа к ним: типизированные (двоичные файлы); текстовые; нетипизированные (файлы записей). Подобное деление файлов на типы достаточно условно и определяется особенностями организации файлов и доступа к данным в них. Например, текстовый файл можно открыть и в режиме двоичного доступа. Если этот файл имеет разделители, то для работы с ним придётся написать специальную процедуру обработки разделителей и разбора данных, так как двоичный доступ обеспечивает побайтовую запись\чтение из файла. Очевидно, что это неудобно. Именно поэтому введено условное деление файлов на типы в зависимости от формата файла и доступа к данным. Соответственно сгруппированы и функции Visual Studio для записи \ чтения данных. Тип файла задаёт оптимальный набор функций записи и чтения данных из файла. Поэтому для работы с файлами для написания эффективной программы всегда необходимо иметь представление о типах файлов, с которыми будет работать программа, и об организации хранения данных в этих файлах. Это даёт возможность обеспечить оптимальный доступ и использовать соответствующие этому доступу функции. Рассмотрим работу с каждым из типов файлов, понимая, что такое разделение на типы достаточно условно, но позволяет обеспечить наиболее эффективную обработку данных для каждого типа. 1.1. Типизированные файлыСодержание типизированных файлов рассматривается как последовательность произвольных данных, которые представлены в двоичном виде. К достоинствам этого типа относится экономичность при хранении информации. С понятием типизированного файла тесно связано понятие указателя на текущий элемент файла. Другими словами, при работе с двоичным файлом в любой момент времени один из элементов файла является «активным», т.е. с ним могут производится какие-либо действия. В се операции с такими файлами осуществляются поэлементно, причём указатель может быть перемещён на заданное количество байт в любом направлении по содержанию файла. Необходимо отметить, что каждый элемент двоичного файла имеет свой порядковый номер, по которому к нему следует обращаться, причём нумерация начинается с единицы (рис. 1). В типизированных файлах может содержаться любая информация, однако всякий хранящийся элемент занимает определённое количество байт. Поэтому при его извлечении следует использовать переменные соответствующего типа, чтобы данные были корректно обработаны. Например, если извлекать число 257 (тип Integer) в переменную типа Byte, диапазон значений которой [0; 255], то результатом будет число 1 (рис. 2). 1*28+1*20=256+1=257 Номер бита Результат (тип Byte) 1*20=1 Рисунок 2 –Потеря данных при извлечении элемента из двоичного файла Следует точно знать элементы каких типов и в каком порядке хранятся в двоичном файле, т.е. где расположен каждый элемент и сколько он занимает байт. Иначе, если указатель будет перемещён не на первый байт очередного элемента, то, по аналогии с предыдущим примером, обработка информации будет выполнена некорректно и приведёт к ошибочным результатам. Например, если первым элементом двоичного файла было записано 2 – байтовое число 257 и после этого во второй байт было занесено число 0, то в этом случае вместо числа 257 будет снова получено число 1, т.к. его 8-ой бит, принадлежащий второму байту, был обнулён (см. рис. 2). Обработка любого файла начинается с его открытия, а при окончании работы с файлом его необходимо закрыть. Во время работы приложения могут быть одновременно открыты несколько файлов. Поэтому, для того, чтобы не возникло путаницы при обращении к ним, с каждым из файлов в программе отождествляется специальная переменная, называемая файловым номером и определяющая его положение в списке открытых в данный момент файлов. Все операции по обработке файлов в программе выполняются посредством обращения к соответствующим файловым номерам. 1. Открытие файла. Любой файл создаётся или открывается при помощи оператора Open, синтаксис которого зависит от его разновидности. Для двоичных файлов общий вид данного оператора выглядит следующим образом: Open Путь For Binary As номер Здесь Open – служебное слово, используемое при открытии или создании файла; Путь – строка или переменная типа String, содержание которой является полный путь к требуемому файлу; For – ключевое слово для определения типа файла; Binary – служебное слово, используемое при создании или открытии двоичного файла; As – ключевое слово для определения переменной, содержащей файловый номер, посредством которого будет в дальнейшем осуществляется обработка файла; Номер – имя переменной, содержащей номер файла. В дополнении к сказанному следует заметить, что в качестве параметра Путь может быть указано только имя файла. В этом случае работа с файлами будет происходить в том каталоге, который по умолчанию является рабочим в среде Visual Studio. Для работы с каталогами и дискетами существует несколько функций и операторов (табл. 1). Таблица 1. Функции и операторы для работы с каталогами и дисками
2. Закрытие файла. По окончании работы с любым файлом его необходимо закрыть при помощи оператора Close, синтаксис которого одинаков для всех типов файлов: Close номер 3. Удаление файла. В случае необходимости удаления файла с диска используется оператор Kill, формат которого аналогичен оператору Close. Не стоит забывать, что перед удалением файла его необходимо обязательно закрыть. 4. Определение файлового номера. Если в программе открыто несколько файлов, то для каждого из них определён свой файловый номер. Для того, чтобы определить значение первого свободного номера для очередного открытого файла, следует использовать функцию FreeFile, результат выполнения которой присваивается переменной-номеру: Переменная-номер = FreeFile 5. Переименование файла. В том случае, когда необходимо дать файлу новое имя, следует вначале его закрыть, а затем воспользоваться оператором Name, синтаксис которого следующий: Name Путь1 As Путь2, где Путь1 – строка или переменная типа String, которого содержит путь к исходному файлу; Путь2 – строка или строковая переменная, содержимым которой является новый путь к файлу. Следует заметить, что если на диске уже существует файл с таким же полным названием, т.е. Путь2, то при выполнении оператора Name возникает ошибка. 6. Копирование файла. При необходимости создания копии какого-либо файла применяется оператор FileCopy, перед выполнением которого копируемый файл должен быть закрыт. FileCopy Путь 1, Путь 2, где Путь 1 – путь к исходному файлу; Путь 2 – путь к новому файлу. При работе с открытым файлом возможно выполнение двух операций: занесение данных и считывание информации. 7. Запись в файл. Для того, чтобы записать в двоичный файл какую-либо информацию, следует воспользоваться оператором Put. Put номер, Позиция, Переменная Здесь Put Номер – переменная, которая содержит файловый номер; Позиция – порядковый номер байта, начиная с которого будет заноситься информация; Переменная – название переменной, содержимое которой записывается в файл. 8. Извлечение из файла. Для извлечения информации из файла применяется оператор Get, формат которого совпадает с оператором Put. Get Номер, Позиция, Переменная. При выполнении оператора Get в Переменную заносится информация из файла с указанным Номером, расположенная в нём по адресу Позиция. В дополнение к описанию операторов Put и Get следует заметить, что перед номером файла можно указывать знак #. Обработка данных в файлах любого типа осуществляется с учётом положения указателя. Для того, чтобы определить порядковый номер обрабатываемого элемента, следует применять функцию Seek. Seek (Номер). Результатом вызова функции Seek будет текущая позиция, которую занимает указатель в файле с заданным Номером. Следует отметить, что в названиях дисков, каталогов и файлов можно указывать как прописные, так и строчные буквы, хотя для Windows или языка Visual Studio в данном случае они означают одно и то же. Пример 1. Требуется на диске С: создать каталог TEXT и назначить его рабочим, затем в нём в свою очередь, создать файлы a1.bin и a2.bin. После этого необходимо заполнить файл a1.bin значениями массива arrA, состоящего из 10 элементов типа Integer, которые четвёртые степени целых чисел от 1 до 10. Затем требуется извлечь содержимое файла a1.bin в массив arrB, в котором после этого необходимо вычислить квадратные корни всех элементов. Последней операцией должно быть занесение содержимого массива arrB в файл a2.bin. После выполнения всех действий оба файла необходимо закрыть и удалить. Затем назначить рабочим тот каталог C:\Program Files, после чего удалить TEXT (рис. 3). Рисунок 3 – Приложение «Типизированные файлы 1.2. Текстовые файлыСодержимым текстовых файлов является последовательность строк произвольной длинны, которые были созданы при помощи кого-либо текстового редактора. При этом в конце каждой строки находится особое сочетание символов, которое означает её окончание и состоит из «возврата каретки» (код в таблице символов = 13) и «перевода строки» (код 10). В дополнение к сказанному следует заметить, что любой файл, независимо от типа, всегда завершается специальным символом «конец строки» (код = 26). Хранение числовых данных в текстовых файлах не является эффективным, т.к. каждый элемент будет представлен в виде последовательности символов. Следовательно, если необходимо хранить в файле, например, восьмизначные числа (тип Long), которые занимают в памяти 4 байта, то для каждого из них в текстовом файле будет отведено 8 байт – по 1 байту на один символ. Операции с текстом должны выполняться построчно, при этом после обработки очередной строки указатель автоматически перемещается на следующую строку. Если в ходе выполнения программы необходимо проверить условие достижения конца файла, то следует применять функцию Eof (номер), результатом которой является логическое значение (True или False). 1. Открытие файла. Для того, чтобы открыть текстовый файл, используется оператор Open следующего формата: Open <путь> For <назначение> As <номер> Здесь, в отличие от формата, применяемого при работе с двоичными файлами, после служебного слова For в качестве назначения для открываемого файла используются: Input – файл открывается для считывания из него информации; Output – файл открывается для редактирования его содержания; Append – файл открывается для добавления в него новых строк. При использовании в операторе Open ключевого слова Input открываемый файл должен существовать, в противном случае возникает ошибка. С другой стороны, служебные слова Output и Append можно применять как для открытия, так и для создания текстовых файлов. При этом, если файл уже открыт, например, для извлечения данных, то для добавления строк его необходимо вначале закрыть (Close), а затем открыть с указанием соответствующего назначения. 2. Добавление строк. Для добавления новых строк в файл используется оператор Print, формат которого следующий: Print # номер, переменная При выполнении данного оператора в конец файла с указанным номером, открытого при помощи ключевого слова Append, будет добавлена новая строка из переменной. Для изменения содержимого имеющегося текстового файла его необходимо вначале открыть с помощью служебного слова Output, а затем воспользоваться описанным выше оператором Print. В этом случае изменения будут внесены в начало файла. 3. Извлечение информации из файла. В языке Visual Studio существуют несколько возможных вариантов извлечения информации из текстового файла. Оператор Line Input – используется для занесения в программу переменных строк из файла. Синтаксис этого оператора следующий: Line Input # номер, переменная Функция Input – применяется для извлечения в строковую переменную заданного количества символов из файла и имеет следующий формат: Input (число, номер) Результатом вызова данной функции является указанное число символов, скопированных из файла с определённым номером. Пример 2. Требуется создать на диске С каталог Text, в котором необходимо создать текстовый файл a.txt и занести в него информацию, состоящую из нескольких строк. П осле этого файл следует закрыть и затем открыть его в режиме чтения, одновременно с этим нужно создать новый файл b.txt и скопировать в него все строки из a.txt. Затем требуется добавить в b.txt ещё одну строку и определить размер обоих файлов. После всех выполненных действий необходимо закрыть оба файла, удалить их, а также удалить каталог Text (рис. 4). Рисунок 4 – Приложение «Текстовые файлы» 1.3. Нетипизированные файлыИнформация в нетипизированных файлах хранится в виде набора одинаковых записей определённой структуры. Размер одной записи является значением суммы размеров всех её полей. 1. Открытие файла. Для того, чтобы открыть файл записей, необходимо воспользоваться оператором Open, аналогично рассмотренным ранее типам файлов. Однако его формат в этом случае несколько отличается от предыдущих, так как необходимо указывать размер записей, которые содержаться в файле: Open путь [For Random] As номер Len=размер В этом случае в операторе Open указывать тип с использованием служебного слова [For Random] необязательно, так как данный режим используется по умолчанию. Размер используемых записей задаётся при помощи ключевого слова Len. При этом, если запись, добавляемая в файл будет больше указанного размера, то в результате выполнения операции возникает ошибка. 2. Занесение в файл и извлечение из файла. Для занесения содержимого записи в файл используется оператор Put, как при работе с двоичными файлами: Put номер, позиция, переменная Отличие заключается в том, что под позицией понимается порядковый номер записи в нетипизированном файле. Аналогичным образом, для извлечения определённой записи из файла в переменную соответствующего типа применяется оператор Get: Get номер, позиция, переменная В этом операторе также, как и в операторе Put, позицией является порядковый номер записей в файле. Пример 3. Необходимо описать в программе следующую структуру для записей, которую следует назвать Session: Name As String*30 Number As Long Phisics As Byte Math As Byte Progr As Byte And Type После этого требуется создать на диске С: каталог Record, в котором необходимо создать файл записей a.dat и записать в него 2 одинаковые записи типа Session при помощи переменной Rec1. Затем нужно извлечь вторую запись из файла в переменную Rec2, после чего изменит в ней значения полей Name, Number, Progr. Отредактированную запись следует вновь поместить в файл a.dat с порядковым номером 2. После всех выполненных действий следует закрыть a.dat, удалить его, а также удалить каталог Record (см. рис. 5). Рисунок 5 – Приложение «Нетипизированные файлы» Раздел 2. ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ2.1 Определение требований системыОсновными требованиями к разрабатываемой программе являются: 1. Удобство использования 2. Простота интерфейса 3. Выполнение определённы функций: Открытие файла. Отображение его основных характеристик. Копирование. Перемещение. Переименование. Вывод информации о текстовом файле. Вывод сообщений о удачном перемещении, переименовании, копировании. Вывод сообщений о не найденном файле, ошибке и т.д. Обычно при проектировании изображают систему графически, поскольку человеку легко разобраться в таком представлении. Именно поэтому вместо написания громоздких текстов про каждую возможность будущей программы строят различные диаграммы для описания своих систем. Это помогает не забывать, что нужно реализовать в программе. При проектировании приложения в рамках данного курсового проекта была построена UML Use Case диаграмма (Рис. 6). Рисунок 6 – UML Use Case диаграмма 2.2 Выбор средств реализацииДля получения информации о файле, изменения атрибутов, переименования, перемещения, копирования, вывода информации о *.txt-файле будут использованы библиотеки Net Framework и интегрированная среда разработки Visual Studio 2019. Visual Studio – это стартовая площадка для написания, отладки и сборки кода, а также последующей публикации приложений Visual Studio представляет собой полностью интегрированную среду разработки. Она спроектирована таким образом, чтобы делать процесс написания кода, его отладки и компиляции в сборку для поставки конечным потребителям как можно более простым. На практике это означает, что Visual Studio является очень сложным приложением с многодокументным интерфейсом, в котором можно делать практически все, что касается разработки кода. 2.3 Описание программыИспользование пространств имен Net Framework System – cодержит классы, позволяющие сопоставлять коды 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 – содержит типы, поддерживающие ввод и вывод, включая возможности чтения и записи данных в потоках, как синхронно, так и асинхронно, сжатия данных в потоках, создания и использования изолированных хранилищ, сопоставления файлов логическим адресным пространствам приложений, хранения различных объектов данных в одном контейнере, взаимодействия с использованием анонимных или именованных каналов, реализации пользовательского ведения журнала и обработки входящих и исходящих потоков данных в последовательных портах. 2.3 Использованные классы .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 = new Form3(); //Создаём форму 3 - окно переименования form_rename.textBox1.Text = fileinf.Name; form_rename.ShowDialog(); //выводим форму if (form_rename.change_name == true) //проверяем, изменили имя файла или нет { 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++; //считаем все символы Exception – Представляет ошибки , происходящие во время выполнения приложения. File – Предоставляет статические методы для создания, копирования, удаления, перемещения и открытия файлов, а так же его можно использовать для получения и задания атрибутов. Все методы класса статические, поэтому, если необходимо выполнить только одно действие, более эффективным может оказаться использование метода File, а не соответствующего экземпляра метода FileInfo. 2.4 Используемые методы 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. Аргументы: Стартовый – Обязательный. Целое значение индекса (начиная с нуля), указывающее начало подстроки. Конечный – Необязательный. Целое значение индекса (начиная с нуля), указывающее конец подстроки. Подстрока включает знаки до знака, задаваемого конечным значением, но не включая его. Если конечное значение опущено, будут возвращены знаки от начального до конца исходной строки. ShowDialog – Отображает форму как модальное диалоговое окно Пространство имён: System.Windows.Forms Возвращаемое значение: Тип: System.Windows.Forms.DialogResults Одно из значений DialogResults Refresh – Удаляет любые кэшированные внутри компонента процесса сведения о связном процессе ToString – Преобразует числовое значение данного экземпляра в эквивалентное строковое представление с использованием указанного формата. Пространство имён: System Тип: System.String Строка числового формата. Тип: System.String Строковое представление значения данного экземпляра, определяемое параметром ReadLine – Выполняет чтение строки символов из текущего потока и возвращает данные в виде строки Пространство имён: System.IO Возвращаемое значение: System.String Следующая строка из входного потока иди значение Nothing, если достигнут конец входного потока. Close – Закрытие файла для чтения содержимого Пространство имён: System.Data 2.4 Руководство пользователяСистемные требования Операционная система : Windows 7, 10. Оперативная память: 8 ГБ Свободное пространство на диске: 400КБ Наличие .Net Framework 4.0 или выше Инструкция пользователя 1. Для запуска программы дважды кликните на файле File_info.exe 2. После этого откроется окно программы с одной действующей кнопкой «Открыть файл» (Рис. 7). Рисунок 7 – Окно приложения File_info 3. Нажмите на кнопку и выберете желаемый файл. Если вы будете вводить несуществующее имя – появится сообщение об ошибке, затем будет предложено попробовать ввести имя вновь. 4. Далее появятся несколько активных кнопок: «Атрибуты файла», «Переименовать», «Переместить», «Скопировать», а также если вы открыли файл с разрешением *.txt кнопка «Информация о *.txt-файле» так же станет активной. 5. В крайнем правом углу будет располагаться информация о файле: Размер, дата создания, дата изменения, дата открытия. Под кнопкой «Открыть файл» располагается имя файла 6. Нажав кнопку «Атрибуты файла» можно посмотреть какие атрибуты имеются у данного файла, а также добавить желаемые. Что бы сохранить изменения нажмите кнопку «Сохранить изменения» (Рис. 8). Рисунок 8 – Атрибуты 7. Если тот файл, который вы открыли имеет формат *.txt можно посмотреть количество строк, слов, символов, символов без пробелов данного файла, нажав на кнопку «Информация о *.txt-файле». Это показано на Рисунке 13 Рисунок 13 – Информация о текстовом файле 8. Для переименования файла нажмете на кнопку «Переименование» После чего открывается окно с текущим именем файла. Его можно изменить на желаемое и сохранить, нажав на кнопку «Применить». Если имя не будет содержать ни одного символа – появится сообщение об ошибке, после чего предлагается вновь попробовать ввести имя. Это показано на Рисунках 14 и 15 Рисунок 14 – Переименование Рисунок 15 – Сообщение об ошибке 9. Для перемещения файла нажмите кнопку «Переместить». После нажатия кнопки появится окно, в котором будет предложено выбрать куда переместить данный файл. Так же будет активна кнопка «Создать папку», с помощью которой вы можете создать папку для хранения выбранного файла. Это показано на Рисунке 16 Рисунок 16 – Перемещение 10. Для копирования файла нажмите кнопку «Скопировать». После нажатия кнопки появится окно, в котором будет предложено выбрать куда скопировать данный файл. Так же будет активна кнопка «Создать папку», с помощью которой вы можете создать папку для хранения выбранного файла. Если вы скопируете файл в туда где он уже находится – появится сообщение об ошибке и три активных кнопки: «Сведения» – подробнее познакомиться с ошибкой, «Продолжить – продолжить работу с программой без завершения последней операции» и «Выход» – завершение работы программы. Это показано на Рисунках 17 и 18. Рисунок 17 – Копирование Рисунок 18 – Сообщение об ошибке 11. Если необходимо закончить работу с текущим файлом и начать работу с другим – просто нажмите «Открыть файл». 12. Что бы закончить работу с приложением – нажмите крестик. ЗАКЛЮЧЕНИЕВ данном курсовом проекте были рассмотрены стандартные операторы, функции и методы Visual Studio для работы с файлами различных типов, файловые элементы управления и объекты файловой системы, а также показаны примеры их применения на практике. Тема работы с файлами является очень актуальной, так как управление файлами находит своё применение в приложениях различных типов и имеет большое практическое значение. Не одна задача современного программирования не обходится без решения вопроса сохранения данных. Результатом разработки является пользовательское Windows – приложение. После запуска приложения и открытия файла можно посмотреть основную информацию о файле: Размер, дата создания, дата изменения, дата открытия, имя. Так же можно посмотреть какими атрибутами обладает файл и внести желаемые изменения и сохранить их. Так же можно выполнить переименование, перемещение и копирование файла. Программа обладает способностью посчитать количество букв, слов, символов, символов без пробелов у текстовых файлов. Программа может быть использована как замена некоторых функций Проводника Windows и текстовых редакторов. Функционал приложения ограничен поставленными задачами. В ходе данной работы были выполнены все поставленные задачи, повышен навык работы с платформой .NETFramework, языком программирования C#. Простейший интерфейс позволяет работать даже начинающим пользователям ПК. Предусмотрено уведомление пользователя об ошибках. Выполнены все требования к приложению, кроме применения функций WinAPI, т.к. они устарели и их использование значительно увеличило время разработки. Данное приложение можно доработать до более серьёзного приложения, к примеру до приложения, выполняющего базовые функции файл – менеджера Данная работа может быть использована студентами для изучения операторов, функций и методов Visual Studio, которые позволяют выполнять различные задачи управления файлами. СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВТехнология разработки программных продуктов. Практикум: учеб. пособие для студ. учреждений сред. проф. образования / А. В. Рудаков, Г. Н. Федорова. – 4-е изд., стер. – М.: Издательский центр «Академия»; 192с. Проектирование информационных систем: учебник и практикум для среднего профессионального образования / Д. В. Чистов, П. П. Мельников, А. В. Золотарюк, Н. Б. Ничепорюк; под общей редакцией Д. В. Чистова. – Москва: Издательство Юрайт, 258 с. Технологии программирования: учебно-методическое пособие для СПО / Л. Ф. Лебеднко, О. И. Моренкова; Сибирский государственный университет телекоммуникаций и информатики. – 2-е изд. – Саратов: Профобразование, 106 с. Программирование. Объектно-ориентированный подход: учебник и практикум для вузов / С. В. Зыков. – Москва: Издательство Юрайт, 155 с. Программирование на Visual C#: учебное пособие для среднего профессионального образования / А. А. Казанский. – 2-е издание, перераб. И доп. – Москва: Издательство Юрайт, 192 с. Кузьменко В.Г. Visual Studio 2019. Самоучитель. Третье издание. - М Бином, 2020. – 432с.: ил. Программирование на языке C# : учебно-методическое пособие / Г. А. Заборовский, В. В. Сидорик. – Минск, БНТУ, 2020. – 84 с. Прикладное программирование: лабораторный практикум / В.Н. Литвинов, Н.Б. Руденко, Н.Н. Грачева. – Зерноград: АзовоЧерноморский инженерный институт ФГБОУ ВО ДГАУ, 2021. – 166 с. Глушаков С.В., Сурядный А.С. Программирование на Visual Studio – М.: «Фолио», 2019. – 497с. https:/learn.microsoft.com/ – Справочная система MS Windows |