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

       

Простейший текстовый редактор


Создадим простейший текстовый редактор. Для этого разместим на форме текстовое поле, две кнопки и элементы управления SaveFileDialog и OpenFileDialog. Текстовое поле сделаем многострочным и снабдим его вертикальной полосой прокрутки (см. 3.4.2). В работе наш проект должен выглядеть так, как на Рис. 20.2.

Рис. 20.2

В текстовое поле мы вводим произвольный текст, затем нажатием на кнопку Сохранить помещаем на экран диалоговое окно сохранения файла, после чего обычным образом выбираем в нем произвольный текстовый файл (с расширением txt) из уже существующих или вводим обычным образом в диалоговое окно имя нового текстового файла и весь текст из текстового поля записываем в него.

Аналогично нажатием на кнопку Открыть помещаем на экран диалоговое окно открытия файла, затем обычным образом выбираем в нем произвольный текстовый файл (с расширением txt) и весь текст из него открываем в текстовом поле. После чего редактируем текст и снова сохраняем.

Вот программа:

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

        SaveFileDialog1.ShowDialog()                                        'Показать диалоговое окно сохранения файла

        Dim Файл As String = SaveFileDialog1.FileName           'Это имя файла выбрано из диалогового окна

        Dim Запись As New System.IO.StreamWriter(Файл)        'Открываем выбранный файл для записи

        'Запись всего текста из текстового поля  в выбранный файл:

        Запись.Write(TextBox1.Text)

        Запись.Close()                                                                'Закрываем файл



End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        OpenFileDialog1.ShowDialog()                                        'Показать диалоговое окно открытия файла

        Dim Файл As String = OpenFileDialog1.FileName          'Это имя файла выбрано из диалогового окна

        Dim Чтение As New System.IO.StreamReader(Файл)     'Открываем выбранный файл для чтения


        ' Считывание всего текста из выбранного файла в текстовое поле:

        TextBox1.Text = Чтение.ReadToEnd

        Чтение.Close()                                                               'Закрываем файл

End Sub

Пояснения: На операторе

        SaveFileDialog1.ShowDialog()                                        'Показать диалоговое окно сохранения файла

появляется диалоговое окно сохранения файла, программа останавливается и ждет. Мы выбираем в окне какой-нибудь текстовый файл или вводим в поле окна File name имя нового текстового файла и нажимаем на кнопку Save диалогового окна. После нажатия окно пропадает, имя файла из окна File name вместе с адресом этого файла на диске становится значением свойства FileName объекта SaveFileDialog1 и программа продолжает работу.

Мы привыкли, что в приложениях Windows, таких как, скажем, Word или Paint, после нажатия на кнопку Save файл сохраняется сам собой, безо всяких хлопот с нашей стороны. В VB же, конечно, ничего подобного нет. Чтобы сохранить файл, нужно приложить небольшие усилия:

Следующим оператором

        Dim Файл As String = SaveFileDialog1.FileName            'Это имя файла выбрано из диалогового окна

мы исключительно для дальнейшего удобства создаем переменную Файл, получающую значение имени файла с его адресом.

Свойство Text текстового поля рассматривается как одна длинная строка, поэтому оператор

        Запись.Write(TextBox1.Text)

записывает все содержимое текстового поля, включая невидимые символы возврата каретки, в файл. Вот теперь файл сохранен.

Аналогично работает окно открытия файла. При нажатии кнопки Открыть появляется диалоговое окно открытия файла, программа останавливается и ждет. Мы выбираем в окне какой-нибудь текстовый файл и нажимаем на кнопку Open диалогового окна. После нажатия окно пропадает, имя файла из окна File name вместе с адресом этого файла на диске становится значением свойства FileName объекта OpenFileDialog1 и программа продолжает работу.

Мы привыкли, что в приложениях Windows после нажатия на кнопку Open открываемый файл становится безо всяких хлопот с нашей стороны виден нам в каком-нибудь окне. В VB этого нет. Чтобы увидеть файл, нужно постараться. В нашем случае оператор

        TextBox1.Text = Чтение.ReadToEnd

считывает в текстовое поле как единую строку все содержимое файла, включая невидимые символы возврата каретки. На Рис. 20.2 вы видите проект сразу же после открытия файла. Вот теперь мы файл увидели.

Что делать, если вы нажали на кнопку Cancel или на крестик в правом верхнем углу окна, написано в следующем подразделе.

Итак, наш текстовый редактор работает.


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