Практическая работа № 14. Написание программ для выполнения операций с файлами.




 

Объём учебного времени – 2ч

 

Методические рекомендации

1. Цель работы: Научиться работать с файлами средствами языка программирования С++.

2. Перечень необходимых средств обучения:

 

2.1 Технические средства обучения:

- Компьютер Core i3 3.0, 2 Gb оперативной памяти, винчестер 250 Gb, DVD

2.2 Программное обеспечение:

- Программа ОС Windows XP/7;

- Антивирусные программы: Kaspersky AntiVirus;

- MS Office (MS Visio 2010, MS Access 2010)

- Браузер Internet Explorer;

- Интегрированная среда программирования MS Visual Studio 2010.

3. Основные теоретические положения:

Функции (методы) манипулирования каталогами и файлами принадлежат пространству имен System::IO. При выполнении операций с каталогами и файлами возможны исключения (di — объект типа DirectoryInfo, fi — объект типа FileInfo, sr — объект типа StreamReader, sw — объект типа StreamWriter).

Функция (метод) Результат (значение)
DirectoryInfo (Path) Создает объект типа DirectoryInfo, соответствующий каталогу, заданному параметром Path
di->GetFiles(fn) Формирует список файлов каталога — массив объектов типа FileInfо
  Каждый элемент массива соответствует файлу каталога, заданного объектом di (тип DirectoryInfo). Параметр fn задает критерий отбора файлов
di->Exists Проверяет, существует ли в системе каталог. Если каталог существует, то значение функции равно true, в противном случае — false
di->Create(dn) Создает каталог. Если путь к новому каталогу указан неправильно, возникает исключение
fi->CopyTo(Path) Копирует файл, заданный объектом fi (тип FileInfo), в каталог и под именем, заданным параметром Path. Значение метода — объект типа FileInfo, соответствующий файлу, созданному в результате копирования
fi->MoveTo(Path) Перемещает файл, заданный объектом fi (тип FileInfo), в каталог и под именем, заданным параметром Path
fi->Delete() Уничтожает файл, соответствующий объекту fi (тип FileInfo)
StreamReader(fn) Создает и открывает для чтения поток, соответствующий файлу, заданному параметром fn. Значение метода — объект типа StremReader. Поток открывается для чтения в формате UTF-8
StreamReader (fn, encd) Создает и открывает для чтения поток, соответствующий файлу, заданному параметром fn. Значение метода — объект типа StremReader
  Поток открывается для чтения в кодировке, заданной параметром encd (объект типа System::Text::Encoding). Для чтения текста в кодировке Windows 1251 параметр encd необходимо инициализировать значением System::Text::Encoding:: GetEncoding(1251)
sr->Read() Читает символ из потока sr (объект типа StremReader). Значение метода — код символа
sr->Read(buf, p, n) Читает из потока sr (объект типа StremReader) символы и записывает их в массив символов buf (тип Char). Параметр p задает номер элемента массива, в который будет помещен первый прочитанный символ, параметр n — количество символов, которое нужно прочитать
sr->ReadToEnd() Читает весь текст из потока sr (объект типа StremReader). Значение метода — прочитанный текст
sr->ReadLine() Читает строку из потока sr (объект типа StremReader). Значение метода — прочитанная строка
StreamWriter(fn) Создает и открывает для записи поток, соответствующий файлу, заданному параметром fn. Значение метода — объект типа StremWriter. Поток открывается для записи в формате (кодировке) UTF-8
StreamWriter (fn,a,encd) Создает и открывает для записи поток, соответствующий файлу, заданному параметром fn. Значение метода — объект типа StremWriter
  Поток открывается для записи в кодировке, заданной параметром encd (объект типа System::Text::Encoding). Для записи текста в кодировке Windows 1251 параметр encd необходимо инициализировать значением System::Text::Encoding:: GetEncoding(1251). Параметр a задает режим записи: true — добавление в файл, false — перезапись
sw->Write(v) Записывает в поток sw (объект типа StreamWriter) строку символов, соответствующую значению v. В качестве v можно использовать выражение строкового или числового типа
sw->WriteLine(v) Записывает в поток sw (объект типа StreamWriter) строку символов, соответствующую значению v, и символ "новая строка". В качестве v можно использовать выражение строкового или числового типа
sw->WriteLine Записывает в поток sw (объект типа StreamWriter) символ "новая строка"
s->Close() Закрывает поток s

 

4. Практические указания:

 

4.1 Разработать программное приложение демонстрирующее создание текстового файла, содержащего информацию о текущем курсе доллара.

4.2 Откройте программу Visual Studio 2010 Professional

4.3 Создайте новый проект Windows Form Application (Visual C++).

4.4 Переименуйте заголовок формы на имя вашего приложения: USD (курс ЦБ РФ).

4.5 Создайте форму следующего вида:

 

 

4.6 На форме содержатся следующие элементы:

ü Для ввода даты – компонент DateTimePicker,

ü Текстовое поле – textBox1,

ü Кнопка Добавить – button1.

4.7 В конструктор формы добавьте следующие команды:

public:

Form1(void)

{

InitializeComponent();

//

button1->Enabled=false;

//

}

 

4.8 Напишите процедуру для обработки события нажатия клавиши в поле редактирования textBox1.

private: System::Void textBox1_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e)

 

ü Если нажата клавиша из диапазона цифр (от 0 до 9), то разрешить их ввод;

ü Если нажата клавиша “.”, то вывести символ “,”;

ü Выполнить проверку: в поле редактирования не может быть больше одной запятой и запятая не может быть первым символом;

ü Если нажата клавиша Enter установить курсор на кнопку OK;

ü Остальные символы запретить.

 

4.9 Напишите процедуру для обработки изменения содержимого в поле редактирования.

 

private: System::Void textBox1_TextChanged(System::Object^ sender, System::EventArgs^ e)

 

ü Если в текстовое поле textBox1 не введены данные, то кнопка Добавить не доступна, в противном случае –доступна.

 

4.10 Напишите процедуру, выполняемую по щелчку на кнопке Добавить.

ü Введите переменную kurs типа данных Double;

ü Введите переменную date типа данных DateTime;

ü В переменную date получите значение из DateTimePicker;

ü В переменную kurs получите преобразование строкового значения textBox1.Text;

ü Получите информацию о файле:

 

System::IO::FileInfo^fi=



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2018-12-19 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: