Работа с файлами в visual studio c

Работа с файлами в visual studio c

лабораторные работы и задачи по программированию и информатике, егэ по информатике

Объект Visual c++ OpenFileDialog для работы с файлами

Инструментарий:

объект свойство name
форма
контейнер для изображения (PictureBox) pct
кнопка (button) btn
диалоговое окно (OpenFileDialog) file1

Выполнение:

  1. Создайте новый проект и расположите элементы управления PictureBox (pct) и Button (btn) на новой форме, как показано на рисунке. Добавьте также элемент управления OpenFileDialog (в свитке Диалоговые окна). Это скрытый элемент, не отображается в дизайне формы. Для свойства name элемента задайте имя file1.
  2. Предположим, необходимо открывать только изображения формата jpg. В таком случае, необходимо задать фильтр. Сделать это следует при загрузке формы, т.е. нужно запрограммировать событие Load для формы:

До прямого слэша указывается, как будет отображаться фильтр в окне, а после – сама маска фильтра.

  1. Теперь осталось вывести изображение в PictureBox (pct). Для этого запрограммируем событие click для кнопки:

String ^fname;// объявление строковой переменной file1->ShowDialog();//открываем диалоговое окно fname=file1->FileName;//используем переменную для хранения имени выбранного файла pct->Image=Image::FromFile(fname);//загружаем файл в элемент PictureBox

Здесь мы опустили все обращения к this->, это допускается в visual c++.

  1. Протестируйте результат.
  1. Назовите основное назначение элемента управления в Visual c++ OpenFileDialog.
  2. Какое свойство элемента управления OpenFileDialog используется для открытия файлов конкретного формата?
  3. Каково назначение элемента управления PictureBox?
  4. Когда генерируется событие Load для формы?

Глава 1 Использование контролов OpenFileDialog и SaveFileDialog для работы с файлами

Для изучения работы с контролами OpenFileDialog и SaveFileDialog создадим новое решение (подробно о создании проекта решения было раказано в первом разделе книги) или изменим уже ипользованный проект (убрав коды обработчиков событий нажатия кнопок, изменив надписи и картиночки) и поместим на форму контролы RichTextBox, OpenFileDialog и SaveFileDialog. Контролы OpenFileDialog и SaveFileDialog не визуальные и, потому, разместились ниже формы. Проект решения с которым будем работать примет вид, показанный на Рис.1.

Рис.1 Проект решения для работы с OpenFileDialog и SaveFileDialog

Дважды кликнем на форме (вне контролов) и, таким образом, создадим обработчик Form1_Load, который будет вызываться при каждой загрузки формы и который в дальнейшем будем часто использовать для начальной инициализации параметров программы и переменных. В обработчике запишем код очистки RichTextBox:

Обработчик нажатия кнопки 3 оставим прежний:

Параграф 1 Ипользование контрола OpenFileDialog

Основные свойства OpenFileDialog

Свойство AddExtension разрешает или запрещает автоматическое добавление расширение, указанное в свойстве DefaultExt.

Свойство DefaultExt — расширение, принятое по умолчанию для автоматического добавления к имени файла при AddExtension=true.

Свойство CheckFileExists — используется для получения или устанавки значения, указывающего отображать или нет диалоговое окно предупреждения, если пользователь указал в свойстве FileName имя файла, которого не существует в данной директории и нажал кнопку "Oткрыть" при невыбранном кликом мышки файле. При CheckFileExists=true вместо прерывания будет выдано сообщение, что такого файла нет и исключения не вызывается.

На Рис.2 показано окно предупреждение при FileName=a.doc, CheckFileExists=true и нажатии кнопки "Oткрыть" при невыбранном файле.

Рис.2 Окно предупреждения при CheckFileExists=true

Свойство FileName — имя файла по умолчанию для выборки если была нажата кнопка OK и не выбрн кликом мышки файл в окне диалога.

Свойство CheckPatchExists — используется для получения или устанавки значения, указывающего отображать или нет диалоговое окно предупреждения, если пользователь указал в свойстве FileName имя файла с несуществующим именем директории. Окно полностью анлогично показанному на Рис.2., например, при FileName=С:3a.doc и не выбранном файле в директории C: и нажатии кнопки "Oткрыть" будет выдано сообщение, поазанное на Рис.3. При CheckPatchExists=true вместо прерывания будет выдано только сообщение.

Читайте также:  Новый жесткий диск не отображается

Рис.3 Окно предупреждения при CheckPatchExists=true

Свойство DereferenceLinks — используется для указания контролу что именно возвращпть при выборе файла ссылки — файл по ссылке (true) или файл самой сылки (false).

Свойства Filter, FilterIndex — фильтр для выбираемых файлов и индекс строки, отображаемой в окошечке "Имя файла". Например значение свойства заданного строкой при FilterIndex=1.

позволит выбрать только текстовые файлы в формате rtf или txt. В окошечке "Тип файла" будет только две строки:

а в окошечке "Имя файла" будет отображена первая.

Свойство InitialDirectory — директория, которая выбирается при старте OpenFileDialog.

Свойство MultiSelect — при значении true позволяет выбрать мышкой при нажатой кнопке Shift или Ctrl несколько файлов и сохранить их имена в свойстве FileNames в виде массива строк.

Свойство ReadOnlyChecked — при значении true позволяет открывать команде OpenFile выбранные файлы только в режиме чтения.

Свойство RestoreDirectory — при true диалоговое окно восстанавливает текущий каталог к первоначальному значению если пользователь изменил каталог при поиске файлов, при false — нет.

Свойство работает только если закрыт поток Stream, созданный методом openFileDialog1.OpenFile().

Свойство ShowHelp — при значении true в окне диалога отображается кнопка "Справка".

Свойство ShowReadOnly — при значении true в окне диалога отображается переключатель "Только для чтения".

Свойство Title — заголовок диалогового окна.

Свойство ValidateNames — при true проверяет допустимость имени для файла применительно к Win32. Никакое заданное по умолчанию в этом случае не добавляется.

Отметим, что ве свойcтва могут быть заданы на этапе проектирования и программно — путем присвоения соответствующих значений.

Загрузка содержимого файла с использованием OpenFileDialog

Утановим для OpenFileDialog следующие значения свойств:

Filter — rtf файлы (*.rtf)|*.rtf

Пометим в директорию C: какой либо файл в формате .rtf (например который был создан в первом разделе "a.tf") и загрузим его в RichTextBox. Для этого напишем в обработчике нажатия кнопки 1 следующий код:

Ели мы выбрали файл C:a.rtf, то это имя отобразится в заглавии формы.

Если теперь в войстве FileName запишем a.rtf, то при открытии диалога буковка "a" появляется в окошечке "Имя файла" и можно выполнить загрузку не выбирая мышкой файл, а сразу нажав кнопочку "OK".

Дотаточно в войстве FileName записать a.doc и повторить то, что только что проделали выше, как получим предупреждение об отсутствии файла (см Рис.2) и файл уже придется выбирать кликом мышки (кстати, отетим еще раз, что если утановить войство CheckFileExists в false то получим возбуждение иключения).

Рассмотрим еще один способ, который позволяет загружать фйлы в формате .txt. Добавим на форму контрол TextBox и установим его свойство MultiLine в true, в обработчике Form1_Load допишем строку

а cвойству Filter присвоим значение

В обработчике события нажатия кнопки 1 напишем код для чтения текстовых файлов.

Ели прочитаем текстовый файл в формате .rtf, то увидим уже знакомое нам по первому разделу содержимое файла, а при чтении текстового файла в формате .txt именно текст (см Рис.4).

Читайте также:  Настольная игра футбольный менеджер

Рис.4 Чтение файлов в формате .rtf(сле) и.txt(спрва) в ткстовом режиме

Параграф 2 Ипользование контрола SaveFileDialog

Основные свойства SaveFileDialog

Следует отметить, что все свойства отображаемые в окне Proporties для SaveFileDialog аналогичны OpenFileDialog и имеют тоже назначение и тот же принцип использования, и, поэтому, в отдельном их расмотрении нет необходимости.

Сохранение информации в файл с использованием SaveFileDialog

Уcтановим для SaveFileDialog следующие значения свойств:

Filter — rtf файлы (*.rtf)|*.rtf|txt файлы(*.txt)|*.txt

Последнее актуально именно для SaveFileDialog и позволяет не задавать в окошечке "имя файла" полное имя если файл будет сохраняться как .rtf файл.

Для обработчика события нажатия кнопки 2 нпишем следующий код:

Демонстрирует различные операции с файлами с помощью .NET Framework. Demonstrates various file operations using the .NET Framework.

В следующих разделах описывается использование классов, определенных в System.IO пространство имен для выполнения различных операций с файлами. The following topics demonstrate the use of classes defined in the System.IO namespace to perform various file operations.

Перечисление файлов в каталоге Enumerate Files in a Directory

В следующем примере кода показано, как получить список файлов в каталоге. The following code example demonstrates how to retrieve a list of the files in a directory. Кроме того подкаталоги пронумеровываются. Additionally, the subdirectories are enumerated. В следующем примере кода используется GetFiles GetFiles и GetDirectories методов, чтобы отобразить содержимое каталога C:Windows. The following code example uses the GetFilesGetFiles and GetDirectories methods to display the contents of the C:Windows directory.

Пример Example

Монитор изменений в файловой системе Monitor File System Changes

В следующем примере кода используется FileSystemWatcher для регистрации событий, соответствующие файлы, созданные, измененные, удаленные или переименован. The following code example uses FileSystemWatcher to register for events corresponding to files being created, changed, deleted, or renamed. Вместо периодического опроса поиск изменений в файлах в каталоге, вы можете использовать FileSystemWatcher класс, который создает события при обнаружении изменения. Instead of periodically polling a directory for changes to files, you can use the FileSystemWatcher class to fire events when a change is detected.

Пример Example

Прочитать двоичный файл Read a Binary File

В следующем примере кода демонстрируется чтение двоичных данных из файла, используя два класса из System.IO пространство имен: FileStream и BinaryReader. The following code example shows how to read binary data from a file, by using two classes from the System.IO namespace: FileStream and BinaryReader. FileStream представляет фактический файл. FileStream represents the actual file. BinaryReader предоставляет интерфейс для потока, который разрешает двоичный доступ. BinaryReader provides an interface to the stream that allows binary access.

В примере кода считывает файл с именем data.bin и содержит целые числа в двоичном формате. The code example reads a file that’s named data.bin and contains integers in binary format. Сведения об этом файле см. в разделе как: Запись в двоичный файл (C++выполняет). For information about this kind of file, see How to: Write a Binary File (C++/CLI).

Пример Example

Чтение из текстового файла Read a Text File

В следующем примере кода показано, как открыть и прочитать текст файла по одной строке за раз, с помощью StreamReader класс, который определен в System.IO пространства имен. The following code example demonstrates how to open and read a text file one line at a time, by using the StreamReader class that’s defined in the System.IO namespace. Экземпляр этого класса используется для открытия текстового файла и затем System.IO.StreamReader.ReadLine метод используется для считывания каждой строки. An instance of this class is used to open a text file and then the System.IO.StreamReader.ReadLine method is used to retrieve each line.

Читайте также:  775 Сокет процессоры 4 ядра самый мощный

Данный пример кода считывает файл с именем textfile.txt и содержит текст. This code example reads a file that’s named textfile.txt and contains text. Сведения об этом файле см. в разделе как: Запись в текстовый файл (C++выполняет). For information about this kind of file, see How to: Write a Text File (C++/CLI).

Пример Example

Получение сведений о файле Retrieve File Information

В следующем примере кода показано FileInfo класса. The following code example demonstrates the FileInfo class. Если имя файла, этот класс можно использовать для получения сведений о файле, такие как размер файла, каталога, полное имя и Дата и время создания и последнего изменения. When you have the name of a file, you can use this class to retrieve information about the file such as the file size, directory, full name, and date and time of creation and of the last modification.

Этот код извлекает информацию о файлах для Notepad.exe. This code retrieves file information for Notepad.exe.

Пример Example

Запись в двоичный файл Write a Binary File

В следующем примере кода демонстрируется запись двоичных данных в файл. The following code example demonstrates writing binary data to a file. Два класса из System.IO используются пространства имен: FileStream и BinaryWriter. Two classes from the System.IO namespace are used: FileStream and BinaryWriter. FileStream представляет фактический файл, хотя BinaryWriter предоставляет интерфейс для потока, который разрешает двоичный доступ. FileStream represents the actual file, while BinaryWriter provides an interface to the stream that allows binary access.

В следующем примере кода записывает файл, содержащий целые числа в двоичном формате. The following code example writes a file containing integers in binary format. Этот файл может быть считан с код в как: Прочитать двоичный файл (C++выполняет). This file can be read with the code in How to: Read a Binary File (C++/CLI).

Пример Example

Запись в текстовый файл Write a Text File

В следующем примере кода показано, как для создания текстового файла и запись в него с помощью текста StreamWriter класс, который определен в System.IO пространства имен. The following code example demonstrates how to create a text file and write text to it using the StreamWriter class, which is defined in the System.IO namespace. StreamWriter Конструктор принимает имя создаваемого файла. The StreamWriter constructor takes the name of the file to be created. Если файл существует, он перезаписывается (Если передается значение false как второй StringWriter аргумент конструктора). If the file exists, it is overwritten (unless you pass True as the second StringWriter constructor argument).

Файл реализуется с помощью Write и WriteLine функции. The file is then filed using the Write and WriteLine functions.

Ссылка на основную публикацию
Протокол udp используется для
Чем отличается протокол TCP от UDP, простым языком Чем отличается протокол TCP от UDP, простым языком Чем отличается протокол TCP...
Программа для windows телевизор
Популярный проигрыватель для компьютера, который воспроизводит фильмы, аудио с множества телевизионных спутниковых каналов. Он проигрывает медиа в высоком качестве и...
Программа для айфона где находится человек
Современные телефоны iPhone – элегантные, многофункциональные и дорогостоящие устройства, которые пользуются высокой популярностью. И не только у покупателей, но и...
Протокол интернета версии 4 byfly
Главная Новости Рекомендации пользователям Настройка оборудования и ПО "Мультискрин" от Ростелеком Настройки маршрутизаторов для FTTB Технология FTTC (VDSL) Настройки ADSL...
Adblock detector