Представленная курсовая работа посвящена теме «Работа с файлами в MS Visual C++».
С момента появления первых больших ЭВМ и по сей день, интенсивно изучаются проблемы разработки и проектирования системного и прикладного программного обеспечения. В настоящее время развиваются новые направления исследований в данной области, в частности, системные исследования в области компьютерных технологий и систем, методологии анализа и синтеза новых информационных решений.
В C++ предусмотрен классический способ работы с файлами, основанный на библиотеке stdio.h и доступе к данным через структуру FILE. Существует также альтернативный механизм работы с файлами в языке C++ на основе потоков и библиотек , , . Однако в настоящее время является актуальным использование возможностей библиотеки компонентов Visual Studio для работы с текстовыми файлами, именно они и реализованы в курсовой работе.
Работа с файлами была реализована в ходе создания электронного учебного пособия по курсу JavaScript, что также является актуальной задачей.
Уроки C# (Для новичков) #3 — Структура программы
В автоматизации обучения дисциплине «JavaScript» наиболее существенны следующие возможности:
— «одноразовый» ввод данных и многоцелевое их использование;
— многоаспектный поиск данных по различным признакам и их
сочетаниям без формирования дополнительных картотек и
указателей;
— сокращение затрат на обработку входных потоков документов.
На практике это означает освобождение преподавателей от ряда рутинных работ по подготовке лекций, вопросов, отчетной документации.
Цель курсовой работы – изучение основных аспектов организации работы с файлами в MS Visual C++ и реализация электронного учебного пособия по курсу JavaScript.
Для достижения цели поставлены следующие задачи:
— изучить теоретические аспекты работы с файлами в MS Visual C++;
-разработать концепцию ЭУ по курсу «JavaScript»;
— разработать программное обеспечение электронного учебного пособия.
В ходе написания курсовой работы были использованы труды следующих специалистов по программированию на языке С++: Баженова И. Ю., Николенко Д. В., Павловская Т.А., Пахомов Б. C., Холзнер, С. И др.
1 Теоретические основы организации работы с файлами в MS Visual C++
1.1 Организация работы с файлами средствами C++
Файлом называют способ хранения информации на физическом устройстве. Файл — это понятие, которое применимо ко всему — от файла на диске до терминала.
Файлы позволяют пользователю считывать большие объемы данных непосредственно с диска, не вводя их с клавиатуры. Существуют два основных типа файлов: текстовые и двоичные.
Текстовыми называются файлы, состоящие из любых символов. Они организуются по строкам, каждая из которых заканчивается символом «конца строки». Конец самого файла обозначается символом «конца файла». При записи информации в текстовый файл, просмотреть который можно с помощью любого текстового редактора, все данные преобразуются к символьному типу и хранятся в символьном виде.
СТРУКТУРА ПРОЕКТА | СТРУКТУРА И ПОРЯДОК ВЫПОЛНЕНИЯ ПРОГРАММЫ | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ Урок #2
В двоичных файлах информация считывается и записывается в виде блоков определенного размера, в которых могут храниться данные любого вида и структуры.
Для работы с файлами используются специальные типы данных, называемые потоками. Поток ifstream служит для работы с файлами в режиме чтения, а ofstream в режиме записи. Для работы с файлами в режиме как записи, так и чтения служит поток fstream.
В программах на C++ при работе с текстовыми файлами необходимо подключать библиотеки iostream иfstream.
Для того чтобы записывать данные в текстовый файл, необходимо [6]:
- описать переменную типа ofstream.
- открыть файл с помощью функции open.
- вывести информацию в файл.
- обязательно закрыть файл.
Для считывания данных из текстового файла, необходимо [11]:
- описать переменную типа ifstream.
- открыть файл с помощью функции open.
- считать информацию из файла, при считывании каждой порции данных необходимо проверять, достигнут ли конец файла.
- закрыть файл.
Запись информации в текстовый файл
Как было сказано ранее, для того чтобы начать работать с текстовым файлом, необходимо описать переменную типа ofstream. Например, так:
ofstream F;
Будет создана переменная F для записи информации в файл. На следующим этапе файл необходимо открыть для записи. В общем случае оператор открытия потока будет иметь вид:
F.open(«file», mode);
Здесь F — переменная, описанная как ofstream, file — полное имя файла на диске, mode — режим работы с открываемым файлом. Обратите внимание на то, что при указании полного имени файла нужно ставить двойной слеш. Для обращения, например, к файлу accounts.txt, находящемуся в папке sites на диске D, в программе необходимо указать: D:\sites\accounts.txt.
Файл может быть открыт в одном из следующих режимов:
- ios::in — открыть файл в режиме чтения данных; режим является режимом по умолчанию для потоков ifstream;
- ios::out — открыть файл в режиме записи данных (при этом информация о существующем файле уничтожается); режим является режимом по умолчанию для потоков ofstream;
- ios::app — открыть файл в режиме записи данных в конец файла;
- ios::ate — передвинуться в конец уже открытого файла;
- ios::trunc — очистить файл, это же происходит в режиме ios::out;
- ios::nocreate — не выполнять операцию открытия файла, если он не существует;
- ios::noreplace — не открывать существующий файл.
Параметр mode может отсутствовать, в этом случае файл открывается в режиме по умолчанию для данного потока.
После удачного открытия файла (в любом режиме) в переменной F будет храниться true, в противном случае false. Это позволит проверить корректность операции открытия файла.
После открытия файла в режиме записи будет создан пустой файл, в который можно будет записывать информацию.
После открытия файла в режиме записи, в него можно писать точно так же, как и на экран, только вместо стандартного устройства вывода cout необходимо указать имя открытого файла.
Например, для записи в поток F переменной a, оператор вывода будет иметь вид [8]:
Для последовательного вывода в поток G переменных b, c, d оператор вывода станет таким:
Закрытие потока осуществляется с помощью оператора:
F.close();
Чтение информации из текстового файла
Для того чтобы прочитать информацию из текстового файла, необходимо описать переменную типа ifstream. После этого нужно открыть файл для чтения с помощью оператора open.
После открытия файла в режиме чтения из него можно считывать информацию точно так же, как и с клавиатуры, только вместо cin нужно указать имя потока, из которого будет происходить чтение данных.
Например, для чтения данных из потока F в переменную a, оператор ввода будет выглядеть так:
F>>a;
Два числа в текстовом редакторе считаются разделенными, если между ними есть хотя бы один из символов: пробел, табуляция, символ конца строки. Хорошо, когда программисту заранее известно, сколько и какие значения хранятся в текстовом файле. Однако часто известен лишь тип значений, хранящихся в файле, при этом их количество может быть различным.
Для решения данной проблемы необходимо считывать значения из файла поочередно, а перед каждым считыванием проверять, достигнут ли конец файла. А поможет сделать это функция F.eof(). Здесь F — имя потока функция возвращает логическое значение: true или false, в зависимости от того достигнут ли конец файла.
1.2 Возможности компонента RichTextBox по работе с файлами
В разрабатываемом приложении в качестве компонента, в котором будут отображаться все учебные материалы, был выбран компонент RichTextBox.
Структура проекта в среде Visual Studio
Microsoft Visual Studio.NET — это интегрированная среда разработки (IDE -Integrated Development Envirionment) для создания, документирования, запуска и отладки программ, написанных на языках.NET [3].
Visual Studio является многооконной, настраиваемой, обладает большим набором возможностей.
Рисунок 1.1 – главное меню Visual Studio
Главное окно Visual Studio.NET, подобно другим приложениям Windows, содержит строку меню, включающую в себя следующие категории:
· Файл — открытие, создание, добавление, закрывание, печать и проч.
· Правка — стандартные команды правки: копирование, вставка, вырезание и
· Вид — команды для скрытия и отображения всех окон и панелей инструментов.
· Проект — команды для работы с проектом: добавление элементов, форм,
· Построение — команды компиляции программы.
· Отладка -команды для отладки программы.
· Сервис — команды дополнительных инструментов и настройки Visual Studio.NET.
· Окно — управление расположением окон.
· Справка — вызов справочной документации.
Под строкой меню расположена панель инструментов, содержащая вложенные панели кнопок, запускающих те или иные команды из определенной группы или управляющих средой разработки Visual Studio.
Поместить группу кнопок на панель инструментов можно при помощи пункта меню Вид / Панели инструментов.
Для создания нового проекта нужно выбрать в меню Файл команду Создать/Проект. Появится новое диалоговое окно создания проекта.
Рисунок 1.2. – Диалоговое окно создания проекта
При создании нового проекта в поле Имя необходимо указать имя нового проекта, а в поле Расположение — имя каталога, в котором следует сохранить файлы этого проекта. При этом в данном каталоге автоматически будет создан другой каталог, имя которого совпадает с именем проекта. По умолчанию проекты сохраняются в каталоге С:Documents and SettingsМои документыVisual StudioProjects.
Visual Studio.Net для языков C++, C# и Visual Basic предлагает довольно много разных видов проектов. Среди них есть пустой проект, в котором изначально не содержится никакой функциональности; есть также проект, ориентированный на создание Web-служб.
В левой части диалогового окна можно выбрать тип проекта. Список типов проектов зависит от того, какие языки были выбраны при установке Visual Studio. В правой части окна можно выбрать один из предложенных шаблонов для данного типа проектов.
Хотя при создании нового проекта в среде Visual Studio.NET предлагается довольно большой список типов проектов, но на самом деле есть всего три основные разновидности приложений – Windows-приложение, Консольное приложение и Библиотека классов. Все остальное — это их различные вариации за счет использования тех или иных шаблонов или мастеров, обеспечивающих автоматическое выполнение каких-то начальных действий.
После выбора типа проекта и нажатия кнопки OK откроется основное окно визуальной среды Visual Studio (например, рисунок 1.3)
Рисунок 1.3 – Окно визуальной среды
Существует три основные части визуальной среды при разработке проекта. В центре находится главное окно для создания визуальных форм и написания кода. Слева размещается окно Обозревателя решений, а справа окно инспектора свойств. Окно Обозревателя решенийпозволяет увидеть, из каких проектов состоит решение и какие файлы входят в состав этих проектов.
Окно свойств (Properties) содержит список атрибутов объекта, выделенного в данный момент. В левой части среды разработки может присутствовать панель элементов управления. Эту панель можно открыть выбором пункта меню Вид/Панель элементов или нажатием Ctrl-Alt-X.
Окно Обозревателя решенийсодержит древовидное представление элементов проекта, которые можно открывать по отдельности для модификации или выполнения задач по управлению (рисунок 1.4). В дереве отображаются логические отношения решения и проектов, а также элементов решения. Решение — это набор проектов, из которых состоит приложение. Компонентами проектов могут быть модули, а также другие файлы, которые
требуются для создания приложения. Если нужно отредактировать компонент проекта, следует дважды щелкнуть по его имени в окне Обозревателя решений.
Рисунок 1.4. – Окно обозревателя решений
Пункты контекстное меню окна обозревателя решений (вызывающегося нажатием правой кнопкой мыши) позволяют изменять содержимое проекта, а также добавлять новые компоненты. Помимо обычных программных модулей, можно с помощью команды Добавить/Создать элемент… создать в проекте самые разные компоненты (см. рисунок 1.5.) или командой Добавить/Существующий элемент… подключать к проекту уже существующий компонент, указав путь к этому компоненту.
Рисунок 1.5. – Шаблоны компонент проекта
В проекте Visual C++ взаимозависимости между отдельными частями описаны в текстовом файле проекта с расширением .vcproj. А специальный текстовый файл решения с расширением .sln содержит список всех проектов данного решения. Чтобы начать работу с существующим проектом, достаточно открыть в Visual Studio соответствующий sln-файл.
Visual C++ также создает промежуточные файлы нескольких типов [4]:
.rc,.resX -поддержка просмотра ресурсов.
.res — откомпилированный файл ресурсов.
.ncb — поддержка просмотра классов. Этот файл создается и затем обновляется при каждом запуске программы. Он имеет самый большой объем среди всех файлов проекта.
.pdb — файл,используемый компоновщиком для записи отладочной информации о пользовательской программе с целью ускорения редактирования связей в режиме отладки.
.sln — файл решения.
.suo — поддержка параметров и конфигурации решения.
.vcproj — файл проекта.
.ico — файл содержит изображение иконки, которое на форме расположено в верхнем левом углу.
Файл AssemblyInfo содержит информацию о приложении.
1.3 Создание консольного приложения в Visual Studio
Visual Studio представляет собой интегрированную среду программирования, т.е. объединяет текстовый редактор, компилятор, отладчик и еще ряд дополнительных программ.
Для создания консольного приложения выберем в окне создания проекта тип проекта Win32 и шаблон: Консольное приложение Win32. После ввода имени проекта нажмем кнопку ОК.
Рисунок 1.6. – Новый проект
После этого откроется основное окно разработки проекта (рис 1.6на.). Точкой входа проекта является функция _tmain(…). Разработаем программу вычисления таблицы значений функции Y вида:
,
при изменении аргумента X на интервале от -2 до +2 с шагом 0,5. Параметр функции A должен вводиться с клавиатуры.
В окно редактирования введем следующий текст программы:
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
Источник: infopedia.su
Создание классического приложения Windows Forms в Visual Studio C#
В данной статье будет рассмотрено как создать новый проект в виде классического приложения для работы в Windows. Также в студии есть возможность создавать универсальные приложения (UWP-приложение), но это уже тема другой статьи.
При выполнении примера создания нового проекта будет использована Visual Studio 2017 для объектно-ориентированного языка программирования C#. Если у Вас стоит другая версия, то она также подойдет, думаю разница должна быть не существенной, а может быть будет все также.
Создание нового проекта
Для создания нового проекта, нужно выполнить команду «Файл»-> «Создать»->»Проект» (Ctrl+Shift+N). В открывшемся окне нажать на вкладку Visual C# и далее там в предложенном списке вариантов выбрать «Классическое приложение Windows». После нажатия на этот пункт будут предложены различные варианты шаблонов приложений. Нам нужно выбрать «Приложение Windows Forms (.Net Framework)». Также в этом окне нужно задать желаемое имя, расположение, имя решения (может совпадать с именем проекта, а также выбрать платформу.
В качестве примера создадим приложение HelloWorld, как первое пробное приложение.
В поле «Имя» вводим «HelloWorld»
В поле «Расположение» — «C:ObuchHelloWorld» (или любой другой путь)
Платформу оставил по умолчанию .Net Framework 4.5, но можно выбрать при желании другую версию из выпадающего списка.
Сразу после нажатия кнопки «OK» появится новая заготовка Windows-приложения.
В созданной заготовке содержится только название приложения — Form1 и пустая форма.
Теперь в этой форме создадим две кнопки: первую для вывода какого-либо сообщения пользователю, а другую для выхода из приложения. Для этого с панели элементов перетаскиваем на форму два элемента Button (по умолчанию находится с левой стороны интегрированной среды Visual Studio). Перенесенные кнопки на форму, будут иметь имя button1 и button2 соответственно.
Хоть это и пример, и можно было бы имена оставить как есть, но это способствует плохой привычке. В итоге, если так делать, то при написании более большого приложения, будет намного сложнее понимать в последующем код, если будет куча таких дефолтных имен. Первую кнопку назовем btnMessage, а вторую — btnClose.
Чтобы поменять имена кнопок, нужно в панели «Свойства» перейти в группу «Разработка» и там изменить дефолтный параметр Name. Также важно задать выводимый текст на кнопках, чтобы пользователю было понятно, что он нажимает. Для этого находим свойство Text и меняем для кнопки btnMessage — «Привет» и для кнопки btnClose — «Закрыть».
После того как мы разместили кнопки и дали им имена, нужно написать обработчики для выполнения необходимого функционала.
Зададим обработчик для кнопки btnMessage. Для этого выполняем двойной щелчок на кнопки. После этого среда создаст заготовку обработчика, а нам остается только вписать нужный код. Вводим в обработчик: MessageBox.Show(«Привет мир!»). В итоге обработчик будет выглядеть как в примере ниже.
private void btnMessage_Click(object sender, EventArgs e)
MessageBox.Show(«Привет мир!»);
>
Теперь осталось написать обработчик для второй кнопки. Проделываем тоже самое как и для первой кнопки и вводим метод закрытия приложения- Close().
private void btnClose_Click(object sender, EventArgs e)
Close();
>
На этом написание первой программы в Visual C# завершено. Она достаточно простая, так как имеет минимальный функционал. Чтобы запустить это приложение достаточно нажать F5 на клавиатуре.
В конце статьи дополнительно приложен архив с проектом, который можно загрузить на свой компьютер.
Файлы к статье:
Проект HelloWorld
Источник: ns2d.ru