Автор работы: Пользователь скрыл имя, 01 Июня 2013 в 20:12, курс лекций
Программированию предшествует важнейший этап - постановка задачи. Постановка задачи может включать широкий спектр вопросов (разработка математических и физических моделей, вывод расчетных формул и т. п.). Программист должен четко представлять явление или формулу, которые он алгоритмизирует.
Процесс программирования начинается, как правило, с составления алгоритма. Составление алгоритма заключается в логическом описании процесса решения задачи и требует знания элементов математической логики. Таким образом, алгоритм – это последовательности операций, описывающих процесс решения задачи.
Программы - приложения, разрабатываемы в среде Visual Basic, имеют, как правило, стандартный пользовательский интерфейс: форму, на которой располагаются элементы управления, панели инструментов и меню. Далее пишется код обработки событий - операторы на языке Visual Basic. Таким образом, разработка приложения включает следующие этапы:
Это учебное пособие написано для студентов, обучающихся в гуманитарных и экономических высших учебных заведениях и, следовательно, содержит материал, ограниченный необходимостью освоения основ программирования в среде Visual Basic. Основное внимание уделено изучению стандартных элементов управления Visual Basic и их использованию при создании графического интерфейса пользователя в приложениях. Это позволит студентам лучше понять графический интерфейс офисных приложений Windows. Учебное пособие предназначено для изучения основ программирования в визуальных средах и не является справочным пособием, поэтому в нем не приводится перечень всех элементов управления (компонентов), их свойств, методов и событий. Основное внимание уделяется изучению часто используемых компонентов и их атрибутов, в контексте приводимых в пособии примеров и учебных приложений.
В пособии не рассматриваются различные численные методы и их реализация в среде Visual Basic, характерные для изучения программирования в технических университетах. Не рассматриваются также вопросы хранения данных: запись и считывание данных из файлов различных типов, использования баз данных в проектах Visual Basic, в том числе и при создании Интернет-проектов. Не затрагиваются вопросы создания новых классов, компонентов ActiveX, справочной системы, дистрибутива (инсталляционного варианта проекта), использование в проектах функций Windows API. В связи с ограниченным объемом пособия в сокращенном варианте изложена настройка среды программирования, а также возможности Visual Basic для создания графических и мультимедийных приложений.
Изучение программирования в среде Visual Basic 6.0 поможет тем, кто собирается программировать в Microsoft Office, используя средства VBA (Visual Basic for Applications), поскольку эти языки имеют общую основу.
Тип данных определяет
множество допустимых значений, которое
может принимать указанная
Тип данных |
Размер (байт) |
Диапазон значений |
Byte (байт) |
1 |
От 0 до 255 |
Boolean (логический) |
2 |
True или False |
Integer (целое) |
2 |
От -32768 до 32767 |
Long (длинное целое) |
4 |
От -2147483648 до 2147483647 |
Single (вещественное обычной точности) |
4 |
От –3,4 Е+38 до -1,4 Е-45 и от 1,4 Е-45 до 3,4 Е+38 |
Double (вещественное двойной точности) |
8 |
От –1,7 Е+308 до –4,9 Е-324 и от 4,9 Е-324 до 1,7 Е+308 |
Currency (денежный) |
8 |
От -922 337 203 685 477,5808 |
Date (даты и время) |
8 |
С 1 января 100 г. до 31 декабря 9999 г. |
Object (объект) |
4 |
Ссылка на объект |
String (строка переменной длины) |
10 + строка |
От 0 до ~2 миллиардов знаков |
String (строка постоянной длины) |
строка |
От 1 до ~65 400 знаков |
Variant (числовые подтипы) |
16 |
из числовых типов |
Variant (строковые подтипы) |
22 + строка |
из строки переменной длины |
Тип данных, определяемый с помощью ключевого слова Туре |
определяется типом данных |
В Visual Basic пользователь определяет имена переменных, функций, процедур, типов, постоянных и других объектов. В Visual Basic имеются следующие ограничения на имена:
В программе Visual Basic тип переменной объявлять не обязательно, в этом случае переменная получает тип variant. Для обязательного описания всех переменных в начале модуля ставится инструкция Оption Explicit. Синтаксис описания переменной:
Dim ИмяПеременной [As [New] Тип]
где
New Ключевое слово для неявного создания объекта без использования ссылки на объект с помощью инструкции Set, например
Dim xlApp1 As Excel.Application' раннее связывание
Set xlApp1 = New Excel.Application 'либо
Dim xlApp2 As Object ' позднее связывание
Set xlApp2 = CreateObject("Excel.
Dim X As New Worksheet ' либо
Dim Х As Worksheet
Set Х = New Worksheet
Ключевое слово New не может использоваться для фундаментальных типов (например, Byte), общего типа Control, элементов управления и их типов (например, MyLstBox1, ListBox).
Переменная может быть описана также при помощи инструкций Private, Public и Static, определяющих область действия переменной. После инструкций Dim и т.п. можно через запятую описать несколько переменных с обязательным указанием типа для каждой из них. Примеры
Dim Number As Integer
Dim AVar, Choice As Boolean, BirthDate As Date
AVar="Привет"
Number=123
AVar = 276.9 + Number
Choice=True
BirthDate=#4/5/2001 1:25:33 AM#
Инструкция DefTиn используется на уровне модуля для задания типа данных, используемого по умолчанию для переменных имена которых начинаются с определенных символов. Синтаксис: DefТип ДиапазонБуквЧерезДефис. Используются следующие инструкции: DefBool DefByte, DefInt, DefLng, DefCur, DefSng, DefDbl, DefDate, DefStr, DefObj,. DefVar, для соответствующих типов данных.
Примеры.
DefInt A-K
DefStr L-Z
CalcVar = 4
StringVar = "Hello there"
Dim Calc As Double
Calc = 2.3455
Еще одним способом задания типа переменной по умолчанию является включение в конец его имени специального символа, устанавливающего тип переменной:
Тип |
Integer |
Long |
Single |
Double |
Currency |
String |
Символ |
% |
& |
! |
# |
@ |
$ |
Примеры.
Int%=6
Str$="Строка"
Массивы должны быть объявлены до их использования в программе.
Синтаксис:
Dim ИмяМассива (Индексы) [As Тип]
где
Индексы - Размерности массива. Допускается описание до 60 размерностей.
Синтаксис: [Нижний То] Верхний [,[Нижний То] Верхний] ...
Если нижний индекс не задан явно, то нижняя граница массива определяется инструкцией Option Base, иначе нижняя граница массива равняется нулю. Базовый индекс можно изменить, написав в области описания модуля инструкцию, например
Option base 1 'Базовый Индекс равен 1
Dim MyArray(20), TwoDArray(3, 4) ' Объявление массивов
Dim ZeroArray(0 To 5) As Integer ' Явное задание базового индекса
Dim MyMatrix(1 To 5, 1 To 9) As Double
ZeroArray(0)=15
ZeroArray(20)=25
MyMatrix(1,1)=8.9
Для определения одномерных массивов можно использовать переменную типа variant, задавая значения элементам массива инструкцией Array:
Dim A As Variant
А = Аrrау(1, 15, 30) ' значения элементов массива равны: 1, 15, 30
Если в процессе выполнения программы требуется изменять размер массива, то массив объявляют как динамический, например
Dim R() As Single
В программе следует задать размер массива с помощью инструкции ReDim. Синтаксис:
ReDim [Preserve] ИмяМассива(Индексы) [As Тип]
Preserve - ключевое слово, используемое для сохранения данных в существующем массиве при изменении значения последней размерности.
Для массива, не сохраняющего данные, можно изменять верхнюю и нижнюю границы, но нельзя менять размерность массива, например:
ReDim R(1 to 90)
ReDim R(-10 to 10)
Для массива, сохраняющего данные, можно изменять только верхний и последний индекс размерности массива, например:
Dim Matr () As Integer
ReDim Matrix1(19, 29)
ReDim Preserve Matr (19,33)
Для повторной инициализации массивов фиксированной длины и освобождения памяти, отведенной для динамического массива служит процедура Erase СписокМассивов, например
Dim NumAr(10) As Integer ' числовой массив
Dim StrVarAr(10) As String 'массив строк переменной длины
Dim StrFixAr(10) As String * 10 'массив строк постоянной длины
Dim VarAr(10) As Variant ' 'массив вариант
Dim DynAr() As Integer ' динамический массив
ReDim DynAr(10) 'определение длины массива
Erase NumAr ' все элементы массива равны 0.
Erase StrVarAr ' все элементы массива нулевой длины ("")
Erase StrFixAr ' все элементы массива равны 0
Erase VarAr ' все элементы массива равны Empty
Erase DynAr 'освобождение памяти, использовавшейся для массива
Для создания массива объектов на этапе конструирования необходимо:
При обращении к объектам массива указывается их индекс: ИмяОбъекта(Индекс), например, LblArr(5).
Константы не могут изменять свои значения. Синтаксис:
[Public | Private] Const ИмяКонстанты [As Тип] = Выражение
Примеры:
Const MyStr = "Hello", MyVar = 459
Public Const MyString = "HELP"
Private Const MyInt As Integer = 5
Перечисленный тип используется для работы с константами и позволяет ассоциировать их значения с именами. Синтаксис:
[Public | Private] Enum ИмяПеременной
СonstName1 [= Const1]
ConstName2 [= Const2]
.........
End Enum
Где СonstName1 - имя константы. Сonst1 - значение константы.
По умолчанию значение первой константы равно 0, второй 1 и т.д.
Пример:
Enum SecurityLevel
SecurityLevel1 = 0
SecurityLevel2 = 1
End Enum
Dim MyLevel As SecurityLevel
If MyLevel <> SecurityLevel2 Then MsgBox ("No assecc!")
Тип, определенный пользователем, представляется как запись или структура. Синтаксис:
[Private | Public] Type ИмяТипа
ИмяПоля1 [([Индексы])] As Тип
ИмяПоля2 [([Индексы]) ] As Тип
........
End Type
Пример:
Type ERecord ' Тип, определенный пользователем
ID As Integer
Name As String * 20
Address As String * 30
End Type
Dim MyRec As ERecord ' Объявление переменной
MyRec.ID = 13 ' Присвоение значения
В программах на Visual Basic можно использовать стандартный набор операций над данными. Имеются три типа операций: Математические, Отношения, Логические.
"+" - Сложение |
"*" – Умножение |
"\" - Целочисленное |
"-" - Унарный минус |
"-" - Вычитание |
"/" - Деление |
"Mod" - Остаток |
"^" - Возведение |
Для отрицательных чисел возможно возведение только в целую степень.
При целочисленном делении и нахождении остатка от деления вещественные данные сначала округляются до целых значений, примеры.
Dim MyR
MyR = 10 Mod 5 ' получаем 0
MyR = 10 Mod 3 ' получаем 1
MyR = 12 Mod 4.3 ' получаем 0
MyR = 12.6 Mod 5 ' получаем 3
MyValue = 11 \ 4 'получаем 2
MyValue = 9.3 \ 3 'получаем 3
MyValue = 101.7 \ 3 'получаем 34
"<" - Меньше |
"<=" - Меньше или равно |
"=" - Равно |
"Is" - Сравнениеобъектов |
">" -Больше |
">=" - Больше или равно |
"<>" - Не равно |
"Like" - Сравнение строк |
"And" - Логическое умножение |
"Хоr" - Исключающее или |
"Or" - Логическое сложение |
"Not" - Логическое отрицание |
Значения\Операция |
A And B |
A Or B |
A Хоr B |
Not A | |
A=True |
B=True |
True |
True |
False |
False |
A=True |
B=False |
False |
True |
True |
False |
A=False |
B=True |
False |
True |
True |
True |
A=False |
B=False |
False |
False |
False |
True |
Используется знак конкатенации &, либо + (для переменных, кроме числового типа Variant).
Строка1 & Строка2 или Строка1 + Строка2.
Использование знака &, предпочтительнее, чем +, поскольку выражение, содержащее знак & автоматически преобразуется в строковый тип, примеры:
Dim X, Y, Z
X = 6
Y = "7"
Z= X + Y ' получаем 13
Z= X & Y ' получаем "67"
Visual Basic выполняет операции в соответствии с их приоритетами (P).
P |
Операция |
P |
Операция |
P |
Операция |
1 |
Вызов функции и скобки |
5 |
Деление нацело |
9 |
Not |
2 |
Возведение в степень |
6 |
Остаток от деления |
10 |
And |
3 |
Унарный минус |
7 |
Сложение и Вычитание |
11 |
Or |
4 |
Умножение и Деление |
8 |
Операции отношения |
12 |
Xor |
Примеры.
Dim MyVal
MyVal = (-5) ^ 2 'получаем +25
MyVal = -5 ^ 2 'получаем -25
MyVal=True
MyVal =not MyVal and MyVal 'получаем False
MyVal = Not (MyVal Or MyVal) 'получаем True
В Visual Basic имеется большой набор встроенных функций и процедур, следующих категорий:
Математические функции, Функции проверки типов, Функции преобразования форматов, Функции обработки строк, Функции времени и даты, Финансовые функции. Синтаксис: