Печать исходного текста программы

Вряд ли вам удастся запомнить все свойства различных форм и элементов. Чтобы узнать их значения, можно поочередно открыть каждую форму и щелкнуть на каждом элементе с открытым окном свойств. Впрочем, это займет немало времени. Нет ли более удобного способа для получения списка всех объектов, свойств и программного кода? Попробуйте воспользоваться командой File > Print. Диалоговое окно Print, открывающееся при выполнении этой программы, показано на рис. 9.18.

 

Рис. 9.18. Диалоговое окно Print

 

Диалоговое окно Print

Диалоговое окно Print содержит несколько параметров, разделенных на две основные группы: Range и Print What. Группа Range объединяет переключатели Selection, Current Module и Current Project, o которых рассказывается ниже.

 

Selection

Печатается только фрагмент кода, выделенный в окне программы.

 

Current Module

Печатается информация о форме, с которой вы в настоящий момент работаете в окне конструктора. Печатаемая информация зависит от состояния флажков в группе Print What (см. далее). В проекты могут входить и другие модули, помимо модулей форм; если такой модуль является текущим, на печать выводится его код.

 

Current Project

Переключатель выводит информацию о всех модулях форм, входящих в проект. К ней добавляется информация о всех остальных модулях (стандартных и модулях классов). И снова состав печатаемых данных зависит от состояния флажков в группе Print What.

Группа Print What диалогового окна Print содержит флажки Form Image, Form As Text и Code, описанные в ближайших разделах.

 

 

Form Image

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

 

ПОДСКАЗКА Если вам захочется узнать, как это делается (например, вы захотите вставить изображение формы в справочный файл или руководство пользователя), попробуйте скопировать окно в буфер обмена Windows. Для этого следует нажать Alt одновременно с клавишей Print Screen. Изображение, хранящееся в буфере, можно вставить в документ или сохранить в формате.BMP. Практически во всех текстовых редакторах или издательских программах, используемых при подготовке руководств, можно вставлять файлы в формате.PCX или.BMP. Чтобы поместить копию экрана в справочный файл, достаточно вставить ссылку на растровое изображение в исходный файл в формате.RTF

 

Code

