Создание интерфейса пользователя

Основные понятия и создание интерфейса пользователя. Работа с переменными, массивами, константами и со свойствами объектов. Элементы управления, модуль и совокупность описаний, процедур и функций. Модуль коэффициентов корреляции и методы решения систем.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 11.07.2011
Размер файла 1,5 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

1

Размещено на http://www.allbest.ru/

Министерство образования РФ

ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТ

Л.П.Шишкина, Т.П.Бояринцева, Т.Н.Сержант

ЛАБОРАТОРНЫЙ ПРАКТИКУМ

ПО ИНФОРМАТИКЕ

для студентов очной формы обучения

Часть II. Visual Basic for Applications

г.Иркутск 2002

Лабораторный практикум по информатике. Часть II. Visual Basic for Applications. - Иркутск: Изд-во Иркутского госуд. техн. ун-та, 2002. - 52 с.

Приводятся основные сведения о программировании на VBA (Visual Basic for Applications), а также лабораторные, контрольные и курсовые работы, позволяющие освоить основные приемы программирования с табличным процессором Excel. Часть II ориентирована на студентов дневной формы обучения. Она должна помочь им получить начальные навыки программирования в современной объектно и событийно-ориентированной визуальной среде программирования. Планируется также издание вариантов заданий на подготовку курсовых работ для студентов ряда факультетов - темы этих работ должны быть приближены к будущим специальностям студентов.

Содержание

Введение

1. Создание интерфейса пользователя

2. Основные понятия

3. Редактор VBA

4. Работа с переменными, массивами, константами и со свойствами объектов

5. Основные инструкции языка Visual Basic

6. Создание пользовательских форм

7. Отладка приложений

8. Лабораторные работы

9. Самостоятельные и контрольные работы

10. Курсовые работы

11. Дополнительные курсовые работы для студентов горно-геологических специальностей

Литература

Введение

Программирование - это теоретическая и практическая деятельность, связанная с созданием программ. Цель этого практикума - познакомить студентов с современными инструментальными средствами и методами создания программ.

В качестве инструмента для создания приложений в данной работе выбран VBA -Visual Basic for Applications (Visual Basic для приложений). Этот выбор объясняется следующими причинами:

VBA - это интегрированная среда визуального программирования, позволяющая создавать современные событийно-объектно-ориентированные приложения с унифицированным графическим интерфейсом;

языковые средства VBA по гибкости и полноте не уступают языковым средствам других современных систем программирования и, следовательно, позволяют освоить типовые методы и приемы разработки программных процедур;

VBA является общей языковой платформой для всех приложений MS Office и позволяет в создаваемых программах работать с объектами Word, Excel, Access, Power Point, OutLook, Binder; мы будем рассматривать VBA во взаимосвязи с Excel, размещая на листах Excel исходные данные и результаты решения задач.

VBA - это сочетание современного языка программирования и вычислительных возможностей Excel. VBA содержит графическую среду, позволяющую создавать удобный интерфейс пользователя, наглядно конструируя экранные формы и управляющие элементы.

1. Создание интерфейса пользователя

Для создание интерфейса пользователя используются элементы управления и диалоговые окна. С помощью пункта меню Вид/Панели инструментов/Visual Basic разместим панель инструментов VBA рядом с другими панелями инструментов Excel.

На этой панели расположены следующие значки: Выполнить макрос, Записать макрос, Редактор Visual Basic, Элементы управления и Режим конструктора. Третий значок применяется для переключения на окно редактора. Он нам понадобится позже, во время разработки процедур. А нажатие на кнопку с четвертым значком приведет к появлению в пределах

листа Excel панели, содержащей элементы управления и три кнопки (с левого края): Режим конструктора, Свойства и Исходный текст.

Флажок поле кнопка переключатель счетчик надпись

Первая из этих кнопок позволяет перейти в режим конструктора. В этом режиме работа пользователя с таблицей Excel блокируется, но есть возможность создавать приложение VBA. Вторая кнопка позволяет открыть окно Свойства - в нем устанавливают свойства выделенного элемента управления. Третья кнопка позволяет переключиться в окно редактора, причем именно на процедуру обработки события, связанного с выделенным элементом управления.

Итак, теперь на листе Excel имеется весь необходимый инструментарий для создания интерфейса приложения. Само создание интерфейса сводится к выбору элементов управления на панели инструментов, к их размещению на листе Excel с помощью мыши, и к установке свойств каждого элемента. Кроме того, для многих элементов управления требуется написать событийные процедуры. Чаще всего в интерфейс приложений включаются следующие элементы управления:

Таблица 1 Элементы управления

Элементы управ-ления

Использование/ описание

Свойства

Name (имя)

Border Style (тип границы)

Caption (заголовок)

Enabled (доступный)

Height, Width (ширина высота)

Font (шрифт)

Text Align (выравнивание)

Text (текст)

Value (число)

Visible (види-мый)

Поле (Text Box)

Ввод, редактирование данных или вывод результатов програм-мы

TextBox1 или

другое

+

+

+

+

+

+

+

+

Надпись (Label)

Отображает неизме-няемый текст, напри-мер заголовки для других элементов управления

Label1

Или другое

+

+

+

+

+

+

+

Флажок (Check Box)

Позволяет задать зна-чение “Истина” или ”Ложь”

Check Box1

Или другое

+

+

+

+

+

Поле со списком (Combo Box)

Позволяет выбрать элемент из списка или ввести данные вруч-ную

Combo Box1

Или другое

+

+

+

+

+

+

+

Список (List Box)

Применяется для хра-нения текстовых строк - элементов списка

List Box1

Или другое

+

+

+

+

+

+

Кнопка (Command Button)

Используется для инициирования выполнения некото-рых действий, вызы-ваемых нажатием кнопки

Command Button1

Или другое

+

+

+

+

+

Перек-лючатель (Option Button)

Позволяет выбрать один вариант из не-скольких

Option Button1

Или другое

+

+

+

+

+

+

+

Рамка (Frame)

Используется для группировки элемен-тов упраления

Frame1

Или другое

+

+

+

+

+

+

Счетчик (Spin Button)

Применяется для из-менения числового значения

Spin Button1

Или другое

+

+

+

+

Рисунок (Image)

Используется для ото-бражения графиче-ских файлов

Image1

Или другое

2. Основные понятия

Приложение, созданное на VBA, имеет модульную структуру. Это означает, что процедуры, входящие в приложение, группируются в модули.

Проект - совокупность модулей, предназначенных для решения комплекса задач предметной области.

Модуль - совокупность описаний, процедур и функций.

Инструкция (оператор) - единица кода, которая является операцией или описанием.

Описание - это инструкция, используемая для описания переменных, массивов, констант, типов данных, а также ссылок на внешние функции.

Процедура - поименованный набор описаний и инструкций, сгруппированных для решения определенной задачи.

Процедуры, переменные, модули, константы и другие объекты имеют имена. Имена должны быть понятными и отражать назначение объекта. При именовании следует придерживаться следующих правил:

Длина имени не должна превышать 256 символов.

В имени можно использовать любую комбинацию букв, цифр и символов, но оно должно начинаться с буквы.

Имена не должны включать точек, пробелов и следующих символов: % & ! # @ $

Имена должны быть уникальны внутри области определения.

Область определения зависит от того, где определена процедура, функция или переменная. В одном модуле не может быть процедур и функций с одинаковыми именами, а внутри процедуры или функции имена переменных и массивов не должны дублироваться.

VBA позволяет создавать три типа процедур Sub, Function и Property. При запуске процедуры Sub выполняются команды процедуры, а затем управление передается в приложение или процедуру, которая вызвала процедуру Sub. Function (функция) также решает определенную задачу. Различие заключается в том, что функция возвращает единственное значение, поэтому обычно используется для выполнения вычислений. Property используется для ссылки на свойство объекта. Применяется для установки или получения значения пользовательских свойств форм и модулей. Процедуры Sub подразделяются на процедуры, связанные с элементами управления (событийные) и процедуры общего назначения.

Объект - это программный элемент, который имеет свое отображение на экране, содержит некоторые переменные, определяющие его свойства и некоторые методы для управления объектом. Кроме элементов управления, имеется много встроенных объектов. Например, Worksheet - рабочий лист, Sheet - лист, Range - диапазон ячеек, Cells -ячейка, Dialogsheet - диалоговое окно.

3. Редактор VBA

Разработка модулей (процедур) выполняется в редакторе VBA с использованием одного из двух основных методов.

Автоматическая запись макроса и его редактирование. Этот метод позволяет записать выполняемые пользователем действия, а затем в любое время воспроизвести их, т.е. автоматизировать работу. При записи макроса основное приложение создает процедуру с именем макроса, которую можно просмотреть и отредактировать. Требуется выбрать кнопку Записать макрос, выполнить требуемую последовательность действий и остановить макрос. Затем выбрать записанный макрос в списке макросов и нажать кнопку Изменить. Запускается окно редактора VBA и в окне модуля выводится текст макроса. Запись макросов очень полезна для ознакомления с приемами программирования. Например, вы не знаете как запрограммировать вычерчивание отрезка прямой линии: включаете запись макроса, выполняете графические операции с помощью панели инструментов Рисование и смотрите, как выглядят соответствующие инструкции VBA.

Создание процедур и функций в редакторе. В этом случае на лист Excel выносятся требуемые элементы управления и создаются процедуры, связанные с ними, а также процедуры и функции общего назначения.

На рисунке 1 представлено окно проекта, в котором элементы отображаются в виде иерархической структуры, включающей формы, модули, объекты основного приложения (листы книги Excel) и рабочее окно редактора VBA.

Ввод инструкций в редакторе VBA:

В одной строке можно записать одну или несколько инструкций,

Несколько инструкций в одной строке разделяются символом : (двоеточие),

Для продолжения инструкции в следующей строке надо ввести пробел и символ _ (подчерк) в конце строки,

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

Инструкция VBA состоит из элементов, среди которых могут присутствовать:

Ключевое слово - это слово или символ, которые распознаются как элементы языка программирования, например, If, Else, Sub, For и т.д.

Выражение - комбинация ключевых слов, переменных и констант; результатом выражения является строка, число или логическое значение.

Переменная - поименованная область памяти, отведенная для временного хранения данных, которые могут изменяться при выполнении программы.

Массив - поименованная область памяти состоящая из набора элементов (обычно - переменных) определенного типа, каждый элемент имеет свой порядковый номер. Порядковый номер называется индексом элемента в массиве.

Константа - поименованный элемент, сохраняющий постоянное значение втечение выполнения программы.

Методы и свойства объектов: методы - это действия, которые выполняются объектом, а свойства - это переменные, описывающие характеристики объекта. Методы и свойства записываются через точку после имени объекта, например, TextBox1.Text.

Переключение на окно Excel

Создание формы в редакторе VBA

Рис. 1. Окно Visual Basic, в нем окна проекта и редактора

Структура процедуры:

[Private] Sub имя ([аргументы]) - заголовок процедуры

Инструкции - тело процедуры

End Sub - конец процедуры

Имя - имя создаваемой процедуры;

Аргументы - переменные, позволяющие передать в процедуру требуемые значения.

Private - процедура может использоваться только модулем в котором она находится.

[Private] Function имя ([аргументы]) [As Type] - заголовок функции

Инструкции - тело функции

Имя= выражение - возвращаемое значение

End Function - конец функции

Имя - имя создаваемой функции;

Аргументы - переменные, позволяющие передать в функцию требуемые значения.

As Type - выражение, определяющее тип результата, возвращаемого функцией.

Пример функции: вычисление длины окружности.

Имя - Circle, аргумент -R (радиус окружности).

Function Circle (R as Double) as Double

Const Pi as Double= 3.14159

Circle=2*Pi*R

End Function

Вызов функции Circle из другой функции или процедуры:

R2=5: S2 =Circle (R2) ' Значение S2 будет равно 31.4159

Аргумент, описанный в функции или в процедуре (в этом примере - это переменная R), называют формальным параметром, а значение аргумента, фактически передаваемое функции или процедуре при ее вызове (в этом примере - переменная R2) , называют фактическим параметром.

Пример процедуры: вычисление длины окружности.

Имя - Circle, аргументы: R(радиус окружности), S(длина окружности).

Sub Circle (R as Double, S as Double)

Const Pi as Double= 3.14159

S=2*Pi*R

End Sub

Вызов процедуры Circle из функции или другой процедуры:

Circle R2, S2

4. Работа с переменными, массивами, константами и со свойствами объектов

Приложение, созданное средствами VBA и встроенное в рабочую книгу Excel, хранит исходные, промежуточные данные и результаты их обработки в таблицах и отдельных ячейках на листах книги Excel, в переменных, в массивах переменных и в виде констант, а также в виде значений свойств объектов - элементов управления. Кроме того, VBA предоставляет средства для чтения данных из файлов и для записи в файлы. Для работы с данными используются инструкции языка программирования, процедуры и функции, но все эти средства рассчитаны на работу с данными определенных типов. Рассмотрим встроенные типы данных VBA (Таблица 2). Возможности конструирования в приложении собственных типов данных поясним позже.

