ПОНЯТНО О Visual Basic NET (том 3)

         

Работаем и с документами RTF и текстовыми файлами (txt)


В поле RichTextBox мы можем загружать не только RTF-файлы, но и обычные текстовые файлы с расширением txt. Более того, мы можем сохранять содержимое поля RichTextBox не только в RTF-файлы, но и в обычные текстовые файлы с расширением txt. В последнем случае, конечно, все форматирование будет потеряно.

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

Private Sub Открыть_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Открыть.Click

        OpenFileDialog1.Filter = "Текстовые файлы|*.txt|RTF-файлы|*.RTF"

        If OpenFileDialog1.ShowDialog() = DialogResult.Cancel Then Exit Sub

        Dim Файл As String = OpenFileDialog1.FileName

        If Файл.EndsWith(".RTF") Or Файл.EndsWith(".rtf") Then

            RTB.LoadFile(Файл)

        ElseIf Файл.EndsWith(".TXT") Or Файл.EndsWith(".txt") Then

            RTB.LoadFile(Файл, RichTextBoxStreamType.PlainText)

        Else

            MsgBox("Не могу открыть файл такого формата")

        End If



End Sub

Private Sub Сохран_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Сохран.Click

        SaveFileDialog1.Filter = "Текстовые файлы|*.txt|RTF-файлы|*.RTF"

        If SaveFileDialog1.ShowDialog() = DialogResult.Cancel Then Exit Sub

        Dim Файл As String = SaveFileDialog1.FileName

        If Файл.EndsWith(".RTF") Or Файл.EndsWith(".rtf") Then

            RTB.SaveFile(Файл)

        ElseIf Файл.EndsWith(".TXT") Or Файл.EndsWith(".txt") Then

            RTB.SaveFile(Файл, RichTextBoxStreamType.PlainText)

        Else

            MsgBox("Не хочу сохранять файл с таким расширением")

        End If

End Sub

Пояснения: Обе процедуры сделаны одинаково. В обеих оператор If анализирует расширение файла и если это RTF-файл, то открытие или сохранение идет при помощи уже известных нам вариантов методов LoadFile или SaveFile с одним параметром. Если же это текстовый файл с расширением txt, то открытие или сохранение идет при помощи другого варианта методов LoadFile или SaveFile, а именно варианта с двумя параметрами. Второй параметр уточняет, какого типа текст содержится в файле. Этот тип является значением перечисления RichTextBoxStreamType. Для обычного текста это значение –  PlainText («простой текст»).

Ну вот, пожалуй, и достаточно о RichTextBox. В остальных многочисленных его свойствах и методах вы при необходимости сможете разобраться сами.



Содержание раздела