Главная / Рефераты / Рефераты по кибернетике
Реферат: Програмирование на Visual Basic
Notice: Undefined variable: ref_img in /home/area7ru/area7.ru/docs/referat.php on line 323
VISUAL BASIC 6
Глава 1. ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ НА VISUAL BASIC 4 В СРЕДЕ WINDOWS 1. 1. ЭКРАННЫЕ ЭЛЕМЕНТЫ После запуска Visual Basic на экране появляются следующие окна (рис 1 1) . основное окно сверху экрана Miciosoft Visual Basic Project 1 (design), содержащее главное меню и панель инструментов (Toolbar); . окно формы в центре с заголовком Form; . окно шаблонов (palett windows) или инструментов (Toolbox) слева от формы; . окно свойств (Properties) сверху справа; . окно проекта (Project 1) снизу справа
Рис 1 1 1. 1. 1. Основное окно Главное меню основного окна содержит стандартные для Windows меню Файл (File), Правка (Edit), Вид (View) и меню собственно Visual Basic Вставка (Insert), Выполнить (Run), Tools (Средства), Add-in (Дополнения), (Help) Файл (File) - команды для открытия, сохранения, печати и компиляции проекта Visual Basic Правка (Edit) - команды редактирования. Вид (View) - команды просмотра компонентов Visual Basic Вставка (Insert) - команды для добавления в проект новых форм и модулей Выполнить (Run) - команды для выполнения и компиляции проекта Tools (Средства) - команды для конфигурирования среды программирования Visual Basic Add-in (Дополнения) - дополнительные средства для расширения возможностей Visual Basic (Help) - доступ к справочному руководству Панель инструментов (Toolbar) основного окна содержит кнопки-пиктограммы для быстрого вызова часто используемых команд (рис 1 2)
Функции пиктограмм (слева направо) следующие-создать форму (New Form); создать модуль (New Module); открыть проект (Open Project); сохранить проект (Save Project), блокировка элементов управления на форме (Lock contro s), редактор меню (Menu Editor), свойства (Properties Windows), просмотр объектов (Object Browser), проект (Project); старт (Start), прервать выполнение (Break); поставить/убрать точку прерывания (BieakPoint), • немедленный просмотр (Instant Watch); . вызовы (Calls); . пошаговое выполнение (Single Step); . выполнение по процедурам (Procedure Step). Кнопки создания формы (New Form), создания модуля (New Module), открытия проекта (Open Project), сохранения проекта (Save Project) позволяют создать новый или открыть существующий проект (единый программный комплекс), ввести в него новые диалоговые окна (формы) и сохранить проект на диске с внесенными изменениями. Кнопка блокировки элементов управления на форме (Lock controls) позволяет зафиксировать положение элементов управления на форме. Кнопка редактора меню (Menu Editor) используется для создания пользовательского меню проекта и определения его свойств.
Рис 1 3 Кнопка свойств (Properties Windows) используется для вывода окна со списком свойств и их значений для формы и элементов управления. Кнопка просмотра объектов (Object Browser) выводит окно, в котором можно для выбранного подмножества Visual Basic или проекта получить список его компонентов или модулей и относящихся к каждому из них список методов и свойств (рис. 1.3). Для выбранных элементов списка выводится краткая аннотация и можно получить развернутую справку. Кнопка проекта (Project) активизирует окно проекта. Кнопки “Старт” (Start), “Прервать выполнение” (Break), “Конец выполнения” (End), “Поставить/убрать точку прерывания” (Breakpoint), “Немедленный просмотр” (Instant Watch), “Вызовы” (Calls), “Пошаговое выполнение” (Single Step), “Выполнение по процедурам” (Procedure Step) используются при отладке программ. Окно проекта (рис. 1.4) содержит список всех файлов, необходимых для выполнения создаваемой программы. Имя Forml.frm присваивается по умолчанию первой диалоговой форме проекта (это имя можно изменить или сохранить для дальнейшего использования). Этот файл содержит описание формы, элементов управления (кнопок, текстовых окон и др.) и текст программ, связанных с этими элементами.
Файл специальных средств управления имеет расширение .ОСХ или -ВСХ и содержит кнопки с мультипликацией, трехмерные средства управления и т.п. Обычно хранится в каталоге WINDOWS/SYSTEM, и его можно использовать в разных проектах. Файл стандартных модулей имеет расширение .BAS и содержит текст программ. Файл модулей классов имеет расширение .CLS и содержит определения классов. Файл ресурсов имеет расширение .RES и содержит данные для проекта (текстовые строки, битовые образы и др.). Файл проекта имеет расширение .VBP или .МАК и содержит пути назначения (диски и каталоги) и имена всех перечисленных файлов проекта. Файл проекта может быть откомпилирован с целью получения исполняемого файла программы с расширением .ЕХЕ. В окне проекта имеются также две кнопки: View Form (Просмотр формы) и View Code (Просмотр кода). По умолчанию Visual Basic при выборе какого-либо файла проекта показывает форму (см. рис. 1.1с общим экраном Visual Basic). При щелчке на кнопке View Code (Просмотр кода) открывается окно кода (текста программы), относящегося к рассматриваемой форме (заголовок Forml.frm) и задаваемым на ней диалоговым элементам. Окно (рис. 1.5) содержит раскрывающиеся окна Object и Ргос и поле для записи программы. В первом окне находится список диалоговых элементов формы, включая саму форму (Form). Второе содержит список процедур обработки событий, относящихся к рассматриваемому диалоговому элементу формы (в данном случае к самой форме - Form).
Рис 1 5 Каждому диалоговому элементу в Visual Basic поставлен в соответствие определенный набор событий (эти события перечислены в раскрывающемся меню: Load, LostFokus и др.), происходящих в период выполнения программы. Например, событие Load (Загрузка) происходит при загрузке формы, событие Clik (Щелчок) вызывается щелчком кнопки мыши, событие DblClick (Двойной щелчок) вызывается двойным щелчком кнопки мыши и т.д. В свою очередь, событию ставится в соответствие процедура обработки события (процедура (procedure) в языках программирования состоит из набора операторов, выполняемых при вызове процедуры). То есть событие может вызывать программируемое изменение данных. Visual Basic содержит заготовки таких процедур в поле для записи программы, соответствующие выделенному событию (строки Sub Form_Load () и End определяют первый и последний операторы процедуры обработки события Load (Загрузка)). В поле ввода текста программы автоматически формируется заголовок процедуры и конечный оператор. Имя процедуры формируется автоматически и состоит из двух частей, разделенных подчеркиванием: имя выделенного диалогового элемента и имя выделенного события (строки Sub Form_Load () и End определяют первый и последний операторы процедуры обработки события Load (Загрузка)). 1.1.3. Окно шаблонов или инструментов Достоинством GUI является то, что имеется стандартный набор объектов диалога (окна, кнопки, линейки прокрутки и т.д.), позволяющий создать стандартный Windows интерфейс программируемой системы. Диалоговые элементы программной системы создаются на основе стандартных шаблонов или инструментов, которые выбираются из окна шаблонов или инструментов (Toolbox) и размещаются на форме. Имеются следующие основные элементы управления (инструментальные средства):
Указатель (Pointer) не является инструментальным средством. Используется для перемещения или изменения размеров помещенных на форму элементов управления.
Изображение или картинка (Picture Box) используется для показа на форме графических объектов (статических или динамических), которые получаются с помощью графических методов. Метка (Label) используется для вывода текста, который не должен изменяться пользователем (например, заголовок какого-либо объекта управления).
Текстовое окно (Text Box) используется для ввода, вывода и редактирования пользователем текстовой (символьной) строки информации. Рамка (Frame) используется для функциональной или визуальной группировки (выделения) элементов управления. Для того чтобы сгруппировать элементы управления, сначала на форме размещается рамка, а затем внутри нее размещаются элементы
Командная кнопка (Command Button) используется для ввода команды пользователем.
Флажок (Check Box) используется в тех случаях, когда пользователь должен выбрать или отметить на форме некоторое условие (да или нет). Условий, которые помечаются флажками на форме, может быть несколько и они могут выполняться одновременно (т.е. несколько флажков на форме может быть по- мечено одновременно).
Переключатель (Option Button) используется в тех случаях, когда пользователь должен выбрать или отметить на форме некоторое условие (да или нет). Условий, которые помечаются переключателями на форме, может быть несколько и только одно из них может быть выбрано (т.е. если одно условие, заданное переключателем, выбрано или отмечено, то другие переключатели на форме не помечены или не выбраны).
Комбинированный список (Combo Box) является комбинацией списка (см. ниже) и текстового окна. Используется для вывода в специальном окне (списке) нескольких строк текстовой (символьной) информации, из которых пользователь может выбрать одну или несколько, а также для ввода и редактирования пользователем текстовой (символьной) строки информации.
Список (List Box) используется для вывода в специальном окне нескольких строк текстовой (символьной) информации, из которых пользователь может выбрать одну или несколько. Если в списке содержится больше элементов, чем может одновременно быть показано в окне, возможна прокрутка списка.
Горизонтальная линейка прокрутки (Horizontal Scroll Bar) используется для быстрого движения по длинным спискам или строкам и отображения текущего положения в списке или строке и увеличения скорости прокрутки списка.
Вертикальная линейка прокрутки (Vertical Scroll Bar) аналогична горизонтальной линейке прокрутки.
Таймер (Timer) используется для задания моментов (интервалов) времени, в которых должны свершиться какие-либо события. Этот элемент управления невидим на форме во время выполнения ппиложения.
Список дисков (Drive List Box) используется для ото- браженияи выбора имеющихся в системе дисков.
Список каталогов (Directory List Box) используется для отображения иерархического списка каталогов в пользова-тельской системе. Список файлов (File List Box) используется для отображения списка файлов в пользовательской системе и управления ими (открытие, удаление, сохранение и др.).
Форма (Shape) используется для отображения простых фигур (прямоугольник, окружность, эллипс) на форме на этапе проектирования формы.
Линия (Line) используется для отображения линий различного вида на форме на этапе проектирования формы.
Изображение (Image) используется для отображения на форме растровых графических изображений, иконок или метафайлов. Эти изображения могут быть только декоративными и требуют меньше ресурсов компьютера, чем Picture Box
Сетка (Grid) представляет собой таблицу данных, состоящую из столбцов и строк. Положение конкретного данного определяется координатой строки и столбца, на пересечении которых оно находится
OLE 2 0 реализует технологию Microsoft OLE (object linking and embending - связь и внедрение объектов) и позволяет создавать в программе объект, содержащий данные из другой внешней программы (приложения), например из электронной таблицы Excel Технология OLE обеспечивает связь с внешним приложением (при изменении данных в источнике автоматически обновляются данные в программе на Visual Basic)
Элемент данные (Data) позволяет получить доступ к конкретной информации в базе данных
Стандартное диалоговое окно (Common Dialog) включает набор диалоговых окон, реализующих стандартные и часто используемые функции Windows (открыть, сохранить как идр) Кроме перечисленных имеются другие элементы управления, сведения о которых можно получить во встроенной справочной системе Visual Basic и которые можно добавлять к приведенному основному списку 1.1.4. Окно свойств Каждый шаблон (инструмент) и сама форма обладают набором специфических свойств, параметры которых определяют их внешний вид и поведение при работе программы Список параметров и их значений определяются в окне свойств (рис 1 6) Раскрывающийся список объектов в верхней части содержит имена и типы объектов (шаблонов), помещенных на форму, а также самой формы (Form] - имя формы, Form - тип) Изначально список содержит только форму, каждый новый шаблон, помещаемый на форму, включается в список Для фиксированного элемента списка объектов выводится список свойств и их значений (на рис 1 6 список свойств для формы) Значение выделенного подсветкой свойства можно изменять Если значение имеет набор альтернатив, то активизируется стрелка раскрывающегося списка возможных значений. Например, свойство Enabled (Доступно) имеет два альтернативных параметра True и False
В заключение отметим, что среду Visual Basic можно настроить в соответствии с предпочтениями пользователя (пункт главного меню Tool и далее пункты раскрывающегося меню Environment Options.., Project Options.., Format Options...). Рис 16 1.2. Пример разработки приложения Создание любой программной системы (проекта) на Visuai Basic состоит из следующих этапов” . создания интерфейса (создания окна диалога и размещения в нем элементов управления), . установки параметров (свойств) элементов управления; . ввода текста программ и их отладки; . сохранения проекта в удобном для последующего использования виде Рассмотрим реализацию этих этапов на примере простого проекта для преобразования значений температуры по Цельсию в значения по Фаренгейту и наоборот Преобразование производится соответственно по формулам F=(C*9/5)+32, C=(F-32)*5/9 Пользовательский интерфейс показан на рис 1 7 При вводе значения температуры по Цельсию (окно Celsius) и нажатии клавиши Ввода (Enter) в окне Fahreheit выводится значение по Фаренгейту. При аналогичном вводе значения по Фаренгейту выводится значение по Цельсию. Проект включает : . формы (фон, Windows, диалоговые окна); . элементы управления ((графические объекты, помещенные на форму); . программный код (процедуры и объявления). Рис. 1.7 При запуске Visual Basic по умолчанию открывается новый проект с именем Project 1 и относящаяся к нему форма Formi (рис. 1.8). На форме разместим элементы управления: два текстовых окна и две метки, используя окно шаблонов. Задать элементы управления можно двумя способами: 1. Щелкните мышью на нужном элементе окна шаблонов (стрелка превращается в”+”), перенесите указатель в верхний левый угол формы, нажав и не отпуская кнопку мыши переместите указатель вправо и вниз формы, отпустите кнопку мыши. На форме в верхнем левом углу создается выбранный элемент управления соответствующего перемещению размера. 2. Дважды щелкнуть мышью на нужном элементе окна шаблонов. При этом создается элемент управления с размерами по умолчанию в центре формы. Выберем указанными способами два текстовых окна и разместим их на форме (рис. 1.9). Активный в данный момент элемент помечен маркерами (щелчком мыши элемент делается активным) и его можно перемещать мышью и изменять его размеры. Это позволяет отредактировать размер и положение управляющих элементов на форме соответственно желанию разработчика. После ввода всех элементов и редактирования форма принимает вид, показанный на рис. 1.10. По умолчанию последовательно вводимым одинаковым элементам присваиваются одинаковые имена, отличающиеся последней цифрой (текстовым окнам последовательно пписваивают- ся имена Textl и Textl, меткам последовательно присваиваются имена Label! и Label2).
Рис. 1.8 Определим теперь свойства введенных элементов, используя окно свойств (Properrties). Активизируем элемент Label], при этом активизируются свойства в окне свойств, относящиеся к этому элементу (заголовок Labell Label). Выберем свойство Caption (Название) и определим его как Celsiu , используя строку ввода. Это название появляется на форме (рис. 1.11). Свойство Caption (Название) для Label2 зададим Fahrenheit. Остальные оставим по умолчанию. Определим свойства тестовых окон. Активизируем сначала первое окно, очистим окно (удалим значение Textl свойства Text) и присвоим ему имя txtCels (свойство Name (Имя), которое будем использовать при написании текста программ (рис. 1.12). Очистим также второе окно и присвоим ему имя ixtFahr. Остальные свойства обоих окон оставим по умолчанию.
Рис 111 Для ввода текста необходимых программ щелкните мышью на кнопке View Code окна “проекты” (окно Piojektl mak) Откроется окно FORM1 (имя проектируемой формы по умолчанию Formi) Откроем слева раскрывающийся список Object и выберем в нем объект txtCels (в качестве объекта выбирается верхнее текстовое окно формы, ранее для этого было задано имя txtCels ) Откроем справа раскрывающийся список Ргос и выберем процедуру обработки события Keypress (нажатие клавиши) В поле формы появляются первая и последняя строки процедуры Имя процедуры txtCels_KeyPress формируется автоматически (первая часть имени определяется именем выбранного элементом - верхним текстовым окном, вторая - именем выбранной процедуры обработки события) Параметром процедуры является значение кода нажатой клавиши (KeyAscii), определенное как целый тип (Integer) (рис 1 13) Введем теперь необходимые операторы процедуры (рис 1 14) При нажатии клавиши Enter, ASCII-код которой равняется 13 (комментарий в тексте программы), вычисляется значение температуры по Фаренгейту по введенному в окне значению температуры по Цельсию и значение вычисленной температуры выводится в другом окне
Рис 1 12
Рис 1 13 Функция val преобразует текстовую строку в числовое значение Составные имена txtFahr Text и txtCels Text связаны с включением в Visual Basic так. называемых методов для объектов (форм и командных кнопок) Введем также описания переменных tem_Cels и tem_Fahr в раздел общих (general) описании, что делает их доступными для обеих процедур Форма и программы обработки событий подготовлены Теперь, щелкнув мышью на кнопке Run панели инструментов главного меню, проект можно отправить на выполнение Появляется спроектированная форма, в окнах которой можно вводить информацию (рис 1 15) Кроме ввода и вывода информации, форма соответствует стандарту Windows приложений (реагирует на кнопки минимизации и максимизации, изменяет размеры и др ) Щелчок на кнопке Конец выполнения панели инструментов главного меню завершает выполнение проекта Отлаженный проект можно сохранить двумя способами • используя команду Save Project или Save Project as... раскрывающегося меню File главного меню; . используя команду Make EXE File раскрывающегося меню File главного меню.
Рис 1 14 В первом случае выполнить проект можно только после запуска Visual Basic. Во втором случае программы проекта компилируются и создается ЕХЕ-файл, позволяющий выполнить проект автономно без запуска Visual Basic, даже если на компьютере не установлен Visual Basic. При выполнении команды Save Project as... появляется окно (рис. 1.16), позволяющее задать директорию для хранения и имя проекта (проект сохраняется в директории C:VB под именем temper, mak).
При выполнении команды Make EXE File появляется окно (рис. 1.17), позволяющее задать директорию для хранения ЕХЕ-файла и его имя (EXE- файл сохраняется в директории C:VB под именем temper.exe). Рис 1 15 При щелчке по кнопке “Options...” появляется специальное окно (рис. 1.18) для задания необходимой информации по готовому приложению (номер версии, информация о компании- разработчике, имя созданного приложения (TEMPER), иконка для формы и др.).
Рис 1 16 Программа на любом языке программирования перед выполнением переводится на машинный язык (набор команд процессора) специальными программами переводчиками. Эти программы принципиально делятся на компиляторы (compilers) и интерпретаторы (interpreters). Первые транслируют всю программу целиком и создают законченный программный модуль на машинном языке Вторые транслируют единовременно только одну строку программы на языке программирования и сразу же
Рис 1 17
Рис 1 18 исполняют полученный фрагмент программы на машинном языке. Далее интерпретатор возвращается к следующей строке программы на языке программирования, транслирует ее и т. д Visual Basic относится к языкам программирования интерпретирующего типа 1.3. ОТЛАДКА ПРОГРАММ Любая программа, написанная даже квалифицированным программистом, содержит ошибки, которые выявляются и исправляются в процессе отладки программы Кроме того, при работе с отлаженной программой пользователь может создать ситуацию, которая программой не обрабатывается корректно Рассмотрим процесс отладки программ и способы обработки ошибок при выполнении программы и имеющиеся для этого средства в Visual Basic 1.3.1. Синтаксический контроль При ошибке в наборе текста программы в окне кода автоматически (при активизации в диалоговом окне Environment Options (Параметры Среды) флажка Display Syntax Errors (Показывать синтаксические ошибки)) инверсной подсветкой выделяется неправильный фрагмент оператора программы На этом этапе Visual Basic отслеживает синтаксические ошибки (неправильно написанные ключевые слова, неверный порядок операндов в операторах, некорректную пунктуацию и т п ) Лишняя точка в операторе уже приведенной выше процедуры автоматически показывается с разъяснением ошибки в окне
Рис 1 19 Вызов диалогового окна Environment Options (Параметры Среды) производится из пункта Tools Главного меню. Окно показано на рис. 1.20 и позволяет, кроме указания на выдачу синтаксических ошибок, определить выводимые окна среды (Toolbox, Properties, Project, Debag), задать обязательность объявления переменных (Require Variable Declaration), показа сетки формы (Show Grid) и ее шаг (Width, Height), выравнивания элементов управления относительно сетки (Align Controls to Grid), автоматического сохранения текущих версий файлов форм и проекта перед каждым запуском программы (Save Before Run).
1.3.2. Контроль корректности алгоритма Для дальнейшей отладки синтаксически правильной программы существуют специальные средства, позволяющие контролировать значения переменных на различных этапах выполнения программы. Окно Debug является основным средством для поиска ошибок (рис. 1.21). В верхнем поле окна выводятся вид выражения (колонка Expression), значение выражения (колонка Value), местонахождение выражения (колонка Context). Кнопки Immediate и Watch обеспечивают переключение на просмотр соответственно непосредственно вводимого в этом поле выражения (прямой ввод выражения) или уже заданного. В нижнем поле отображается текст программы. Вид выражения задается в окне Add Watch (вызывается из пункта Tool Главного меню) (рис. 1.22). Раскрывающиеся списки модулей (Module) и процедур (Procedure) позволяют задать местоположение выражения в программе. Выражение может быть набрано вручную в текстовом окне. Кроме того, если в тексте программы перед вызовом окна выделен какой-либо оператор или его часть, то оно автоматически появляется в окне (см. рис. 1.22). Кнопки в области Watch Type определяют условия вывода выражения (Watch Expression - наблюдение за значением в точках прерывания; Break When Value Is True - прерывание выполнения программы, когда значение выражения равно заданному; Break When Value Changes - прерывание выполнения программы, когда значение выражения меняется).
Рис. 1.22 Для вывода в окно Debug нужно также установить точки прерывания (моменты, когда программа прекращает работу и выдает требуемую информацию в окно Debug). Обычно такими точками являются места программы, проверяемые на корректность работы. Для установки точки прерывания нужно: . установить курсор или выделить соответствующий оператор программы; . щелкнуть мышью по пункту Toggle Breakpoint (Поставить точку прерывания) раскрывающегося меню Run (Старт) Главного меню. Установленная точка прерывания выделится подсветкой (рис. 1.23). После запуска программы значение проверяемого выражения выводится в окне Debug (рис. 1.24.). Оператор прерывания выделяется рамкой, в окне указывается место прерывания (проект, форма, процедура обработки события).
Удалить точку прерывания можно щелкнув мышью по пункту Clear Toggle Breakpoint (Убрать точку прерывания) раскрывающегося меню Run (Старт) Главного меню. При отладке программ целесообразно комбинировать постановку точек прерывания и точек наблюдения (их установка задается кнопками Break When Value Is True (Прерывание выполнения программы, когда значение выражения равно заданному) и Break When Value Changes (Прерывание выполнения программы, когда значение выражения меняется) окна Add Watch). Точки наблюдения замедляют выполнение программы. Лучше установить точку прерывания в подозрительном месте программы и выполнять программу с нормальной скоростью до этой точки. Далее поставить одну или несколько точек наблюдения и продолжать более медленный поиск ошибок в локализованной области программы. Если нет необходимости прослеживать изменение значения какой-либо переменной в процессе выполнения программы, то для вывода текущего значения вместо использования окна Add Watch можно использовать пункт меню Instant Watch (Быстрый просмотр) раскрывающегося меню Tool Главного меню. Перед этим, после прерывания выполнения программы, необходимо выделить переменную в окне кода. В окне Instant Watch (рис. 1.25.) выводится имя переменной, текущее значение и имя процедуры, в которой используется переменная. Щелчком мыши по кнопке Add переменную можно добавить в список окна Debug Windows. Кнопка Immediate окна Debug (рис. 1.26) позволяет вывести переменную на форму или изменить ее значение с помощью оператора присваивания (эти изменения не отражаются на содержании программы). Это окно можно также использовать для ввода команд, изменяющих свойства элементов управления (шрифты, цвет фона и др.). Измененные значения выводятся в окне Debug (рис. 1.27). Если проект включает много процедур, то полезным средством отладки является трассировка вызова процедур (пункт меню Call... раскрывающегося меню Tool Главного меню или одноименная кнопка панели инструментов). Окно (рис. 1.28.) показывает всю последовательность вызовов от исходной процедуры до текущей (в верхней части расположена последняя вызванная процедура, в нижней - первая). Список позволяет определить, как произошел переход в текущую точку программы. Рис. 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 RedrawForm, picture Определяет +/- box возможность автоматическо го перерисования AutoSize Label, pictureОпределяет +/- box возможность автоматическо го изменения размера при заполнение BackColor, Form, check Определяют +/+ Fore Color box, combo соответственн box, command о цвет фона и button цвет (TWibKoBackColвыводимой or) data ин4юрмации 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 BackStyle Label, shape Определяет +/+ прозрачность фона BorderColorLine, shape Определяет +/+ цвет рамки BorderStyleForm, grid, Определяет Для image, label, вид рамки Form и line, OLE text control, box+/-+ picture box, /+ shape, text box
Продолжение табл 2 I Название Для каких Описание Возможн свойства элементов действия ость управления изменен используется ия BorderWidthLine, shape Определяет +/+ ширину границы Cancel Command buttonОпределяет, +/+ что элемент выполняет функцию Cancel на форме Caption Form, MDI Определяет +/+ form, check текст, box, command выводимый на button, data элемент или control, возле него frame, label, Для формы menu, option -заголовок button CellSelecteGrid Ячейка -/- d таблицы выделена строкой и столбцом Class OLE control Определяет +/- класс объекта OLE ClipControlForm, frame, Определяет +/+ s picture box необходимость перерисовки всего объекта или появляющейся части Clip Grid Определяет -/+ содержимое выделенных ячеек таблицы Col, Row Grid Определяет -/+ выделенную колонку или строкуа таблицы ColAlignmenGrid Выравнивание -/+ t данных в колонке таблицы Cols, Rows Grid Определяет +/+ число колонок,столб цов таблицы Columns List box Определяет +/+ число колонок в списке ColWidth Grid Ширина -/+ колонки ControlBox Form Определяет +/- наличие кнопки системного меню на форме CuncntX, Form, picture Текущие -/+ CurrentY box, Printer координаты по object горизонтали и вертикали (для рисующих или печатающих методов)
Продолжение табл. 2.1 Название управления жность свойства используется изменен ия DatabaseNameData 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, Grid Число +/+ • Fixed Rows выделенных колонок,столб цов
Продолжение табл. 2.1 Название Для каких Описание Возможн свойства элементов действия ость управления изменен используется ия FontBold, Form, check Вид +/+ Fontltalic,box, combo выводимого FontStriketbox, command текста(жирный hr. button, common, курсив, FontTranspadialog, data зачеркнутый, r. control, “ясный”) FontUnderlidirectory list ne 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, Form, check Цвет фона и ForeColor 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 определяет +/+ видимость сетки таблицы GridLineWidGrid Определяет +/+ th ширину линий сетки таблицы Height, Form, MDI Определяют +/+ Width form, check размеры box, combo объекта box, command (высота и button, data ширина) control, directory list box, drive list box, file
horizontal scroll bar, image, label Highlight Grid ку выделенной+/+ ячейки таблицы. иконки формы в ее свернутом состоянии Index Check box, Определяет +/- . (Control combo box, индекс Arrays) 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 DataCombo box, Массив -/+ list box значений индексов элементов списка (первоначальн о значения индексов совпадают с позицией элемента в списке)
Продолжение табл. 2.1 Название Для каких Описание Возможн свойства элементов действия ость управления изменен используется ия KeyPreview Form Определяет, +/+ вызываются ли процедуры обработки события клавиатуры формы перед событиями клавиатуры элементов управления LargeChangeHorizontal Определяет scroll bar, изменение при vertical щелчке мыши scroll bar по полю линейки прокрутки между движком и стрелкой SmallChangeHorizontal Определяет +/+ scroll bar, изменение при vertical щелчке мыши scroll bar по стрелке Left, Top Form, MDI Определяют +/+ form, check координату box, combo верхнего box, command левого угла button, commonэлемента dialog, data управления control, (Left- directory listрасстояние до box, drive левой list box, fileграницы, Тор- list box, расстояние до frame, grid, верхней horizontal границы) scroll bar, image, label, list box, OLE control, option button, picture box, shape, text box, timer, vertical scroll bar Linkltem Label, pictureОпределяет +/+ box, text box спецификацию данных, передаваемых, в элемент от других приложений (DDE) List Combo box, Определяет -/+ directory listсписок box, drive элементов list box, fileокна list box, list box Listlndex Combo box, Определяет -/+ directory listиндекс box, drive выбранного list box, fileэлемента list box, listсписка box Max, Min Horizontal Определяет +/+ scroll bar, максимальное vertical и минимальное scroll bar значение линейки прокрутки
Продолжение табл. 2.1 Для каких Описание Возможн элементов действия ость управления изменен используется ия MaxButton, Form Наличие +/- Min Button кнопки максимизации и минимизации Max Length Text box Определяет +/+ максимальное число символов MousePointerForm, check Определяет +/+ box, combo тип указателя box, command мыши при его button, data перемещении control, по элементу directory list box, drive list box, file list box, frame, horizontal scroll bar, image, label, list box, option button, picture box, Screen object, text box, vertical scroll bar MultiLine Text box Определяет +/- многострочное текстовое окно MultiSeIect File list box,Возможность и+/- list box способ множественног о выбора Name Все элементы Определяет +/- управления и имя элемента, формы используемое при написании программы Newlndex Combo box, Индекс -/- list box добавляемого в список элемента Parent Check box, Определяет -/- combo box, форму, на command которой button, находится directory listэлемент box, drive list box, file list box, frame, grid, horizontal scroll bar, image, label, line, list box, menu, OLE control, option button, picture box, shape, text box, timer, vertical scroll bar Text box Определяет +/+ шифровку выводимых в окне символов
Продолжение табл. 2.1 Название Для каких Описание Возможн свойства элементов действия ость управления изменен используется ия PasteOK OLE control Определяет -/- возможность ввода из Clipboard Path Арр object, Путь в -/- directory listфайловой box, file listсистеме box Pattern File list box Выводимое имя-/+ файла Picture Form, image, Определяет +/+ OLE control, выводимую picture box картинку Prev Арр object Определяет, -/- Instance что объект - приложение уже запущено PrinterDefaCommon dialog Определяет ult (print dialog)выбор принтера по умолчанию Readonly Data control, Определяет +/+ file list box указатель на открытие базы данных только на чтение или в списке файлов есть файлы с атрибутом ReadOnly RecordCountTable object. Определяет -/- Dynaset число записей object, Snapshot object Recordset Data control Определяет -/+ источник данных RecordSourcData control Определяет +/+ e источник данных RowHeight Grid Определяет -/+ высоту выделенной строки ScaleHeightForm, MDI Определяет +/+ , form, picture число единиц ScaleWidth box, Printer измерения по object вертикали и горизонтали ScaleLeft, Form, picture Определяет +/+ ScaleTop box, Printer координаты object верхнего левого утла ScaleMode ScaleMode Определяет +/+ единицы измерения координат Scroll BarsMDI form, Определяет +/- grid, text boxналичие линейки прокрутки SelCount List box Определяет -/+ число выделенных элементов списка
Продолжение табл 2 1 Название Для каких Описание Возможн свойства элементов действия ость управления изменен используется ия Selected File list Определяет -/+ box, list boxвыделенные элементы списка SelEndCol, Grid Определяет -/+ SelStartCol начало и , конец SelEndRow, выделенных SelStartRow ячеек Sel Length,Combo box, Определяют -/+ SelStart, text box длину SelText выделения, начальную позицию и выделение Shortcut Menu Определение +/- клавиш SizeMode OLE control Определяет +/+ преобразовани е размера для представления Sorted Combo box, Определяет +/- list box упорядочение элементов в списке по алфавиту или по порядку ввода Source Doc OLE control Имя файла +/+ Source I OLE control Определение +/+ tern данных Style Combo box Определяет +/- 1 тип комбинированн ого списка Tablndex Check box, Определяет +/- combo box, индекс command элемента в button, массиве directory элементов list box, управления drive list box, file list box, frame, grid, horizontal scroll bar, label, list box, option button, picture box, text box, vertical scroll bar TabStop Check box, Определяет +/+ combo box, быструю command установку button, фокуса directory list box, drive list box, file list box, grid, horizontal scroll bar list box, option button, picture box, text box, vertical scroll bar
Продолжение табл. 2.1 Название Для каких Описание Возможно свойства элементов действия сть управления изменени используется я Tag Form, MD1 form,Определяет +/+ 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, picture box, shape, text box, timer, vertical scroll bar Text Combo box, listОпределяет +/+ box, text box данные текстового окна или выбранного элемента списка Top Row Grid Определяет -/+ максимальное количество выделенных строк UpdateOptOLE control Определяет -/+ ions изменение данных элемента при изменении данных в связанном объекте Value Check box, Значение -/+ command button,состояния field object, элемента horizontal управления scroll bar, option button, vertical scroll bar Verb OLE control Спецификация +/+ действий при запуске OLE—объекта Visible Form, MDI form,Определяет +/+ 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, picture box, shape, text box, vertical scroll bar
Окончание табл. 2.1 Название Для каких жность свойства элементов изменен управления ия используется WindowStateForm, MD1 formОпределяет +/+ видимость формы при выполнении программы Wordwrap Label Определяет +/- направление (вертикальное или горизонтально е) изменения поля метки при ее заполнении текстом XI, Yl, X2,Line Определяют +/+ Y2 начальные и конечные координаты
Каждому диалоговому элементу (форме и элементам управления) в Visual Basic поставлен в соответствие определенный набор событий, происходящих в период выполнения программы. Например, событие Load (Загрузка) происходит при загрузке формы, событие Clik (Щелчок) вызывается щелчком кнопки мыши, событие DblClick (Двойной щелчок) вызывается двойным щелчком кнопки мыши и т.д. В табл. 2.2 приводится список событий, элементы управления, для которых они определены, и краткое описание действия. Более подробную информацию о приведенных в таблице событиях и особенностях их использования можно найти в встроенной справочной системе Visual Basic. Каждому приведенному в таблице событию ставится в соответствие процедура обработки события (процедура (procedure) - в языках программирования набор операторов, выполняемых при вызове процедуры). Событие может вызывать при наличии в приложении процедуры обработки данного события программируемое изменение данных. Как было показано выше. Visual Basic содержит автоматически формируемые заготовки для таких процедур (первый и последний операторы процедур) в поле для записи программы (вызываются из окна проекты (Project) Главного меню). Имя процедуры формируется автоматически и состоит из двух частей, разделенных подчеркиванием: имя выделенного диалогового элемента и имя выделенного события. Таблица 2.2 Название Элементы Описание действия события управления, для которых используется события Activate, Form, MD1 form Активизация (окно Deactivate формы становится активным), дезак-тивизация формы Change Combo box, Изменение directory list содержания box, drive listэлементов box, horizontalуправления scroll bar, (например, набор label, picture символа в текстовом box, text box, окне) vertical scroll bar Click Form (кроме MD1Одинарный щелчок form), check мыши по box, combo box,управляющему command button,элементу directory list box, file list box, frame, grid, image, label, list box, menu, OLE control, option button, picture box, text box DblClick Form (кроме MD1Двойной щелчок мыши form), combo по управляющему box, file list элементу box, frame, grid, image, label, list box, OLE control, option button, picture box, text box DragDrop Form, MD1 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, OLE control, option button, picture box, text box, vertical scroll bar DragOver t Form, MD1 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, OLE control, option button, picture box, text box, vertical scroll bar
Продолжение табл. ...
ВНИМАНИЕ!
Текст просматриваемого вами реферата (доклада, курсовой) урезан на треть (33%)!
Чтобы просматривать этот и другие рефераты полностью, авторизуйтесь на сайте:
|
|
|
Добавлено: 2010.10.21
Просмотров: 1231
|
Notice: Undefined offset: 1 in /home/area7ru/area7.ru/docs/linkmanager/links.php on line 21
При использовании материалов сайта, активная ссылка на AREA7.RU обязательная! |