Разработка приложения My WordPad
Процедура присваивает переменную PrintPageSettings свойству DefaultPageSettings объекта PrintDocument1, а затем копирует текст из объекта форматированного текста в переменную StringToPrint и открывает диалоговое окно Предварительный просмотр. Предварительный просмотр автоматически использует данные параметров страницы для отображения визуального представления документа так, как он будет… Читать ещё >
Разработка приложения My WordPad (реферат, курсовая, диплом, контрольная)
Федеральное агентство по образованию
(шифр специальности)
КУРСОВАЯ РАБОТА
по дисциплине Технология разработки программных продуктов Тема: Разработка приложения My WordPad
СПЭК 230 105.09.13
Саранск
- Введение
- 1. Постановка задачи
- 2. Разработка проекта
- 2.1 Диаграмма классов
- 2.2 Диаграмма последовательностей
- 3. Описание выполнения задания
- 3.1 Создание формы
- 3.2 Добавление объектов
- 3.3 Программный код
- 4. Верификационные требования
- Заключение
- Список использованных источников
- Приложения
При работе с любой программой возникает необходимость работы с данными, организованными в виде файлов. Различают три типа файлов:
1. Текстовые файлы последовательного доступа: состоят из строк разной длины, отделенных друг от друга двумя символами: переход на другую строку и возврат каретки.
2. Текстовые файлы произвольного доступа: представляют собой набор записей одинаковой длины.
3. Нетипизированные файлы представляют собой поток байтов, не объединенных ни в какие логические структуры.
Текстовый редактор My WordPad позволяет создавать и редактировать как простые текстовые документы, так и документы со сложным форматированием. Имеется возможность вставлять данные из других документов в документ My WordPad, добавлять текущие дату или время.
Чтобы увидеть, как будет выглядеть напечатанный документ в программе, имеется средство «Предварительный просмотр».
Для вывода документа WordPad на печать необходимо:
1. В меню Файл выбрать команду Печать.
2. На вкладке Общие установить принтер и необходимые параметры, а затем нажать кнопку Печать.
Файлы My WordPad могут сохраняться как текстовые документы, файлы в формате RTF, текстовые документы MS-DOS или документы в формате Юникод. Эти форматы обеспечивают большую гибкость при работе с другими приложениями. Документы, содержащие несколько языков, должны сохраняться в формате RTF. My WordPad автоматически сохраняет файлы в формате RTF, но можно изменить тип файла по умолчанию в любое время. В меню «Файл» необходимо выбрать команду «Сохранить как». В поле со списком «Тип файла» выбрать формат документа, который будет использоваться по умолчанию.
1. Постановка задачи
Разработать приложение My WordPad для работы с текстовыми документами и документами, содержащими форматирование. В программе предусмотреть сохранение текстовых документов, файлов в формате RTF, текстовых документов MS-DOS или документов в формате Юникод, а также открытие уже существующих текстовых файлов.
В приложении реализовать возможность добавления в документ даты или/и времени, выделенного фрагмента текста из буфера обмена, а также копирование или удаление его в буфер. Чтобы увидеть, как будет выглядеть напечатанный документ в программе, в программе должно присутствовать средство «Предварительный просмотр».
2. Разработка проекта
2.1 Диаграмма классов
Диаграмма классов служит для предоставления статистической структуры модели системы в терминологии классов объектно-ориентированного программирования. Диаграмма может отражать, в частности, различные взаимосвязи между отдельными сущностями предметной области, такими как объекты и подсистемы, а также описание их внутренней структуры и типа отношений.
Данная программа реализована на Visual Basic Net. Программным способом удобнее будет реализовать проект, если создать главную форму, на которой с помощью команд будут выбираться операции, производимые в программе и текстовый файл, который будет фиксировать и отображать эти действия.
Рис 1.2.1 — Диаграмма классов для приложения «My WordPad»
2.2 Диаграмма последовательностей
Диаграмма последовательностей используется для точного определения логики сценария. Основными элементами диаграммы являются объекты, у которых указывается линия жизни, фокус управления или активности, показаны все сигналы или потоки управления между объектами системы.
После загрузки формы пользователю предстоит возможность выбрать действие, которое он хочет выполнить. Для этого в программе реализовано меню. В зависимости от того, какие команды будет выполнять пользователь, будет производится отображение данных, сохранение данных.
Пользователь может воспользоваться не только командами меню, но и командами на панели инструментов.
Рисунок 1.2.2 Диаграмма последовательности для приложения «My WordPad"2
3. Описание выполнения задания
3.1 Создание формы
Первый этап включает в себя создание формы Windows Forms.
1. В меню Файл выделяем пункт Создать, а затем выбираем команду Проект.
2. В области Типы проектов выбираем Проекты Visual Basic.
3. В области Шаблоны выберите Приложение Windows для проектов Visual Basic.
4. Присваиваем проекту уникальное имя.
5. После присвоения имени и указания нового решения нажимаем кнопку ОК.
Visual Studio создаст проект и откроет новую форму в конструкторе форм Windows Forms.
В данном проекте существуют 7 форм: frmГлавная, frmНайти, frmЗамена, frmСправка, frmДата_Время, frmО-программе, frmНовый-документ.
3.2 Добавление объектов
Для ввода и редактирования текста располагаем на форме элемент RichTextBox — поле форматированного текста и устанавливаем свойство Text — пустой (empty), Anchor — Top, Bottom, Left, Right. Для выполнения различных действий располагаем на форме элемент MenuStrip, который содержит пункты: Файл, Правка, Вид, Вставка, Формат и Справка. Под меню располагаем панель инструментов — ToolStrip, позволяющую осуществить быстрый доступ к наиболее часто используемым пунктам меню, командам и функциям.
В нижней части формы создаем элемент — StatusStrip (строка состояния), для отображения различной информации для пользователя, а также для информирования о текущем состоянии приложения. Когда курсор находится над каким-либо элементом меню или панели инструментов, т. е. происходит событие MouseHover, в строке состояния появляется текст, содержащий информацию об этом элементе и его функциях.
Также рсполагаем на форме диалоговые окна: PrintDialog (для задания параметров печати), PrintPreviewDialog, PageSetupDialog, SaveFileDialog, OpenFileDialog, FontDialog (для выбора шрифтов, установленных операционной системой).
PrintDialog — элемент управления, который отображает диалоговое окно предварительный просмотр.
PrintPreviewDialog — отображает диалоговое окно параметры страницы.
SaveFileDialog и OpenFileDialog — элементы, предназначенные для отображения стандартных диалоговых окон открытия и сохранения файла. Как и другие невизуальные обьекты, данные элементы управления во время разработки отображаются в специальной области по формой. Для вызова того или иного диалогового окна используется метод Show Dialog ().
3.3 Программный код
Imports System.Drawing.Printing
Public Class Form1
Процедура Otkr осуществляет открытие текстового файла.
Form1.OpenFileDialog1.FilterIndex = 1
Отображаем диалоговое окно, которое запрашивает у пользователя путь. Если пользователь не отменит операцию в диалоговом окне, то с помощью функции FileOpen открываем файл и перехватываем все ошибки с помощью обработчика, очищаем текстовое поле.
If Form1. OpenFileDialog1.ShowDialog () =
Windows.Forms.DialogResult.OK Then
Try
i += 1
FileOpen (i, Form1. OpenFileDialog1.FileName, OpenMode. Input)
MyNameFile = Form1. OpenFileDialog1.FileName
Form1.Text = «»
В зависимости от быбранного типа файла изменяем свойство WordWrap текстового поля, а текст формы меняем на название открываемого файла.
If Form1. OpenFileDialog1.FilterIndex = 1 Then
Form1.RichTextBox1.WordWrap = True
ElseIf Form1. OpenFileDialog1.FilterIndex = 2 Then
Form1.RichTextBox1.WordWrap = False
End If
m = Len (MyNameFile)
Do Until Mid (MyNameFile, m, 1) = «»
Form1.Text = Mid (MyNameFile, m, 1) + Form1. Text
m = m — 1
Loop
Form1.RichTextBox1.Text = «»
Далее происходит считывание строки из файла и добавленеи каждой строки в текстовое поле до тех пор, пока не достигнем конца файла, удаление выделения текста и закрытие файла.
Do Until EOF (i)
Form1.RichTextBox1.Text = Form1. RichTextBox1. Text & LineInput (i) & vbCrLf
Form1.RichTextBox1.Select (1, 0)
Loop
k = False
Catch ex As Exception
MsgBox («Ошибка открытия файла», MsgBoxStyle. Critical)
Finally
FileClose (i)
End Try
End If
Внесенные изменения можно сохранить при помощи команд меню Сохранить и Сохранить как, либо во время закрытия документа. Для этого используется процедура Sohr.
Если файл еще ни разу не сохранялся, то отображаем SaveFileDialog, который запрашивает у пользователя путь и имя сохраняемого документа. Если пользователь не отменит операцию в диалоговом окне, то перехватываем все ошибки с помощью обработчика. FileOpen открываем файл для вывода как файл номер i, записываем значение свойства RichTextBox. Text на диск с помощью функции PrintLine. Затем закрываем этот текстовый файл.
If i = 0 Then
If Form1. SaveFileDialog1.ShowDialog () =
Windows.Forms.DialogResult.OK Then
Try
i += 1
MyNameFile = Form1. SaveFileDialog1.FileName
Form1.Text = «»
m = Len (MyNameFile)
Do Until Mid (MyNameFile, m, 1) = «»
Form1.Text = Mid (MyNameFile, m, 1) + Form1. Text
m = m — 1
Loop
FileOpen (i, Form1. SaveFileDialog1.FileName, OpenMode. Output)
PrintLine (i, Form1. RichTextBox1. Text)
k = False
Catch ex As Exception
MsgBox («Ошибка открытия файла», MsgBoxStyle. Critical)
Finally
FileClose (i)
End Try
End If
Else
FileOpen (i, MyNameFile, OpenMode. Output)
PrintLine (i, Form1. RichTextBox1. Text)
FileClose (i)
k = False
End If
Для печати документа используется команда Печать.
Try
PrintDocument1.DefaultPageSettings = PrintPageSettings
StringToPrint = RichTextBox1. Text
PrintDialog1.Document = PrintDocument1
Dim result As DialogResult = PrintDialog1. ShowDialog
If result = Windows.Forms.DialogResult.OK Then
PrintDocument1.Print ()
End If
Catch ex As Exception
MessageBox.Show (ex.Message)
End Try
Эта процедура события устанавливает параметры принтера по умолчанию для документа и, если пользователь изменил текст в объекте форматированного текста, присваивает содержимое объекта RichTextBox строковой переменной StringToPrint. Затем она открывает диалоговое окно Print и позволяет пользователю настроить любые параметры печати, которые можно изменить (принтер, число копий, опцию печати в файл и т. д.). если пользователь щелкнет на кнопке Ок, процедура события посылает задание печати на принтер, вызывая следующий оператор PrintDocument1. Print ().
В процедуре события PrintDocument1_PrintPage содержится код:
Dim strFormat As New StringFormat
Dim rectDraw As New RectangleF (e.MarginBounds.Left, e.MarginBounds.Top, e.MarginBounds.Width, e.MarginBounds.Height)
Dim sizeMeasure As New SizeF (e.MarginBounds.Width, e.MarginBounds.Height — PrintFont. GetHeight (e.Graphics))
strformat.Trimming = StringTrimming. Word
e.Graphics.MeasureString (StringToPrint, PrintFont, sizeMeasure, strformat, numChars, numLines)
stringForPage = StringToPrint. Substring (0, numChars)
e.Graphics.DrawString (stringForPage, PrintFont, Brushes. Black, rectDraw, strFormat)
If numChars < StringToPrint. Length Then
StringToPrint = StringToPrint. Substring (numChars)
e.HasMorePages = True
Else
e.HasMorePages = False
StringToPrint = RichTextBox1.Text
End If
Эта процедура события выполняет печать текстового документа, и делает она это, точно определяя область печати (прямоугольник области печати) на основе параметров диалогового окна Page Setup. Весь текст, который помещается в этой области, может быть распечатан обычным образом. Текст, который выходит за границы этой области, должен быть разбит на несколько строк или страниц.
Область печати определяется с помощью переменной rectDraw, которая основана на классе RectangleF. Для обрезания строк, которые выходят за границу правого поля печати, испоьзуется переменная strFormat и метод Trimming. Готовая текстовая строка печатается методом DrawString. Свойство e. HasMorePages используется для указания того, есть ли еще страницы для печати. Если страниц для печати нет, свойство HasMorePages устанавливается на значение False, и содержимое переменной StringToPrint становится равным содержимому объекта RichTextBox.
Код для создания окна Параметры страницы:
Try
PageSetupDialog1.PageSettings = PrintPageSettings
PageSetupDialog1.ShowDialog ()
Catch ex As Exception
MessageBox.Show (ex.Message)
End Try
Переменная PrintPageSettings хранит информацию об определении текущей страницы. Когда она присваивается свойству PageSettings объекта PageSetupDialog1, метод ShowDialog автоматически загружает диалоговое окно, которое позволяет пользователю изменить ориентацию страницы, поелей и другие параметры страницы.
Код для создания окна Предварительный просмотр:
Try
PrintDocument1.DefaultPageSettings = PrintPageSettings
StringToPrint = RichTextBox1. Text
PrintPreviewDialog1.Document = PrintDocument1
PrintPreviewDialog1.ShowDialog ()
Catch ex As Exception
MessageBox.Show (ex.Message)
End Try
Процедура присваивает переменную PrintPageSettings свойству DefaultPageSettings объекта PrintDocument1, а затем копирует текст из объекта форматированного текста в переменную StringToPrint и открывает диалоговое окно Предварительный просмотр. Предварительный просмотр автоматически использует данные параметров страницы для отображения визуального представления документа так, как он будет напечатан — не требуется отображать эту информацию вручную.
программный код файл документ wordpad
4. Верификационные требования
При загрузке формы команда «Найти далее» меню Правка должна быть недоступна, так как она не может выполняться, пока не будет выполнена команда «Найти». При щелчке по этой команде меню вызывается форма frmНайти, которая содержит текстовое поле и две кнопки: «Отмена» и «Найти далее». При щелчке по кнопке «Найти далее» выполняется код:
txt = Form8. TextBox1. Text
Form1.НайтиДалееToolStripMenuItem.Enabled = True
При закрытии приложения, создании нового документа или открытии другого, если внесенные изменения не были сохранены, появляется диалоговое окно, предлагающее пользователю сохранить изменения. Если пользователь нажал кнопку Yes, то выполняется следующий код:
If k = True Then
rez = MsgBox («Сохранить изменеия файла «& Me. Text & «?», vbQuestion + vbYesNoCancel)
If rez = MsgBoxResult. Yes Then
If i = 0 Then
SaveFileDialog1.FileName = Me. Text
If SaveFileDialog1. ShowDialog () = Windows.Forms.DialogResult.OK Then
Try
i += 1
FileOpen (i, SaveFileDialog1. FileName, OpenMode. Output)
PrintLine (i, RichTextBox1. Text)
Catch ex As Exception
MsgBox («Ошибка открытия файла», MsgBoxStyle. Critical)
Finally
FileClose (i)
End Try
Else
e.Cancel = True
End If
При открытии, сохранении файла происходит перехват ошибок. Если происходит исключение, то появляется сообщение об ошибке.
Заключение
В результате проделанной работы было создано приложение для работы с текстовыми документами. Текстовый редактор My WordPad позволяет создавать и редактировать как простые текстовые документы, так и документы со сложным форматированием. Имеется возможность вставлять данные из других документов в документ My WordPad, добавлять текущие дату или время.
Рекомендуемые системные требования:
ОС Microsoft Windows XP Professional SP2
Процессор AMD Sempron 1,1 ГГц ОЗУ 256 Мб Видеоадаптер RADEON 7000 Series
Минимальные системные требования:
ОС Windows NT
Процессор AMD Celeron 700 Гц Видеоадаптер GeForce 5200
ОЗУ 64 Мб
Список использованных источников
1. Майкл Хальворсон Visual Basic.NET: Шаг за шагом/ Майкл Хальворсон — Москва: СП ЭКОМ, 2004 — 672 с.
2. Ляхович В. Ф. Основы информатики
3. Рудаков А. В., Технология разработки программных продуктов: Учебное пособие для студентов среднего профессионального образования. — М.: Издательский цент «Академия», 2005 г. — 208с.
4. Культин Н. «Visual Basic: Освой на примерах «, Санкт — Петербург, 2004 г. — 325с.
5. Разработка Windows приложений на Microsoft Visual Basic .NET и Microsoft Visual C# .NET. Учебный курс MCAD/MCSD/ Пер. с англ. — М.: «Русская редакция», 2003 — 512 с.
6. Джеймс Фокселл Освой самостоятельно Visual Basic.NET за 24 часа/ Джеймс Фокселл — Москва: Вильямс, 2002 — 416 с.
7. Интернет — ресурс www 5balov.ru.
8. Литвиненко Т. В Visual Basic 6.: учебное пособие для студентов вузов.
9. Симонович С., Евсеев Г., Алексеев А. Специальная информатика. Практическая информатика. Учебное пособие.
10. Рамбо Дж., Якобсон А., Буч Г., UML: специальный справочник. — СПб.: Питер, 2002.-656 с.: ил.
Приложение
Программный код
Imports System.Drawing.Printing
Public Class Form1
Dim data As IDataObject = Clipboard. GetDataObject ()
Dim PrintPageSettings As New PageSettings
Dim StringToPrint As String
Dim PrintFont As New Font («Arial», 10)
Dim numChars As Integer
Dim numLines As Integer
Dim stringForPage As String
Dim rez As MsgBoxResult
Private Sub Form1_FormClosing (ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me. FormClosing
If k = True Then
rez = MsgBox («Сохранить изменеия файла » & Me. Text & «?», vbQuestion + vbYesNoCancel)
If rez = MsgBoxResult. Yes Then
If i = 0 Then
SaveFileDialog1.FileName = Me. Text
If SaveFileDialog1. ShowDialog () = Windows.Forms.DialogResult.OK Then
Try
i += 1
FileOpen (i, SaveFileDialog1. FileName, OpenMode. Output)
PrintLine (i, RichTextBox1. Text)
Catch ex As Exception
MsgBox («Ошибка открытия файла», MsgBoxStyle. Critical)
Finally
FileClose (i)
End Try
Else
e.Cancel = True
End If
ElseIf i <> 0 Then
FileOpen (i, MyNameFile, OpenMode. Output)
PrintLine (i, RichTextBox1. Text)
FileClose (i)
End If
ElseIf rez = MsgBoxResult. Cancel Then
e.Cancel = True
End If
End If
End Sub
Private Sub Form1_Load (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles MyBase. Load
Me.OpenFileDialog1.Filter = «Файлы RTF (*.rtf)|*rtf|Текстовые документы(*.txt)|*.txt|Документ Word для Windows (*.doc)|*.doc|Windows Write (*.wri)|*.wri|Текстовые документы MS-DOS (*.txt)|*.txt|Текстовый документ в Юникоде(*.txt)|txt|Все документы(*.*)|*.*»
Me.SaveFileDialog1.Filter = «Файлы RTF (*.rtf)|*rtf|Текстовые документы(*.txt)|*.txt|Текстовый документ в Юникоде(*.txt)|txt»
Me.Text = «Document»
RichTextBox1.WordWrap = True
i = 0 : k = False
Dim data As IDataObject = Clipboard. GetDataObject ()
НайтиДалееToolStripMenuItem.Enabled = False
End Sub
Private Sub ВыходToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles ВыходToolStripMenuItem.Click
If k = True Then
rez = MsgBox («Сохранить изменеия файла » & Me. Text & «?», vbQuestion + vbYesNoCancel)
If rez = MsgBoxResult. Yes Then
If i = 0 Then
SaveFileDialog1.FileName = Me. Text
If SaveFileDialog1. ShowDialog () = Windows.Forms.DialogResult.OK Then
Try
i += 1
FileOpen (i, SaveFileDialog1. FileName, OpenMode. Output)
PrintLine (i, RichTextBox1. Text)
Catch ex As Exception
MsgBox («Ошибка открытия файла», MsgBoxStyle. Critical)
Finally
FileClose (i)
End Try
Else
Exit Sub
End If
End
ElseIf i <> 0 Then
FileOpen (i, MyNameFile, OpenMode. Output)
PrintLine (i, RichTextBox1. Text)
FileClose (i)
End If
End
ElseIf rez = MsgBoxResult. Cancel Then
Exit Sub
ElseIf rez = MsgBoxResult. No Then
End
End If
Else
End
End If
End Sub
Private Sub RichTextBox1_KeyPress (ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
k = True
End Sub
Private Sub ОткрытьToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles ОткрытьToolStripMenuItem.Click
If k = False Then Otkr ()
If k = True Then
rez = MsgBox(«Сохранить изменеия файла » & Me.Text & «?» , vbQuestion + vbYesNoCancel)
If rez = MsgBoxResult. Yes Then
If i = 0 Then
SaveFileDialog1.FileName = Me. Text
If SaveFileDialog1. ShowDialog () = Windows.Forms.DialogResult.OK Then
Try
i += 1
FileOpen (i, SaveFileDialog1. FileName, OpenMode. Output)
PrintLine (i, RichTextBox1. Text)
Catch ex As Exception
MsgBox («Ошибка открытия файла», MsgBoxStyle. Critical)
Finally
FileClose (i)
End Try
End If
ElseIf i <> 0 Then
FileOpen (i, MyNameFile, OpenMode. Output)
PrintLine (i, RichTextBox1. Text)
FileClose (i)
End If
Otkr ()
ElseIf rez = MsgBoxResult. No Then
Otkr ()
End If
End If
End Sub
Private Sub СохранитьToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles СохранитьToolStripMenuItem.Click
Sohr ()
End Sub
Private Sub СохранитьКакToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles СохранитьКакToolStripMenuItem.Click
Me.SaveFileDialog1.Filter = «Файлы RTF (*.rtf)|*rtf|Текстовые документы(*.txt)|*.txt|Текстовый документ в Юникоде(*.txt)|txt»
SaveFileDialog1.FileName = Me. Text
If SaveFileDialog1. ShowDialog () = Windows.Forms.DialogResult.OK Then
Try
i += 1
MyNameFile = SaveFileDialog1. FileName
Me.Text = «»
m = Len (MyNameFile)
Do Until Mid (MyNameFile, m, 1) = «»
Me.Text = Mid (MyNameFile, m, 1) + Me. Text
m = m — 1
Loop
FileOpen (i, SaveFileDialog1. FileName, OpenMode. Output)
PrintLine (i, RichTextBox1. Text)
Catch ex As Exception
MsgBox («Ошибка открытия файла», MsgBoxStyle. Critical)
Finally
FileClose (i)
End Try
End If
End Sub
Private Sub ОПрограммеToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles ОПрограммеToolStripMenuItem.Click
Form4.ShowDialog ()
End Sub
Private Sub ПанельИнструментовToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles ПанельИнструментовToolStripMenuItem.Click
If ПанельИнструментовToolStripMenuItem.CheckState = CheckState. Checked Then
ToolStrip1.Visible = True
ElseIf ПанельИнструментовToolStripMenuItem.CheckState = CheckState. Unchecked Then
ToolStrip1.Visible = False
End If
End Sub
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
RichTextBox1.SelectionFont = FontDialog1. Font
RichTextBox1.SelectionColor = FontDialog1. Color
End If
k = True
End Sub
Private Sub ПечатьToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles ПечатьToolStripMenuItem.Click
Try
PrintDocument1.DefaultPageSettings = PrintPageSettings
StringToPrint = RichTextBox1. Text
PrintDialog1.Document = PrintDocument1
Dim result As DialogResult = PrintDialog1. ShowDialog
If result = Windows.Forms.DialogResult.OK Then
PrintDocument1.Print ()
End If
Catch ex As Exception
MessageBox.Show (ex.Message)
End Try
End Sub
Private Sub ПредварительныйПросмотрToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles ПредварительныйПросмотрToolStripMenuItem.Click
Try
'Указываем текущие параметры страницы
PrintDocument1.DefaultPageSettings = PrintPageSettings
'Указываем документ для диалогового окна предварительного просмотра
'и показываем его
StringToPrint = RichTextBox1. Text
PrintPreviewDialog1.Document = PrintDocument1
PrintPreviewDialog1.ShowDialog ()
Catch ex As Exception
'Отображаем сообщение об ошибке
MessageBox.Show (ex.Message)
End Try
End Sub
Private Sub ВырезатьToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles ВырезатьToolStripMenuItem.Click
Clipboard.SetDataObject (RichTextBox1.SelectedText)
RichTextBox1.SelectedText = «»
k = True
End Sub
Private Sub КопироватьToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles КопироватьToolStripMenuItem.Click
Clipboard.SetDataObject (RichTextBox1.SelectedText)
End Sub
Private Sub ВсToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles ВсToolStripMenuItem.Click
If (data.GetDataPresent (DataFormats.Text)) Then
If RichTextBox1. SelectedText = «» Then
RichTextBox1.Text = RichTextBox1. Text + «» + data. GetData (DataFormats.Text).ToString ()
ElseIf RichTextBox1. SelectedText <> «» Then
RichTextBox1.SelectedText = data. GetData (DataFormats.Text).ToString ()
End If
End If
k = True
End Sub
Private Sub МаркерToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles МаркерToolStripMenuItem.Click
RichTextBox1.Text = RichTextBox1. Text + Chr (149) + « »
k = True
End Sub
Private Sub ДатаИВремяToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles ДатаИВремяToolStripMenuItem.Click
Form5.ShowDialog ()
If Form5. DialogResult = Windows.Forms.DialogResult.OK Then
If RichTextBox1. SelectedText = «» Then
RichTextBox1.Text = RichTextBox1. Text + Form5. ListBox1.SelectedItem
ElseIf RichTextBox1. SelectedText <> «» Then
RichTextBox1.SelectedText = Form5. ListBox1.SelectedItem
Else
Form5.Close ()
End If
End If
k = True
End Sub
Private Sub ВызовСправкиToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles ВызовСправкиToolStripMenuItem.Click
Form6.ShowDialog ()
End Sub
Private Sub OpenToolStripButton_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles OpenToolStripButton. Click
If k = False Then Otkr ()
If k = True Then
rez = MsgBox («Сохранить изменеия файла » & Me. Text & «?», vbQuestion + vbYesNoCancel)
If rez = MsgBoxResult. Yes Then
If i = 0 Then
SaveFileDialog1.FileName = Me. Text
If SaveFileDialog1. ShowDialog () = Windows.Forms.DialogResult.OK Then
Try
i += 1
FileOpen (i, SaveFileDialog1. FileName, OpenMode. Output)
PrintLine (i, RichTextBox1. Text)
Catch ex As Exception
MsgBox («Ошибка открытия файла», MsgBoxStyle. Critical)
Finally
FileClose (i)
End Try
End If
ElseIf i <> 0 Then
FileOpen (i, MyNameFile, OpenMode. Output)
PrintLine (i, RichTextBox1. Text)
FileClose (i)
End If
Otkr ()
ElseIf rez = MsgBoxResult. No Then
Otkr ()
End If
End If
End Sub
Private Sub SaveToolStripButton_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles SaveToolStripButton. Click
Sohr()
End Sub
Private Sub CutToolStripButton_Click1(ByVal sender As System. Object, ByVal e As System. EventArgs) Handles CutToolStripButton. Click
Clipboard.SetDataObject (RichTextBox1.SelectedText)
RichTextBox1.SelectedText = «»
k = True
End Sub
Private Sub CopyToolStripButton_Click1(ByVal sender As System. Object, ByVal e As System. EventArgs) Handles CopyToolStripButton. Click
Clipboard.SetDataObject (RichTextBox1.SelectedText)
k = True
End Sub
Private Sub PasteToolStripButton_Click1(ByVal sender As System. Object, ByVal e As System. EventArgs) Handles PasteToolStripButton. Click
If (data.GetDataPresent (DataFormats.Text)) Then
If RichTextBox1. SelectedText = «» Then
RichTextBox1.Text = RichTextBox1. Text + «» + data. GetData (DataFormats.Text).ToString ()
ElseIf RichTextBox1. SelectedText <> «» Then
RichTextBox1.SelectedText = data. GetData (DataFormats.Text).ToString ()
End If
End If
k = True
End Sub
Private Sub HelpToolStripButton_Click1(ByVal sender As System. Object, ByVal e As System. EventArgs) Handles HelpToolStripButton. Click
Form6.ShowDialog ()
End Sub
Private Sub ОчиститьToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles ОчиститьToolStripMenuItem.Click
RichTextBox1.SelectedText = «»
End Sub
Private Sub ВыделитьВсеToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles ВыделитьВсеToolStripMenuItem.Click
RichTextBox1.SelectAll ()
End Sub
Private Sub НайтиToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles НайтиToolStripMenuItem.Click
Form8.Show ()
End Sub
Private Sub ЗаменитьToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles ЗаменитьToolStripMenuItem.Click
Form9.Show()
End Sub
Private Sub НайтиДалееToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles НайтиДалееToolStripMenuItem.Click
If l = True Then
1: If j <= Len (RichTextBox1.Text) Then
If Mid (RichTextBox1.Text, j, Len (txt)) = txt Then
RichTextBox1.Select (j — 1, Len (txt))
j = j + Len (txt)
Else
Do Until j > Len (RichTextBox1.Text) Or Mid (RichTextBox1.Text, j, Len (txt)) = txt
j = j + 1
Loop
RichTextBox1.Select (j — 1, Len (txt))
j = j + Len (txt)
End If
ElseIf j > Len (RichTextBox1.Text) Then
MsgBox («Поиск завершен,начать снова?», MsgBoxStyle. Information + MsgBoxStyle. YesNo, «My WordPad»)
If MsgBoxResult. Yes Then
j = 1
GoTo 1
End If
End If
2: ElseIf l = False Then
If j <= Len (RichTextBox1.Text) Then
If StrComp (Mid (RichTextBox1.Text, j, Len (txt)), txt, CompareMethod. Text) = 0 Then
RichTextBox1.Select (j — 1, Len (txt))
j = j + Len (txt)
Else
Do Until j > Len (RichTextBox1.Text) Or StrComp (Mid (RichTextBox1.Text, j, Len (txt)), txt, CompareMethod. Text) = 0
j = j + 1
Loop
RichTextBox1.Select (j — 1, Len (txt))
j = j + Len (txt)
End If
ElseIf j > Len (RichTextBox1.Text) Then
MsgBox («Поиск завершен,начать снова?», MsgBoxStyle. Information + MsgBoxStyle. YesNo, «My WordPad»)
If MsgBoxResult. Yes Then
j = 1
GoTo 2
End If
End If
End If
End Sub
Private Sub PrintToolStripButton_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles PrintToolStripButton. Click
Try
PrintDocument1.DefaultPageSettings = PrintPageSettings
StringToPrint = RichTextBox1. Text
PrintDialog1.Document = PrintDocument1
Dim result As DialogResult = PrintDialog1. ShowDialog
If result = Windows.Forms.DialogResult.OK Then
PrintDocument1.Print ()
End If
Catch ex As Exception
MessageBox.Show (ex.Message)
End Try
End Sub
Private Sub PrintDocument1_PrintPage (ByVal sender As System. Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1. PrintPage
Dim strFormat As New StringFormat
Dim rectDraw As New RectangleF (e.MarginBounds.Left, e.MarginBounds.Top, e.MarginBounds.Width, e.MarginBounds.Height)
Dim sizeMeasure As New SizeF (e.MarginBounds.Width, e.MarginBounds.Height — PrintFont. GetHeight (e.Graphics))
strformat.Trimming = StringTrimming. Word
e.Graphics.MeasureString (StringToPrint, PrintFont, sizeMeasure, strformat, numChars, numLines)
stringForPage = StringToPrint. Substring (0, numChars)
e.Graphics.DrawString (stringForPage, PrintFont, Brushes. Black, rectDraw, strFormat)
If numChars < StringToPrint. Length Then
StringToPrint = StringToPrint. Substring (numChars)
e.HasMorePages = True
Else
e.HasMorePages = False
StringToPrint = RichTextBox1. Text
End If
End Sub
Private Sub ПараметрыСтраницыToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles ПараметрыСтраницыToolStripMenuItem.Click
Try
'Загружаем параметры страницы и отображаем диалоговое окно
'параметров страницы
PageSetupDialog1.PageSettings = PrintPageSettings
PageSetupDialog1.ShowDialog ()
Catch ex As Exception
'Отображаем сообщение об ошибке
MessageBox.Show (ex.Message)
End Try
End Sub
Private Sub ОткрытьToolStripMenuItem_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles ОткрытьToolStripMenuItem.MouseHover
ToolStripStatusLabel1.Text = «Открытие существующего документа»
End Sub
Private Sub СохранитьToolStripMenuItem_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles СохранитьToolStripMenuItem.MouseHover
ToolStripStatusLabel1.Text = «Сохранение активного документа»
End Sub
Private Sub СохранитьКакToolStripMenuItem_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles СохранитьКакToolStripMenuItem.MouseHover
ToolStripStatusLabel1.Text = «Сохранение активного документа под новым именем»
End Sub
Private Sub ПечатьToolStripMenuItem_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles ПечатьToolStripMenuItem.MouseHover
ToolStripStatusLabel1.Text = «Печать активного документа»
End Sub
Private Sub ПредварительныйПросмотрToolStripMenuItem_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles ПредварительныйПросмотрToolStripMenuItem.MouseHover
ToolStripStatusLabel1.Text = «Просмотр документа в полностраничном режиме»
End Sub
Private Sub ПараметрыСтраницыToolStripMenuItem_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles ПараметрыСтраницыToolStripMenuItem.MouseHover
ToolStripStatusLabel1.Text = «Изменение параметров страницы»
End Sub
Private Sub ВыходToolStripMenuItem_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles ВыходToolStripMenuItem.MouseHover
ToolStripStatusLabel1.Text = «Завершение работы приложения; сохранение документов»
End Sub
Private Sub RichTextBox1_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles RichTextBox1. MouseHover
ToolStripStatusLabel1.Text = «Для вывода справки нажмите F1»
End Sub
Private Sub ВырезатьToolStripMenuItem_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles ВырезатьToolStripMenuItem.MouseHover
ToolStripStatusLabel1.Text = «Удаление выделенного фрагмента в буфер обмена»
End Sub
Private Sub КопироватьToolStripMenuItem_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles КопироватьToolStripMenuItem.MouseHover
ToolStripStatusLabel1.Text = «Копирование выделенного фрагмента в буфер обмена»
End Sub
Private Sub ВсToolStripMenuItem_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles ВсToolStripMenuItem.MouseHover
ToolStripStatusLabel1.Text = «Вставка содержимого буфера обмена»
End Sub
Private Sub ОчиститьToolStripMenuItem_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles ОчиститьToolStripMenuItem.MouseHover
ToolStripStatusLabel1.Text = «Удаление выделенного фрагмента»
End Sub
Private Sub ВыделитьВсеToolStripMenuItem_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles ВыделитьВсеToolStripMenuItem.MouseHover
ToolStripStatusLabel1.Text = «Выделение всего текста»
End Sub
Private Sub НайтиToolStripMenuItem_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles НайтиToolStripMenuItem.MouseHover
ToolStripStatusLabel1.Text = «Поиск заданного образца текста»
End Sub
Private Sub НайтиДалееToolStripMenuItem_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles НайтиДалееToolStripMenuItem.MouseHover
ToolStripStatusLabel1.Text = «Повторение поиска»
End Sub
Private Sub ЗаменитьToolStripMenuItem_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles ЗаменитьToolStripMenuItem.MouseHover
ToolStripStatusLabel1.Text = «Замена одного текста другим»
End Sub
Private Sub ПанельИнструментовToolStripMenuItem_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles ПанельИнструментовToolStripMenuItem.MouseHover
ToolStripStatusLabel1.Text = «Вывод и скрытие панели инструментов»
End Sub
Private Sub СтрокаСостоянияToolStripMenuItem_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles СтрокаСостоянияToolStripMenuItem.MouseHover
ToolStripStatusLabel1.Text = «Вывод и скрытие строки состояния»
End Sub
Private Sub ДатаИВремяToolStripMenuItem_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles ДатаИВремяToolStripMenuItem.MouseHover
ToolStripStatusLabel1.Text = «Вставка в текст текущих даты и/или времени»
End Sub
Private Sub ШрифтToolStripMenuItem_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles ШрифтToolStripMenuItem.MouseHover
ToolStripStatusLabel1.Text = «Выбор шрифта для выделенного фрагмента текста»
End Sub
Private Sub ВызовСправкиToolStripMenuItem_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles ВызовСправкиToolStripMenuItem.MouseHover
ToolStripStatusLabel1.Text = «Вывод содержимого встроенной справки»
End Sub
Private Sub ОПрограммеToolStripMenuItem_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles ОПрограммеToolStripMenuItem.MouseHover
ToolStripStatusLabel1.Text = «Вывод сведений о программе, ее версии и авторских правах»
End Sub
Private Sub OpenToolStripButton_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles OpenToolStripButton. MouseHover
ToolStripStatusLabel1.Text = «Открытие существующего документа»
End Sub
Private Sub SaveToolStripButton_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles SaveToolStripButton. MouseHover
ToolStripStatusLabel1.Text = «Сохранение активного документа»
End Sub
Private Sub PrintToolStripButton_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles PrintToolStripButton. MouseHover
ToolStripStatusLabel1.Text = «Печать активного документа»
End Sub
Private Sub CutToolStripButton_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles CutToolStripButton. MouseHover
ToolStripStatusLabel1.Text = «Удаление выделенного фрагмента в буфер обмена»
End Sub
Private Sub CopyToolStripButton_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles CopyToolStripButton. MouseHover
ToolStripStatusLabel1.Text = «Копирование выделенного фрагмента в буфер обмена»
End Sub
Private Sub PasteToolStripButton_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles PasteToolStripButton. MouseHover
ToolStripStatusLabel1.Text = «Вставка содержимого буфера обмена»
End Sub
Private Sub HelpToolStripButton_MouseHover (ByVal sender As Object, ByVal e As System. EventArgs) Handles HelpToolStripButton. MouseHover
ToolStripStatusLabel1.Text = «Вывод содержимого встроенной справки»
End Sub
Private Sub СтрокаСостоянияToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles СтрокаСостоянияToolStripMenuItem.Click
If СтрокаСостоянияToolStripMenuItem.CheckState = CheckState. Checked Then
ToolStripStatusLabel1.Visible = True
ElseIf СтрокаСостоянияToolStripMenuItem.CheckState = CheckState. Unchecked Then
ToolStripStatusLabel1.Visible = False
End If
End Sub
Private Sub RichTextBox1_TextChanged1(ByVal sender As System. Object, ByVal e As System. EventArgs) Handles RichTextBox1. TextChanged
k = True
End Sub
Private Sub ОтменитьToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles ОтменитьToolStripMenuItem.Click
RichTextBox1.Undo ()
End Sub
Private Sub АбзацToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles АбзацToolStripMenuItem.Click
Form10.ShowDialog ()
If Form10. DialogResult = Windows.Forms.DialogResult.OK Then
Select Case v
Case 0
RichTextBox1.SelectionAlignment = HorizontalAlignment. Left
Case 1
RichTextBox1.SelectionAlignment = HorizontalAlignment. Right
Case 2
RichTextBox1.SelectionAlignment = HorizontalAlignment. Center
End Select
End If
k = True
End Sub
Private Sub СоздатьToolStripMenuItem_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles СоздатьToolStripMenuItem.Click
If k = True Then
rez = MsgBox («Сохранить изменеия файла » & Me. Text & «?», vbQuestion + vbYesNoCancel)
If rez = MsgBoxResult. Yes Then
If i = 0 Then
SaveFileDialog1.FileName = Me. Text
If SaveFileDialog1. ShowDialog () = Windows.Forms.DialogResult.OK Then
Try
i += 1
FileOpen (i, SaveFileDialog1. FileName, OpenMode. Output)
PrintLine (i, RichTextBox1. Text)
Catch ex As Exception
MsgBox («Ошибка открытия файла», MsgBoxStyle. Critical)