ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 16.10.2024
Просмотров: 22
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
М ИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ЧЕЧЕНСКОЙ РЕСПУБЛИКИ
Государственное бюджетное профессиональное
образовательное учреждение
«Грозненский государственный колледж информационных технологий»
(ГБПОУ «ГГКИТ»)
Кафедра: «Информационных технологий и связи»
КУРСОВОЙ ПРОЕКТ
по МДК 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. Функции и операторы для работы с каталогами и дисками
Название | Описание |
ChDir (путь) | Оператор, устанавливающий новый рабочий каталог на текущем диске |
ChDrive (диск) | Оператор для определения нового рабочего диска |
CurDir | Функция, возвращающая путь к рабочему каталогу |
MkDir (путь) | Оператор, создающий новый каталог |
RmDir (путь) | Оператор для удаления существующего каталога, который может быть пуст |
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.