Смекни!
smekni.com

Програмирование на Visual Basic (стр. 4 из 30)

Рис. 1.25

Рис. 1.27

Рис. 1.28

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

Если текущий оператор содержит вызов процедуры, нажатие клавиши F8, щелчок мыши по пункту Step Into (Шаг внутрь) раскрывающегося меню Run или щелчок мыши по пиктограмме Step Into Главного меню вызовет выполнение первого оператора процедуры, которую можно продолжать выполнять по шагам.

Для выполнения всей процедуры (не по шагам) и переходу к оператору, следующему за вызовом процедуры, используется щелчок мыши по пункту Step Over (Обойти) или комбинация клавиш Shift+F8.

При пошаговом выполнении некоторый блок операторов можно обойти. Это можно сделать, установив курсор на оператор, на котором необходимо выполнить следующее прерывание выполнения программы, и щелкнув мышью по пункту меню Step То Cursor или комбинацией клавиш Ctrl+F8.

Пошаговое выполнение можно комбинировать с процедурным выполнением. Отлаженные процедуры одной программы можно выполнять по процедурно, а не отлаженные - пошагово. Средства отладки позволяют также изменять порядок выполнения операторов. При выполнении оператора Set Next Statement (Установить следующий оператор) раскрывающегося меню Run можно перейти к выполнению любого оператора (даже к тем, которые расположены перед текущим) текущей процедуры.

1.3.3. Контроль ошибок на этапе выполнения программы

Ошибки периода выполнения (runtime errors) могут возникать, например, из-за нехватки памяти или дискового пространства, попытки открыть открытый другим приложением файл, выхода индекса за пределы размерности массива и др. В этом случае Visual Basic выводит диалоговое окно с соответствующим сообщением и прекращает выполнение программы (рис. 1.29).

Обработчик ошибок возвращает значение кода ошибки (функция Err), список которых находится в справочной системе (Help) и документации к Visual Basic.

Однако такие ошибки можно обрабатывать методом перехвата ошибок (error trapping). Перехват ошибок обеспечивается вставкой в текст процедуры оператора

On Error GoTo метка, гдеметка помечает место входа в обработчик ошибок.

Если в период выполнения ошибка возникнет в одном из операторов процедуры, расположенных за On Error GoTo метка, то управление передается обработчику ошибок, указанному меткой. Участок обработки ошибок можно закончить оператором On Error GoTo 0.

Рис. 1.29

В обработчик ошибок можно включить оператор Resume и продолжить выполнение программы после исправления ошибки операторами, вставляемыми в обработчик ошибок. Оператор Resume имеет несколько форм:

Resume возобновляет выполнение программы с оператора, вызвавшего ошибку;

Resume ‘Next возобновляет выполнение программы со следующего оператора;

Resume метка возобновляет выполнение программы с оператора, помеченного меткой.

Пример.

В примере в процедуре Primer происходит деление на О (оператор YY = YY/XX, перед выполнением которого переменой XX присваивается значение 0). Этот оператор включен в область обработчика ошибок. При делении на 0 происходит переход на оператор, помеченный меткой Label: (обработчик ошибок), переменной XX присваивается значение 2 и программа продолжает выполнение с оператора, на котором была ошибка на этапе выполнения в результате деления на 0. Программа заканчивает работу и результат распечатывается на форме (рис. 1.30).

Рис. 1.30

Таблица 2.1
Название свойства Для каких элементов управления используется Описание действия Возмо жность измнения
Action Common dialog Определяет тип диалога -/+
Action (OLE) OLE Определяет тип действия -/+
Alignment Check box. label, option button, text box Определяет способ выравнивания (по левому краю, по правому или по центру) +/-
Auto Redraw Form, picture box Определяет возможность автоматического перерисования +/-
AutoSize Label, picture box Определяет возможность автоматического изменения размера при заполнение +/-
BackColor, Fore Color Form, check box, combo box, command button (TWibKoBackColor) data control, directory list box, drive list box, file list box, frame, grid, label, list box, OLE control, option button, picture box, Printer object (только ForeColor), shape (только BackColor), text box Определяют соответственно цвет фона и цвет выводимой ин4юрмации +/+
BackStyle Label, shape Определяет прозрачность фона +/+
BorderColor Line, shape Определяет цвет рамки +/+
BorderStyle Form, grid, image, label, line, OLE control, picture box, shape, text box Определяет вид рамки Для Form и textbox+/-+/+

Продолжение табл 2 I

