Работа с файлами
Для работы с файлами необходимо создать соответствующие функции. Они должны быть описаны в определенном месте листинга, а именно после заголовка Required designer variable – Переменные для разработчика.
private:
/// <summary>
/// Required designer variable.
В данном примере создаются две функции:
1) функция открытия файла <имя>.rtf и вывода содержимого файла на экран LoadMyFile.
void LoadMyFile()
{
//функция открытия файла и вывода его на экран
// Создание запроса OpenFileDialog для открытия файла.
OpenFileDialog^ openFile1 = gcnew OpenFileDialog;
// Инициализация OpenFileDialog для RTF файлов.
openFile1->DefaultExt = "*.rtf";
openFile1->Filter = "RTF Files|*.rtf";
// Реализация выбора файла из OpenFileDialog.
if ( openFile1->ShowDialog() == System::Windows::Forms::DialogResult::OK &&
openFile1->FileName->Length > 0 )
{
// Загрузка содержимого файла в RichTextBox.
richTextBox1->LoadFile(openFile1->FileName, RichTextBoxStreamType::
PlainText );
}
else MessageBox::Show("Open file error");
}
2) функция сохранения текста, набранного в окне редактора текста в файле <имя>.rtf – SaveMyFile.
void SaveMyFile()
{
// Вызов SaveFileDialog для запроса пути и имени файла,чтобы сохранить
//содержимое из редактора текста в выбранном файле.
SaveFileDialog^ saveFile1 = gcnew SaveFileDialog;
// Инициализация SaveFileDialog спецификации - RTF расширения для файла.
saveFile1->DefaultExt = "*.rtf";
saveFile1->Filter = "RTF Files|*.rtf";
// Determine if the user selected a file name from the saveFileDialog.
if ( saveFile1->ShowDialog() == System::Windows::Forms::DialogResult::OK &&
saveFile1->FileName->Length > 0 )
{
// Сохранение содержимого окна RichTextBox в файле.
richTextBox1->SaveFile( saveFile1->FileName, RichTextBoxStreamType::PlainText );
}
else MessageBox::Show("Open file error");
}
Фильтр для выбора типа файла в диалоге
В режиме «Форма» неоходимо выделить, например, OpenFileDialog и открыть, как было описано ранее, окно Properties. В строке Filter в пустое поле необходимо вписать строку, определяющую тип файла, который будет открываться в диалоге. Например:
"Text files (*.txt)|*.txt|All files (*.*)|*.*".
Тоже надо сделать и для сохранения файла – SaveFileDialog.