Создание Windows приложений на языке Visual Basic
Обработка текстовых данных. Приложение "Блокнот"





Содержание:
  • Компоненты для обработки текстовых данных. Проект "Блокнот"
  • Главное меню программы
  • Чтение и запись текста в файл
  • Настройки шрифта

Компоненты для обработки текстовых данных. Проект "Блокнот"
Рассмотрим имеющиеся в Microsoft Visual Basic компоненты для работы с текстом. Это такие объекты как панели настройки шрифта, загрузка и запись текста на диск.
Создадим новый проект "Блокнот" и присвоим ему имя Lesson4. В проекте мы будем разрабатывать блокнот аналогичный имеющемуся в Windows.
Установим на форму объект TextBox1.



Для того чтобы сделать TextBox1 многострочным текстовым редактором, следует
в свойстве MultiLine (многострочный), установить флаг True.
При вводе и редактировании текста удобно пользоваться полосами прокрутки, поэтому, в свойстве ScrollBars (полосы прокрутки), установим значение Both (горизонтальная и вертикальная).
Для того чтобы строки в конце листа автоматически переносились на новую строку, свойство WordWrap следует установить в True.
Для того чтобы размер листа редактора изменялся синхронно с размером окна, следует установить привязки текстового листа к сторонам окна, так называемые якоря (Ancor). Привязки следует установить ко всем сторонам, так как показано на рисунке.
Если запустить программу, то она будет выполнять своё прямое назначение - можно писать и редактировать тексты. Но у нашей программы нет основных функций, таких, например, как чтение и запись файла, настройки шрифта и тому подобное.



Главное меню программы
Для доступа к этим функциям создадим главное меню программы.
Установим вверху окна объект MenuStrip1. Ниже, под формой появится значок объекта.



Для создания пунктов меню следует щёлкнуть по надписи ToolStripMenuItem1. Строка ввода станет активной, введём в неё надпись "Файл"



Далее, создадим ещё три пункта - "Создать", "Открыть" и "Сохранить".



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

Private Sub СоздатьToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles СоздатьToolStripMenuItem.Click
   TextBox1.Clear()
End Sub

Здесь строка TextBox1.Clear() означает, что нужно просто очистить TextBox1 от текста, то есть создать новый файл.



Чтение и запись текста в файл
Далее, для создания опций меню "Открыть" и "Сохранить" следует установить на форму два объекта. На панели Tools (инструменты), в разделе Dialogs, следует выбрать объекты OpenFileDialog и SaveFileDialog, и установить эти объекты на дополнительной панели формы.



Для того чтобы можно было записывать или открывать только текстовые файлы, в свойствах объектов OpenFileDialog1 и SaveFileDialog1 в строке Filter следует ввести строку, показанную на рисунке, а поле FileName очистить.



Выберем опцию меню "Открыть" и двойным щелчком создадим событие на открытие файла:

Private Sub ОткрытьToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ОткрытьToolStripMenuItem.Click
    If OpenFileDialog1.ShowDialog = DialogResult.OK Then TextBox1.Text = IO.File.ReadAllText(OpenFileDialog1.FileName)
End Sub

Допишем строку, выделенную синим цветом. Рассмотрим подробно, что означают команды в строке:
If OpenFileDialog1.ShowDialog = DialogResult.OK Then - Если нажата кнопка ОК (Открыть) в файловом менеджере, то ...
TextBox1.Text = IO.File.ReadAllText(OpenFileDialog1.FileName) - Присваиваем тексту в TextBox1 содержимое файла выбранного в файловом менеджере.

Выберем опцию меню "Сохранить" и двойным щелчком создадим событие на сохранение текста в файле. Аналогично, допишем в событие строку, выделенную синим цветом:

Private Sub СохранитьToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles СохранитьToolStripMenuItem.Click
    If SaveFileDialog1.ShowDialog = DialogResult.OK Then IO.File.WriteAllText(SaveFileDialog1.FileName, TextBox1.Text, System.Text.Encoding.Default)
End Sub

Рассмотрим подробно, что означают команды в строке:
If SaveFileDialog1.ShowDialog = DialogResult.OK Then - Если нажата кнопка ОК (Сохранить) в файловом менеджере, то ...
IO.File.WriteAllText(SaveFileDialog1.FileName, TextBox1.Text, System.Text.Encoding.Default) - сохраняем текст в файле с заданным именем (FileName) с кодировкой текста по умолчанию. Если нужно сохранить текст с кодировкой, например UTF8, то следует записать - System.Text.Encoding.UTF8.



Настройки шрифта
Создадим ещё один пункт главного меню "Шрифт". Для работы с настройками шрифта блокнота нам понадобится объект FontDialog1.



Создадим событие на пункте "Шрифт" и добавим в него строку, выделенную синим:

Private Sub ШрифтToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ШрифтToolStripMenuItem.Click
    If FontDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then TextBox1.Font = FontDialog1.Font
    End If
End Sub

Синяя строка означает следующее: если на панели настройки шрифта (FontDialog1) выбран подходящий шрифт, и нажата кнопка ОК, то выбранный шрифт и его атрибуты присваиваются текстовому полю TextBox1.












   ©Гуков Константин Михайлович 2006 - 2013     Почта: [email protected]