Название свойства Для каких элементов управления используется Описание действия Возможность изменения
BorderWidth Line, shape Определяет ширину границы +/+
Cancel Command button Определяет, что элемент выполняет функцию Cancel на форме +/+
Caption Form, MDI form, check box, command button, data control, frame, label, menu, option button Определяет текст, выводимый на элемент или возле него Для формы -заголовок +/+
CellSelected Grid Ячейка таблицы выделена строкой и столбцом -/-
Class OLE control Определяет класс объекта OLE +/-
ClipControls Form, frame, picture box Определяет необходимость перерисовки всего объекта или появляющейся части +/+
Clip Grid Определяет содержимое выделенных ячеек таблицы -/+
Col, Row Grid Определяет выделенную колонку или строкуа таблицы -/+
ColAlignment Grid Выравнивание данных в колонке таблицы -/+
Cols, Rows Grid Определяет число колонок,столбцов таблицы +/+
Columns List box Определяет число колонок в списке +/+
ColWidth Grid Ширина колонки -/+
ControlBox Form Определяет наличие кнопки системного меню на форме +/-
CuncntX, CurrentY Form, picture box, Printer object Текущие координаты по горизонтали и вертикали (для рисующих или печатающих методов) -/+

Продолжение табл. 2.1

Название свойства управления используется жность изменения
DatabaseName Data control Имя и расположение базы данных +/+
DataChanged Check box, image, label, picture box, text box Указатель изменения данных в элементе при чтении записи (несовпадение) -/+
DataField Check box. image, box Определяет связьс полем записи файла +/+
Check box, image, label, picture box, text box Определяет источник данных для элемента управления +/-
Default Command button Определяет, является ли данная команднаякомандной кнопкой по умолчанию +/+
box. Printer object, shape. рисуемой линии (точки) -/+
DrawWidth Form, picture box, Printer object Определяет ширину рисуемой линии (точки) -/+
Enabled Form, MDI form, check box, combo box, command button, data control, directory list box, drive list box, file list box, frame, grid, horizontal scroll bar, image, label, list box, menu, option button, picture box, text box, timer, vertical scroll bar Определяет возможность доступа к элементу (элемент реагирует на действия пользователя) +/+
FillColor Form, picture box, Printer object, shape Определяет цвет заполнения +/+
FillStyle box. Printer object, заполнения
FixedCols, Fixed Rows Grid Число выделенных колонок,столбцов +/+ •

Продолжение табл. 2.1

Название свойства Для каких элементов управления используется Описание действия Возможность изменения
FontBold, Fontltalic, FontStrikethr. FontTranspar. FontUnderline Form, check box, combo box, command button, common dialog, data control, directory list box, drive list box, file list box, frame, grid, label, list box, optionbutton, picture box, Printer object, text box Вид выводимого текста(жирный, курсив, зачеркнутый, “ясный”) +/+
FontNarne Form, check box, combo box, command button, common dialog, data control, directory list box, drive list box, file list box, frame, grid, label, list box, optionbutton picture box. Printer object, text box Тип шрифта выводимого текста +/+
FontSize Form, check box, combo box, command button, common dialog, data control, directory list box, drive list box, file list box, frame, grid, label, list box, optionbutton, picture box, Printer object, text box Размер шрифта выводимого текста +/+
BackColor, ForeColor Form, check box, combo box, command button (только BackColor), data control, directory list box, drive list box, file list box, frame, grid, label, list box, OLE control, option button, picture box, Printer object (только ForeColor), shape (только BackColor), text box Цвет фона и основной цвет выводимой информации

Продолжение табл. 2.1

Название свойства Для каких элементов управления используется жность изменения
Format Определяет формат получаемых и пере -/+
GridLines Grid определяет видимость сетки таблицы +/+
GridLineWidth Grid Определяет ширину линий сетки таблицы +/+
Height, Width Form, MDI form, check box, combo box, command button, data control, directory list box, drive list box, filehorizontal scroll bar, image, label Определяют размеры объекта (высота и ширина) +/+
Highlight Grid ку выделенной ячейки таблицы. +/+
иконки формы в ее свернутом состоянии
Index (Control Arrays) Check box, combo box, command button, common dialog, data control, directory list box, drive list box, file list box, frame, grid, horizontal scroll bar, image, label, line, list box, menu. OLE control, option button,box, timer, vertical scroll bar Определяет индекс элемента в массиве однородных элементов управления +/- .
Interval миллисекунд в задаваемом интервале +/+
I tern Data Combo box, list box Массив значений индексов элементов списка (первоначально значения индексов совпадают с позицией элемента в списке) -/+

Продолжение табл. 2.1