Таблица 2.

Встроенные типы данных VBA

Тип данных

Размер

в байтах

Разрядность (цифр)

Диапазон, пояснение

Boolean

Byte

Integer

Long

Single

Double

Currency

Date

String

Object

Variant

2

1

2

4

4

8

8

8

1+L

4

1

? 3

? 5

? 10

? 7

? 15

? 19

True, False - логические значения

0, 255 - целые положительные числа

-32768, 32767 - целые числа

-2147483648, 2147483647 - длинные целые

-3.402823.1038, -1.401298.10-45- отрицательные числа

1.401298.10-45, 3.402823.1038 - положительные числа

Действительные числа с двойной точностью

Действительные числа с 4 знаками после десятичной точки. Используются для точных денежных расчетов

01.01.0100, 31.12.9999 - даты

Строка из L символов; L? 65535

Объект - фактически, ссылка на него, т.е. адрес его размещения в оперативной памяти Может принимать любой тип данных, т.е. настройка на тип операнда происходит во время исполнения инструкций или процедур

Когда при разработке приложения возникает необходимость в переменной для хранения данных, ее описывают в модуле перед процедурами или в конкретной процедуре. В первом случае переменная будет доступна всем процедурам модуля (как контейнер общего пользования), а если в ее описании применено ключевое слово PUBLIC, то переменную смогут использовать даже процедуры других модулей. Такую переменную называют глобальной. В ней удобно размещать данные, требуемые многим процедурам. Переменная, описанная внутри процедуры, называется локальной - она используется только в этой процедуре, а в других могут быть переменные с таким же именем. Инструкция, содержащая описание переменной, имеет вид:

Dim ИмяПеременной As ТипДанных

Для определения глобальной переменной вместо Dim пишут Public. Пример описания переменных:

Public Nprof, X0 As Single, Y0 As Single

Dim I As Integer, J As Integer, Date1 As Date, Date2 As Date, ФИО As String*32

Nprf=40

При описании переменной ФИО, кроме ее имени и типа, указана длина в байтах. Длину можно назначать (хотя это не обязательно) для строковых переменных. Для переменной Nprof тип вообще не указан - по умолчанию ей будет назначен тип Variant - это удобно для программиста, но не экономично: число в формате Variant занимает 16 байт, а строка - 22 байта плюс по 1 байту на каждый символ. Переменные типа Variant могут хранить следующие значения:

Empty - не получила начального значения. Переменная типа Variant, содержащая значение Empty, рассматривается как 0 в контексте математических операций и как пустая строка ("") в контексте операций со строковыми значениями.

Null - не содержит данных, это значение можно присвоить переменной.

Error - является специальным значением, которое используется для указания возникновения условия ошибки в процедуре.

VBA позволяет использовать переменные без предварительного описания, поэтому переменная Nprf сразу используется в инструкции присваивания. Она имеет тип Variant по умолчанию. Такой стиль “ввода в действие” переменных довольно опасен, т.к затрудняет поиск ошибок. ПоэтомуVBA позволяет наложить требование на явное описание всех переменных в модуле. Для этого в описательную часть модуля (до процедур) надо включить инструкцию Option Explicit. Если теперь попытаться использовать в тексте процедур необъявленные переменные, VBA сразу обнаружит ошибки.

Иногда имена записывают так: Номер_строки или НомерСтроки. Применение полных имен особенно полезно для глобальных переменных, которые хранят параметры моделируемых объектов и явлений. В компактных процедурах удобнее пользоваться переменными, применяемыми в математике и физике, например: X - координата, M - число строк в матрице или таблице, i - номер очередной строки, N - число столбцов, j - номер текущего столбца, V - скорость, S - путь и т.п.

Кроме возможности явного задания типа переменной, VBA позволяет указать тип переменной неявно, добавив к ее имени символ-указатель:

$ - для типа данных String, например, ФИО$ = ”Иванов И.И.” ;

% - для данных типа Integer, например, i% = 1;

& - для данных типа Long, например, CX& = 6510200;

! - для данных типа Single, например, x! = 107.315;

# - для данных типа Double, например, Pi# = 3.14159;

@ - для данных типа Currency, например, SS@ = 67920.12

Такой подход вряд ли стоит рекомендовать, но иногда он может способствовать наглядности.

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

Dim V(1 to 200) As Single, T(1 to 200) As Single, i As Integer

Так можно описать массивы измеренных значений скорости и времени. При вычислениях i-ый элемент массива указывают с помощью индекса:

S=S+(V(i)+ V(i+1))*0.5*(T(i+1)-T(i))

Если при описании массива размерность задать одним числом, например, V(200), то будет считаться, что нумерация элементов массива начинается с 0 и оканчивается числом 200. Если в описательную часть модуля (до процедур) включить инструкцию Option Base 1, то нумерация элементов массива будет начинаться с 1. Кроме одномерных массивов, используются многомерные. Предположим, что на листе Excel в первом столбце размещены идентификаторы строк, например, Y1,Y2,…,YI,…,YM , а в первой строке - идентификаторы столбцов: X1,X2,…,XJ,…,XN. На пересечении I-ой строки и J-го столбца находится элемент aIJ

матрицы (Рис.2.).

В этом примере матрица представляет собой таблицу коэффициентов, позволяющих связать любой YI уравнением со значениями X1,…,XN:

YI=aI1*X1+aI2*X2+…+aIJ*XJ+…+aIN*XN

Другими словами, мы имеем матричную запись системы линейных уравнений. Пусть для последующей работы с матрицей требуется задать M, N, разместить идентификаторы YI (I=1,…,M) и XJ (J=1,…N) в массивах CY, CX, а элементы матрицы в двумерном массиве A(I,J).

Этот пример иллюстрирует часто встречающуюся ситуацию: в момент составления программы обычно не известно количество элементов массива - оно определяется программой во время исполнения. Если заранее можно оценить максимальную длину массива, то его часто резервируют с расчетом на максимальную размерность. Так, в нашем случае можно принять ограничение: разрабатываемая программа предназначается для работы с матрицами, у которых число строк и столбцов не превышает 40. Тогда инструкция для резервирования массивов будет иметь вид:

Dim CY(1 to 40), CX(1 to 40), A(1 to 40,1 to 40) As Double

Visual Basic предоставляет и другую возможность - динамического переопределения размерности массивов.

При резервировании массива размерность не указывается. Например, Dim a() as Single.

В процедуре вычисляется необходимый размер массива и присваивается некоторой переменной n.

Выполняется изменение размерности массива: Redim a (1 to n)

Допустимо повторное использование инструкции Redim

Рассмотрим следующий модуль:

Option Explicit

Dim CY( ), CX( ), A( ) As Double

Dim I As Integer, J As Integer, M As Integer, N As Integer

Private Sub CommandButton1_Click( )

N=TextBox1.Value : M=TextBox2.Value 'Определение M, N - размерности матрицы

ReDim CY(1 To M)

ReDim CX(1 To N) 'Изменение размерности массивов

ReDim A(1 To M, 1 To N)

TabCXCY ' Копирование идентификаторов столбцов и строк в массивы CX, CY

TabA ' Копирование матрицы в массив A

End Sub

Private Sub TabCXCY( )

For J = 1 To N

CX(J) = Cells(1, J + 1).Value 'Идентификаторы столбцов

Next J

For I = 1 To M

CY(I) = Cells(I + 1, 1).Value 'Идентификаторы строк

Next I

End Sub

Private Sub TabA( )

For I = 1 To M

For J = 1 To N

A(I, J) = Cells(I + 1, J + 1).Value

Next J

Next I

End Sub

Этот модуль содержит событийную процедуру CommandButton1_Click, решающую поставленную выше задачу при нажатии кнопки на листе Excel (на рис. 2 показана только сама матрица, причем символически), и общие процедуры: TabCXCY - копирование идентификаторов столбцов и строк в массивы CX, CY; TabA - копирование матрицы из таблицы на листе Excel в двумерный массив A; M и N вводятся в поля TextBox1 и TextBox2.

Массивы CX, CY, A и основные переменные, требуемые для работы с матрицей, определены на уровне модуля, т.е. доступны всем его процедурам. Элементы массивов CX и CY имеют тип VARIANT, т.к. для них тип явно не указан. Выбор типа VARIANT для этих массивов обусловлен тем, что при последующем расширении написанного модуля в этих массивах, возможно, потребуется размещать не имена строк и столбцов, а сами значения YI и XJ. Обратим внимание на то, что все три массива в начале модуля определены без указания размерности, т.е. как динамические, а в процедуре CommandButton1_Click наши массивы переопределены - но только после ввода M и N. Приведенные процедуры еще пригодятся для пояснения циклов и как пример для самостоятельной разработки процедур на лабораторных занятиях.

Завершая рассмотрение массивов, заметим, что в математике аналогом программисткого термина одномерный массив является понятие вектор. Вектор можно и нужно толковать не только геометрически: в общем случае это набор значений, например, свойств (признаков) объекта. Если представить себе многомерную систему координат, где по каждой оси отложено значение одного из свойств объекта (скажем, длина автомобиля, расход горючего, максимальная скорость и т.д.), то каждый объект в такой системе координат будет точкой - точкой в признаковом пространстве. Совокупность значений отдельных координат (в нашем примере - длины автомобиля, расхода горючего, максимальной скорости и др.) и есть вектор. Понятие вектора очень удобно для краткой записи операций с массивами чисел. Кстати, математический термин матрица соответствует двумерному массиву. Матрицу можно рассматривать как совокупность векторов-строк или векторов-столбцов.

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

Type RecBook

Название As String*50

Автор As String*20

Издательство As String*16

Год As Integer

End Type

Теперь в этом же модуле или в одной из его процедур зарезервируем массив для хранения записей о книгах:

Dim Books(500) As RecBook

Для доступа к полям Издательство и Год в i-ой записи массива воспользуемся инструкциями:

Books(i).Издательство=”Недра” : Books(i).Год=1999

В этом пособии мы намеренно пользуемся примерами, а не строгими определениями синтаксиса инструкций VBA. Как уже отмечалось, такие определения легко получить в справочной системе Visual Basic - когда программист тонет, он кричит <F1> !

Кроме переменных, в программах используются данные, значения которых не изменяются - это константы. Приведем примеры их определения:

Const Pi As Double = 3.14159

Const Nmin As Long = 0

Const Nmax As Long = 999999

Определив константы один раз, например, в начале модуля, ими можно пользоваться во многих инструкциях, не вспоминая каждый раз точное значение числа р. Если же в процессе разработки программы потребуется изменить ограничение Nmax , то это надо будет сделать в единственной инструкции.

Некоторые данные во время работы приложения могут храниться в качестве свойств объектов: свойств ячеек листа Excel, свойств элементов управления и др. Приведем примеры:

Лист2.Cells(2,6).Formula = “=Sum(B1:B5)”

Лист2.Range("A1:D4").Value = Range("A1:D4").Value

TextBox1.Text = “M=” & Str(M) & “ S=” & Format(S, “0.00”)

В первом примере свойству Formula объекта Cells(2,6) , принадлежащего, в свою очередь, объекту Лист2, присваивается конкретная формула. Этот пример, кстати, показывает, как при программировании на VBA можно пользоваться встроенными в Excel формулами. Но верно и обратное: разрабатывая функции на VBA, можно расширить набор формул, доступных в Excel. Во втором примере значения, хранимые в прямоугольной области ячеек на текущем (активном в момент выполнения инструкции) листе, присваиваются ячейкам одноименной области на листе 2. В третьем примере с помощью операции конкатанации (&) три подстроки объединяются (суммируются) в одну строку, и эта строка присваивается свойству Text объекта TextBox1. Cells (Row,Column) обозначение ячейки, где Row - номер строки, а Column - номер столбца. Например, ячейка A2 обозначается Cells(2,1). Последний пример показывает, как значения M и S вывести в поле, размещенное на форме или на листе Excel.

5. Основные инструкции языка Visual Basic

Сгруппируем основные инструкции языка Visual Basic по типу операций:

присваивания, в том числе с выполнением математических операций в правой части инструкции;

проверки условий, управления последовательностью исполнения инструкций, организации циклов;

инструкции для работы с файлами.

Последняя группа инструкций в этом кратком пособии не рассматривается. При необходимости с ними можно познакомиться самостоятельно [2, 4].

Инструкция присваивания предписывает найти значение выражения, заданного в ее правой части, и присвоить результат переменной, идентификатор которой расположен в левой части. Например, присвоить переменной x значение 2 - это можно записать: x=2; в следующем примере значение переменной x увеличивается на 2: x = x + 2. Рассмотрим математические операции, которые используются в выражениях, стоящих в правой части инструкций присваивания. Среди возможных операций можно выделить арифметические, конкатанации строк, сравнения и логические.

Арифметические операции выполняются над числами, и их результатом являются числа. Они перечислены в таблице 3. При программировании формул необходимо учитывать приоритеты операций и в случае необходимости использовать скобки, как это принято в математике. Поясним таблицу 3. Смена знака имеет место, когда минус ставится перед именем переменной, константы или перед числом. Например: F=CX*(-G^2) ; если CX=3, а G=1.5 , то F = -6.75. Чтобы убедиться в правильности результата, достаточно на листе Excel разместить кнопку CommandButton1 и поле TextBox1, а в событийную процедуру CommandButton1_Click включить инструкции:

Dim I As Integer, F As Single

F = 3 * (-1.5 ^ 2) : I = 3 * (-1.5 ^ 2)

TextBox1.Text = "F=" & Format(F, "0.00") & " I=" & Str(I)

Выйдя из режима конструктора и нажав кнопку, увидим в поле TextBox1 результаты.

интерфейс модуль матрица массив пользователь

Таблица 3. Арифметические операции

Операция

Наименование

Прио-ритет

Примеры

Результаты

I -

Целое число

F - действитель- ное число

I

F

^

Возведение в степень

1

I = 1.5^2

F = 1.5^2

2

2.25

-

Смена знака

2

I = -6.75

F = -6.75

-7

-6.75

*

Умножение

3

I = 1.3*4

F = 1.3*4

5

5.20

/

Деление

3

I = 10/3

F = 10/3

3

3.33

\

Деление нацело

4

I = 10\3

F = 10\3

3

3.00

Mod

Остаток от деления

5

I = 10 Mod 3

F = 10 Mod 3

1

1.00

+

Сложение

6

I = 12 + 7

F = 11.45+7.55

19

19.00

-

Вычитание

6

I = 7-12

F = 7.55-11.45

-5

-3.90

Все результаты примеров легко проверить, подставляя в текст приведенной только что процедуры формулы вычисления I и F. Из этих примеров должно быть понятно, что результат арифметических операций зависит также от типа переменной, которой он присваивается - ведь переменная целого типа не может хранить число с плавающей точкой, и поэтому перед записью в ячейку I результат округляется.

Приведенная выше процедура иллюстрирует и конкатанацию (&) - слияние строк. К строке “F=” прибавляется строка, содержащая отформатированное значение F (с двумя цифрами после десятичной точки). К этой объединенной строке добавляется “ I=” и далее - превращенное в последовательность символов (в строку) число I.

Операции сравнения используют для сравнения чисел, значений переменных, констант, ячеек таблиц. Результат операции сравнения имеет тип Boolean - может принимать значение True или False (Таблица 4).

Таблица 4. Операции сравнения

Операция

Наименование

Пример (R имеет тип Boolean)

Результат ®

=

Равно

R = (10=5)

False

>

Больше

R = 10>5

True

<

Меньше

R = 10<5

False

>=

Больше или равно

R = “a” >= “b”

False

<=

Меньше или равно

R = “a” <= “b”

True

<>

Не равно

R = “a” <> “b”

True

В логических операциях не только результат, но и операнды имеют тип Boolean.

Таблица 5. Логические операции

Операция

Наименование

And

Логическое умножение

Or

Логическое сложение

Xor

Исключающее Or (или)

Not

Логическое отрицание

Поясним назначение таких операций на простом примере. Пусть переменная типа Boolean с именем R должна принимать значение True, если точка с координатами X,Y попадает в прямоугольную область, ограниченную координатами X1,X2 и Y1,Y2. Если точка за пределами прямоугольника, то R=False. Применив логическую операцию AND (И), вычислим значение R:

R = (X>=X1) AND (X<=X2) AND (Y>=Y1) AND (Y<=Y2)

Смысл этой операции в том, что если и первое выражение (X больше или равно X1) истинно, и второе истинно, и третье истинно, и четвертое истинно, то R=True. Если один из операндов логической операции AND представляет собой ложное выражение (утверждение), то и результатом будет False.

Кроме операции AND, к числу часто используемых логических операций относятся OR и NOT. Первая из них дает результат True, если истинно хотя бы одно выражение, являющееся операндом. Операция NOT изменяет результат на противоположный, подобно смене знака в арифметическом выражении. Вычислим R с помощью этих операций:

R = NOT ((X<X1) OR (X>X2) OR (Y<Y1) OR (Y>Y2))

Выражение, стоящее в скобках после операции NOT, истинно (True), если точка или левее, или правее, или ниже, или выше воображаемого прямоугольника, т.е. если точка в него не попала. В этом случае R будет иметь значение False благодаря логическому отрицанию NOT.

Несколько реже используются логические операции XOR (исключающее ИЛИ), EQV (эквивалентность) и IMP (импликация). Первая из них дает результат True, если только одно из выражений-операндов имеет результат True. Результатом операции EQV будет True, если выражения-операнды дают одинаковый результат. Результатом IMP будет True, если выражения-операнды дают разные результаты.

Перейдем теперь ко второй, важнейшей в любом языке программирования, группе инструкций. Это инструкции проверки условий и организации циклов. Все они позволяют управлять последовательностью исполнения инструкций в программе.

Инструкция IF (ЕСЛИ) используется в двух нотациях: в виде простой и блочной структур. Инструкция простой структуры имеет следующую форму записи:

If <Выражение> Then <Инструкция, исполняемая, если выражение-условие истинно>

Конструкция блочной структуры может включать один блок инструкций (<Блок 1>), исполняемых, если выражение 1 истинно, или же еще дополнительные условия, сопровождаемые блоками инструкций:

If <Выражение1> Then

<Блок 1 - исполняется, если выражение 1 истинно>

ElseIf <Выражение2> Then

<Блок 2 - исполняется, если выражение 2 истинно >

ElseIf <Выражение3> Then

<Блок 3 - исполняется, если выражение 3 истинно >

Else

<Блок инструкций, исполняемых, если ложны выражения в инструкциях If и ElseIf>

End If

Приведем примеры простой инструкции If:

Вычисление значения функции:

G=

2y+

If y <= 0 Then G = (1 + y^2) / Sqr(1 + y^4) Else G = 2 * y + sin(y)^2 / (2+y)

2) Сообщение, если R - истинно: If R Then MsgBox “Точка попала в прямоугольник”

Теперь пример блочной структуры:

R = False

If X < X1 Then

GoTo 10 'уже ясно, что точка не попала в прямоугольник

ElseIf X > X2 Then

GoTo 10 `управление передается на метку 10

ElseIf Y < Y1 Then

GoTo 10

ElseIf Y > Y2 Then

GoTo 10

Else

R = True

End If

10: MsgBox R 'после метки ставится двоеточие

Блоки ElseIf и (или) Else могут отсутствовать. В любом случае блочная конструкция оканчивается инструкцией End If.

Приведенный пример, кроме блочной конструкции IF, поясняет возможность использования в программе меток и передач управления с помощью инструкции GoTo. Метка не обязательно обозначается числом - можно было написать и N10 или MsgR.

В ситуациях, когда требуется запрограммировать три и более разветвлений в зависимости от значения одной переменной, удобно использовать структуру Select Case:

Select Case <Переменная>

Case <Значение 1> либо Case is <Условие 1>

<Блок 1 - выполняется, если значение переменной равно значению 1

или соответствует условию 1>

Case <Значение 2> либо Case is <Условие 2>

<Блок 2 - выполняется, если значение переменной равно значению 2

или соответствует условию 2>

End Select

Приведем пример:

Возраст = TextBox1.Value

Select Case Возраст

Case Is < 13

Label1.Caption = "После 22-00 спать !"

Case 16

Label1.Caption = "Пора получать паспорт"

Case Is < 18

Label1.Caption = "Только чай !"

Case Is >= 18

Label1.Caption = "Можно почти все!"

End Select

Теперь рассмотрим организацию циклов. Циклы применяются для многократного повторения одной или нескольких инструкций. Вообще говоря, цикл нетрудно организовать и без специальных инструкций по схеме:

инструкции присваивания начальных значений переменной цикла и другим переменным;

инструкции, исполняемые при очередном значении переменной цикла;

наращивание (изменение) переменной цикла и, возможно, других переменных, изменяемых одновременно с переменной цикла;

проверка переменной цикла на соответствие условию, при котором цикл должен исполняться повторно, и передача управления блоку 2 при выполнении этого условия

(IF <условие> GoTo <метка в начале блока 2>).

Но в языках высокого уровня, и в том числе в VBA, предусмотрены инструкции, позволяющие записывать циклы еще компактнее. Проще всего цикл записывается, если известны начальное, конечное значения переменной цикла и шаг ее изменения. В таких случаях используют инструкцию For…Next , имеющую следующий синтаксис:

For счетчик = начало To конец [Step шаг]

[инструкции]

[Exit For]

[инструкции]

Next [счетчик]

Инструкции For…Next в общем случае содержит следующие элементы:

Счетчик (переменная цикла) - числовая переменная, используемая в качестве счетчика цикла. Эта переменная не может иметь тип Boolean или быть элементом массива.

Начало - начальное значение переменной цикла.

Конец - конечное значение переменной цикла.

Шаг - необязательный аргумент. Значение, на которое изменяется счетчик при каждом выполнении тела цикла. Если это значение не задано, по умолчанию шаг равен 1. Шаг может быть как положительным, так и отрицательным

Инструкции - одна или несколько инструкций между For и Next, которые выполняются указанное число раз.

После выполнения всех инструкций цикла значение шаг добавляется к текущему значению переменной счетчик. После этого инструкции цикла либо выполняются в очередной раз, либо цикл завершается и выполнение продолжается с инструкции, следующей за инструкцией Next.

Пусть в J-ом столбце на листе Excel надо суммировать четные ячейки до строки 20, но только пока не встретится число 7777:

J = 1: S = 0

For I = 2 To 20 Step 2

F = Cells(I, J).Value

If F = 7777 Then Exit For 'Выход из цикла - на инструкцию после Next

S = S + F

Next I

MsgBox "i= " & Str(I-2) & " S=" & Str(S)

После выхода из цикла сообщается номер последней ячейки, значение которой добавлено к S и сама накопленная сумма.

В большинстве случаев циклы этого типа выглядят проще, т.к. обычно не требуется задавать шаг изменения переменной цикла (Step) и не нужно выходить из цикла по дополнительному условию (Exit For). В модуле, приведенном после рис. 2, такие циклы используются в процедурах TabCXCY и TabA. В последней процедуре - вложенный (двойной) цикл.

В тех случаях, когда нет возможности указать начальное и конечное значения переменной цикла, используют циклы типа Do-Loop. Для таких циклов возможны 4 варианта записи:

условие True в начале цикла

Do While <условие>

<инструкции, исполняемые в цикле>

Loop

условие False в начале цикла

Do Until <условие>

<инструкции, исполняемые в цикле>

Loop

условие True в конце цикла

Do

<инструкции, исполняемые в цикле>

Loop While <условие>

условие False в конце цикла

Do

<инструкции, исполняемые в цикле>

Loop Until <условие>

В число инструкций, исполняемых в цикле, может быть включена инструкция Exit Do, если из цикла надо выйти “досрочно”, например, при выполнении какого-нибудь дополнительного условия. Заметим, что Do While означает Выполнять пока… Do Until означает Выполнять пока не … Другими словами, вместо Do Until можно написать Do While Not. В некоторых случаях эти проверки удобнее ставить в конец цикла (Loop - цикл, дословно - петля). Приведем пример цикла Do While: известно, что сумма S числового ряда 1, 1/2, 1/3, 1/4, …,1/N (где N - целое положительное число) может быть сколь угодно большой (для любого числа M можно найти такое значение N, что S>M). Для решения задачи на лист Excel поместим кнопку (CommandButton1), поле (TextBoxM) для М, поле (TextBoxS) для S, поле (TextBoxN) для N.

Sub CommandButton1_Click()

Dim M as Integer, N as Long, S as Single

S=0: M=TextBoxM.Value: N=0

Do While S<=M

N=N+1

S=S+1/N

Loop

TextBoxS.Value=S

TextBoxN.Value=N

End Sub

Таблица 7.

Часто используемые встроенные функции Visual Basic

Категория функций

Примеры функций

Математические

ABS( ) - абсолютное значение числа

RND( ) - случайное число

INT( ) - целая часть числа

SQR( ) - квадратный корень

Тригонометрические функции, логарифмы и др.

Для тригонометрических функций обязательный аргумент число представляет значение типа Double или любое допустимое числовое выражение, задающего угол в радианах, для преобразования градусов в радианы следует умножить градусы на pi/180. COS( ) - косинус числа, SIN( ) - синус числа, TAN( ) - тангенс числа, ATN( ) - арктангенс числа.

LOG( ) - натуральный логарифм, для вычисления логарифма числа x по основанию n следует разделить натуральный логарифм числа x на натуральный логарифм числа n:

Logn(x) = Log(x) / Log(n).

EXP( ) - экспонента

Категория функций

Примеры функций

Строковые

LCASE( ) - преобразование строки в строчные буквы

UCASE( ) - преобразование строки в заглавные буквы

LEN( ) - определение длины строки и др.

INSTR( ) - позиция первой встречи одной строки внутри другой

Даты и времени

DATE( ) - текущая дата

TIME( ) - текущее время

NOW( ) - текущая дата и время

DAY( ) - номер дня года и др.

Преобразования

типов данных

CINT( ) - действительного числа в целое (с округлением)

CSTR( ) - числа в строку символов

CVAR( ) - преобразование в тип данных VARIANT

FORMAT( )- форматирование данных, формирование строк

VAL( ) - преобразование строки символов в число и др.

6. Создание пользовательских форм

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

Свойства формы

Name

Имя

Caption

Заголовок

BackColor

Цвет фона

BorderStyle

Тип границы

Picture

Рисунок, отображаемый как фон формы

Left и Top

Местоположение верхнего левого угла формы

Height и Width

Высота и ширина формы

StartUpPosition

Положение формы при ее первом отображении. Допустимые значения: Manual - начальное значение не устанавливается, CenterOwner - выравнивание по центру объекта, к которому принадлежит форма, CenterScreen - выравнивание по центру экрана, Windows Default - положение верхнего левого угла экрана.

Методы формы

Show

Показать форму

Hide

Скрыть форму

Move

Изменить положение и размер формы

PrintForm

Печатать изображение формы

События формы

Initilize

Действия выполняемые при отображение формы на экране (например, задание значений по умолчанию для элементов управления размещенных на форме)

Terminate

Действия выполняемые при закрытии формы

Для создание формы надо переключиться в окно редактора и с помощью кнопки на панели инструментов или через пункт меню Вставка/UserForm создать пустую форму. Она появиться в окне Visual Basic. Теперь можно разместить требуемые элементы управления на форме и установить требуемые свойства.

7. Отладка приложений

В этом разделе приведем рекомендации по отладке приложений.

Во-первых, для отладки надо подбирать разнообразные примеры, не ограничиваясь самыми простыми - ведь многие ошибки проявляются только при определенных значениях исходных данных, а иногда даже только при определенных сочетаниях этих значений.

Во-вторых, для просмотра промежуточных и окончательных значений переменных можно на время отладки включать в тексты процедур обращения к процедуре MsgBox, а также выводить значения переменных в виде свойства Caption элемента управления Label (метка - статический текст) или в виде свойства Text элемента управления TextBox (поле с редактируемым текстом). Важную роль играет выбор точек процедуры для вывода значений переменных при отладке. Для выбора таких точек можно рекомендовать рассматривать процедуру состоящей из логически завершенных фрагментов программного кода, формирующих определенные «информационные сцены». Эти-то сцены, характеризующиеся содержимым переменных и массивов, и надо контролировать.

Программа, созданная с помощью VBA (как и другого языка программирования), обычно сопровождается следующими типами ошибок:

ошибки синтаксиса, сразу же делающие невозможным выполнение программы,

логические ошибки, в результате которых программа делает то, что не запланировано,

ошибки выполнения, приводящие к остановке программы.

Строку программного кода, содержащую ошибку синтаксиса, редактор Visual Basic окрашивает красным цветом и в диалоговом окне дает некоторое разъяснение.

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

Ошибки выполнения могут возникать, например:

при считывании файла с диска, при разрыве соединения с базой данных, с сетевым сервером или страницей Internet,

вследствии ошибок в логике программы, когда происходит деление на нуль и т.д.

В программе следует создать средства перехвата возможной ошибки выполнения, обработать ее и продолжить программу. При этом программа должна анализировать вводимые и вычисляемые данные и делать сообщения на основании этого анализа, а также предоставить возможность ввода других данных. Приведем два примера.

В первом примере перед чтением данных из текстового файла помещена инструкция On Error. Если произойдет ошибка (такого файла нет и т.п.) управление будет автоматически передано на блок инструкций обработки ошибок - он начинается с метки ErrFTXT.

Sub Ftxt (WorkDir As String, FTXTname As String)

При обращении процедуре сообщается рабочий каталог и имя текстового файла

On Error GoTo ErrFTXT

Open WorkDir & "\" & FTXTname For Input As #1

Do Until EOF(1)

Line Input #1, SL

{ Работа с очередной строкой файла FTXT }

Loop

Close (1): Exit Sub

ErrFTXT:

MsgBox Err.Description, , "Файл " & FTXT & “, вероятно, не существует"

Close #1

End Sub

Этот пример дает представление и о работе с входным текстовым файлом. Запись строк в создаваемый текстовый файл аналогична, только файл открывают не для ввода (For Input), а для вывода (For Output), и вместо инструкции Line Input для записи строк используют Print (например, Print #2, SL).

Во втором примере программа деления двух чисел выполняет проверку на отличие от нуля знаменателя и дает возможность ввести другое значение знаменателя, если случайно введен нуль.

Sub Деление_чисел()

Dim u As String, zn As String

Dim x As Single, y As Single, S As Single

u = InputBox("Введите первое число")

x = Val(u)

ввод: u = InputBox("Введите второе число")

y = Val(u)

u = InputBox("Введите знак операции")

zn = u

If y <> 0 Then

S = x / y

MsgBox Str(x) & " / " & Str(y) & " = " & Str(s), , "Деление"

Else

MsgBox "Деление на нуль", , "Деление"

GoTo ввод

End If

End Sub

Простейшим средством предотвращения ошибок является использование инструкции Option Explicit, которая предписывает явно описывать все переменные, встречающиеся в программе. Скажем, случайное использование при наборе в имени переменной Сумма латинской буквы С воспринимается программой (без применения инструкции Option Explicit ) как имя новой переменной, что вызовет ошибку выполнения, которую весьма трудно найти.

Ключевым моментом в процессе отладки программы является момент перехода процесса выполнения программы в режим паузы. Режим паузы -- это временная остановка выполнения программы на некоторой инструкции в программном коде. В этом режиме проверяются текущие значения всех переменных в программе. Например, переходя в режим паузы при вычислении многочлена степени не выше пятой, мы увидим следующее окно редактирования VBA - процедуры (Рис. 3).

Рис. 3. Точка останова

Кроме того, в режиме паузы можно воспользоваться командой меню в редакторе Visual Basic: Отладка/Шаг с заходом, продолжая при этом выполнение программы в пошаговом режиме, по одной инструкции, и наблюдая за изменениями переменных. Значения переменных можно наблюдать во всплывающих подсказках, если подвести курсор мыши к соответствующей переменной.

В режим паузы можно войти, используя одну из возможностей:

щелчок на кнопке Пауза на панели инструментов в редакторе Visual Basic,

комбинация клавиш <Ctrl+Break> (в случае, например, зацикливания),

во время ошибки выполнения, когда VBA отображает диалоговое окно с описанием ошибки, щелчок по кнопке Отладка переводит программу в режим паузы,

назначение точки останова строке программного кода (на рис.3 точка останова установлена щелчком мыши на полях в окне редактирования программного кода).

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

После исправления ошибок точки останова можно удалить также щелчком на полях.

Выход из режима паузы осуществляется щелчком по кнопке Продолжить, и программа продолжит свое выполнение дальше, или по кнопке Сброс, что остановит выполнение программы.

В режиме паузы можно использовать еще одно средство отладки: окно локальных переменных. В окне локальных переменных (Рис. 4) автоматически отображаются имена, значения и типы данных всех переменных, доступных в выполняемой в данный момент процедуре. Эта информация обновляется редактором Visual Basic по мере выполнения программы, так что в окне локальных переменных всегда видны текущие значения.

Информация в окне локальных переменных представлена в виде разделов, обозначенных значком [+], чтобы развернуть раздел нужно щелкнуть по плюсу. В результате этого можно получить доступ ко всем переменным и приступить к их редактированию, что удобно, например, в таких случаях:

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

Предыдущая строка программного кода содержит ошибку, в результате которой переменной присвоено неверное значение. Для продолжения выполнения программы можно исправить значение переменной.

Чтобы изменить значение переменной, щелкните два раза на текущем значении переменной, измените значение и нажмите <Enter>.

Следующее средство отладки - окно контрольного значения, которое показывает значения выражений или переменных, выбранных пользователем (рис. 4.). Как и в окне локальных переменных, в окне контрольного значения можно менять значение выражения прямо во время выполнения программы. Для этого сначала выделите строку с нужным выражением, а затем само выражение. После этого можно вносить изменения в окне контрольного значения, которое можно вызвать по команде Отладка/Контрольное значение.

Рис. 4. Окно контрольного значения

Для добавления выражений в окно контрольных значений следует выделить в окне редактирования кода переменную или выражение и затем по команде Отладка/Добавить контрольное значение вызвать диалоговое окно Добавление контрольного значения.

Контролируемые выражения можно использовать также для назначения точек останова. В диалоговом окне Добавление контрольного значения имеется возможность назначить точки останова двух типов:

Точки останова, автоматически переводящие программу в режим паузы, как только выполнится оператор, изменяющий на ненулевое значение заданного выражения (в VBA 0 означает False, а любое ненулевое значение -- это True). Для назначения этого типа точки останова выберите переключатель Останов, если выражение истинно.

Точки останова, автоматически переводящие программу в режим паузы при изменении значения заданного выражения. Чтобы назначить точку останова этого типа нужно выбрать переключатель Останов при изменении значения.

Таким образом, современные среды визуального программирования предельно облегчают отладку программ.

8. Лабораторные работы

VBA1. Создание простейшего интерфейса. Калькулятор
Описание калькулятора.
Операнды (числа) вводятся в поля - в регистры R1, R2. Результат вычислений заносится в регистр R2. Операции имеют вид: R2 = R2 операция R1, R2=1/R2, R2=R2^2, R2=R2^3, R2=R2^(1/2). Кроме того, предусматриваются операции присваивания: R1 = 0, R2 = R1, R2 = R3, R3 = 0, R3 = R2, R3 = R3 + R2.
Создание интерфейса пользователя.
Меню Вид/Панели инструментов/Visual Basic.
Кнопкой в виде молоточков вывести на экран панель, содержащую элементы управления.
Перейти в режим конструктора - кнопка с изображением треугольника и карандаша.

Подобные документы

  • Создание тестирующих и игровых программ. Степень сложности и художественного оформления интерфейса пользователя. Создание справочной системы. Корректное отображение символов. Создание системы управления базами данных в среде Delphi и таблиц базы данных.

    методичка [1,0 M], добавлен 24.10.2012

  • Принципы создания приложений с GUI. Панель инструментов для добавления элементов интерфейса. Расположение кнопки и осей в окне приложения. Управление свойствами объектов. Установка свойств при редактировании. Программное изменение свойств. Флаги и рамки.

    методичка [1,1 M], добавлен 06.07.2009

  • Совокупность программных и аппаратных средств, обеспечивающих взаимодействие пользователя с компьютером. Классификация интерфейсов, текстовый режим работы видеоадаптера. Функции текстового режима. Реализация пользовательского интерфейса в BORLAND C++.

    лабораторная работа [405,1 K], добавлен 06.07.2009

  • Исследование существующих методов тестирования устройств телемеханики. Процесс разработки программы, анализ недостатков и достоинств создаваемой системы. Технологии разработки программных модулей и интерфейса пользователя, построение сетевого графика.

    дипломная работа [2,3 M], добавлен 26.01.2013

  • Основные правила разработки интерфейса пользователя. Создание базы данных с использованием разработанных моделей. Кодирование модулей программной системы с целью создания прототипа. Первичное окно при запуске программы. Защита от потери информации.

    лабораторная работа [857,8 K], добавлен 13.06.2014

  • Язык манипуляции данными. Процесс отбора данных. Использование агрегатных функций и специальных операторов в условиях отбора. Создание и использование представлений и хранимых процедур. Использование триггеров, разработка интерфейса пользователя.

    лабораторная работа [70,6 K], добавлен 13.02.2013

  • Анализ методики использования многомерных массивов в среде Delphi. Общее понятие массивов, их реализация, достоинства, недостатки. Массивы в Object Pascal. Описание функциональной структуры приложения: модуль MatrixOperations, модуль fileIO, модуль form.

    курсовая работа [1,3 M], добавлен 28.09.2010

  • Вычислительная система, необходимая для создания программного средства. Создание диалогового процесса интерфейса пользователя. Элементы управления и визуализации. Справочная система программного средства. Редактирование, добавление и удаление вопросов.

    курсовая работа [2,8 M], добавлен 08.07.2012

  • Классификация информационных систем и средств разработки. Построение диаграммы прецендентов и графического интерфейса пользователя. Затраты на разработку информационной системы бурового предприятия и оценка издержек. Создание хранимых процедур и скриптов.

    дипломная работа [12,3 M], добавлен 27.06.2013

  • Структура взаимодействия входной и выходной информации. Требования к программно-аппаратному окружению, к эргономике и технической эстетике интерфейса пользователя. Эскиз и спецификация типовых объектов управления графического интерфейса, тестирование.

    курсовая работа [2,0 M], добавлен 16.02.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.