Наконец, мы добрались и до традиционных листингов программ. Флажок Code печатает все процедуры событий формы и ее элементов. Если в группе PrintRan установлен переключатель Project, будут напечатаны все процедуры событий во форм и элементов вашего приложения. Флажок Code чрезвычайно полез(отладке или документировании приложений. Код упорядочивается по В листинге каждой формы процедуры упорядочиваются в алфавитном поря, свойству Name объекта. Процедуры событий форм всегда начинаются с префикса Form_, независимо от текущего значения свойства Name формы. Следовательно процедуры формы вряд ли будут выведены раньше процедур других элементов Например, процедура события cmdOK_Click будет стоять перед процедурой Form_Load. (предполагается, что на форме есть кнопка с именем cmdOK и в обоих процедурах был введен код). Если процедура события не содержит кода, пустой шаблон не выводится. Кроме процедур событий приложения Visual Basic нередко с-и другие процедуры и функции, например находящиеся в формах и стандарт модулях. Такие процедуры и функции тоже включаются в распечатку.

 

Form As Text

В листинг включаются свойства формы, а также свойства всех элементов, находя щихся на ней. Если вам потребуется воссоздать и отладить приложение, с. это по списку свойств будет гораздо проще, чем по простому изображению формы. Учтите, что листинг содержит не все свойства — иначе в сложном приложении он бы растянулся на сотню и более страниц. Выводятся лишь те свойства, для которых были изменены значения по умолчанию (обычно в их число входят Name и Caption); свойства, связанные с положением и размерами объекта (Left, Top, Height и Width); свойства, определяющие единицы измерений и систему координат (свойства Scale...); свойство TabIndex, если оно используется; и свойство LinkTopic для форм. На LinkTopic можно пока не обращать внимания. Листинг также содержит элементы меню, для которых указываются значения свойства Shortcut и расширенного свойства Caption.

 

Комментирование кода

Привыкайте комментировать свои программы. Комментарием называется текстовая строка, начинающаяся с апострофа. Он не содержит программного кода. Комментируйте наиболее сложные фрагменты своих программ, а также те места, к которым необходимо привлечь внимание читателя. Комментарии предназначены исключительно для программиста, Visual Basic игнорирует их во время выполнения приложения. Они также выводятся на печать. Иногда кажется, что комментарии излишни — вам программа кажется очевидной! Но разберутся ли в ней ваши коллеги или даже вы сами спустя несколько недель? Несколько комментариев избавят вас от многих часов утомительного труда. Особенно важно вставлять комментарии в начале и в середине самых сложных участков кода.

Чтобы включить в процедуру комментарий, введите в начале строки символ «апостроф» ('). Ниже приведен пример комментария:

 

'Строка комментария

 

Комментарии можно включать и в конец строки, в этом случае они также начинаются с апострофа:

 

cmdOK.Enabled = True ' Снимаем блокировку с кнопки OK

 

Дополнительная информация о комментариях приведена в уроке 12, «Отладка приложений».

 

Просмотр результатов

Списки свойств и листинги программ можно включать и в другие документы. Ниже приведен список свойств вместе с текстом программы из урока 5. При этом текст листинга не обязательно набирать заново — можно создать текстовый файл и вставить его в нужный документ. В этом примере я установил режим печати в файл и выбрал драйвер принтера Generic/Text, входящий в состав Windows.

 

ПОДСКАЗКА Чтобы создать текстовый файл со свойствами и исходными текстами программ проекта, сначала установите драйвер принтера Generic/Text, поставляемый вместе с Windows 95 или NT. При настройке печати выберите вместо порта принтера строку FILE, а затем, после выполнения команды File > Print в Visual Basic, установите флажок Print to File. Полученный текстовый файл можно просмотреть в редакторе WordPad или включить в другой документ.

 

Ниже приведен исходный текст примера с меню и панелью инструментов из урока 5. Не беспокойтесь, если у вас он будет выглядеть несколько иначе — значения некоторых свойств несущественны.

 

Form1 - 1

 

Option Explicit

 

Private SubmnuFileExit_Click()

End

End Sub

 

Private Sub tbrToolbar_ButtonClick(ByVal Button As ComctlLib.Button)

Select Case Button.Key

Case Is = "New"

MsgBox "Нажата кнопка New"

Case Is = "Open"

MsgBox "Нажата кнопка Open"

Case Is = "Save"

MsgBox "Нажата кнопка Save"

End Select

End Sub

 

frmData – 1

 

VERSION 5.00

 

Object = "{6B7E6392-850A-101B-AFCO-4210102A8DA7}#1.1#0"; COMCTL32.OCX

Begin VB.Form Form1

Caption = "Form1"

ClientHeight =1572

ClientLeft =3084

ClientTop =2556

ClientWidth =3744

LinkTopic ="Form1"

ScaleHeight =1572

ScaleWidth =3744 Begin ComctlLib.Toolbar tbrToolbar

Align = 1 'Выравнивание по верхнему краю

Height = 336

Left = 0

TabIndex = 0

Top = 0

Width = 3744

_ExtentX = 6604

_ExtentY = 593

ButtonWidth = 487

Appearance = 1

ImageList = "imToolbar"

BeginProperty Buttons {0713E452-850A-101B-AFCO-4210102A8DA7}

NumButtons = 4

BeginProperty Button1 {0713F354-850A-101B-AFCO-4210102A8DA7}

Key = ""

Object.Tag = ""

Style = 3

Value = 1

MixedState = -1 'True

EndProperty

BeginProperty Button2 {0713F354-850A-101B-AFCO-4210102A8DA7}

Key = "New"

Object.Tag =""

ImageIndex = 1

EndProperty

BeginProperty Button3 {0713F354-850A-101B-AFCO-4210102A8DA7}

Key = "Open"

Object.Tag = ""

ImageIndex = 2

EndProperty

BeginProperty Button4 {0713F354-850A-101B-AFCO-4210102A8DA7}

Key = "Save"

Object.Tag =""

ImageIndex =3

EndProperty

EndProperty

MouseIcon = {Binary}

End

Begin ComctlLib.ImageList imlToolbar

Left = 2520

Top = 720

_ExtentX = 804

_ExtentY = 804

BackColor = -21474836643

ImageWidth = 16

ImageHeight = 16

MskColor = 12632256

BeginProperty Images {0713E8C2-850A-101B-AFCO-4210102A8DA7}

NumListImages = 3

BeginProperty ListImage1 {0713E8C3-850A-101B-AFCO-4210102A8DA7}

Picture = {Binary}

Key = ""

frmData - 2

EndProperty

BeginProperty ListImage2 {0713E8C3-850A-101B-AFCO-4210102A8DA7}

Picture = {Binary}

Key = ""

EndProperty

BeginProperty ListImage3 {0713E8C3-850A-101B-AFCO-4210102A8DA7}

Picture = {Binary}

Key = ""

EndProperty

EndProperty

End

Begin VB.Menu mnuFile

Caption = "&File"

Begin VB.Menu mnuFileExit

Caption = "E&xit"

End

End

Begin VB.Menu mnuEdit

Caption = "&Edit"

Begin VB.Menu mnuEditCut

Caption = "Cu&t"

End

Begin VB.Menu mnuEditCopy

Caption = "&Copy"

End

Begin VB.Menu mnuEditPaste

Caption = "&Paste"

End

End

Begin VB.Menu mnuHelp

Caption = "&Help"

Begin VB.Menu mnuHelpAbout

Caption = "&About"

End

End

End

 

Расшифровка листинга

Программный код и свойства формы выведены на отдельных страницах. В начале каждой страницы указывается имя формы и номер страницы. Номер помогает ориентироваться в тех случаях, когда код или перечень свойств занимает несколько страниц. Программный код состоит из всех процедур событий, входящих в модуль формы. В перечень свойств входят все свойства формы и элементов, находящихся на ней. В данном примере страницы были объединены, однако в листинге остался заголовок Form1 - 1, с которого начинается программный код формы Form1. Другой заголовок, frmData - 1, начинает перечень свойств формы.

Перечень свойств выглядит достаточно просто, поэтому я ограничусь небольшим пояснением. Для каждой формы этот перечень начинается с Begin VB. Form и заканчивается End. С единичным отступом перечисляются свойства данной формы, а также несколько блоков Begin...End, каждый из которых соответствует некоторому элементу на форме. За ключевым словом Begin указывается тип объекта, затем — значение свойства Name. С отступом следующего уровня выводятся свойства всех элементов.

Теперь вы знаете все необходимое для того, чтобы организовать печать в своем приложении. Для построения отчетов я рекомендую пользоваться Crystal Reports Pro — это чрезвычайно мощный инструмент, который сэкономит ваше время и упростит работу.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: