Автор работы: Пользователь скрыл имя, 25 Марта 2013 в 11:36, реферат
Visual Basic разработан в 1991 г. фирмой Microsoft как удобное и мощное средство
визуального проектирования программ, работающих в операционной среде Windows.
При относительной простоте языка, он позволяет быстро создавать программный
продукт, который мало отличается от подобных продуктов, созданных профессионалами
с использованием языков C и Pascal.
Модификация языка Visual Basic может использоваться в Microsoft Office, в частности в Excel и Access. Он обеспечивает простой доступ и эффективную обработку
данных различных систем управления базами данных (СУБД).
Таблица 5.4.1
Имя типа |
Интервал значений |
Занимаемая память |
Суффикс |
String (строка фиксированной длины) |
От 1 до 65400 символов |
1 байт на каждый символ |
Нет |
String (строка переменной длины) |
От 0 до двух миллиардов символов |
10 байт + 1 байт на каждый символ |
$ |
Таблица 5.5.1
Имя типа |
Интервал значений |
Занимаемая память |
Суффикс |
Object |
Ссылка на объект (адрес) |
4 байта |
нет |
Таблица 5.6.1
Имя типа |
Интервал значений |
Занимаемая память |
Суффикс |
Variant |
Любое числовое или строковое значение |
16 байт для чисел, 22 байта + 1 байт на каждый символ для строк |
Нет |
Таблица 5.7.1
Имя типа |
Интервал значений |
Занимаемая память |
Суффикс |
Currency (денежный) |
От –922 337 203 685 477.5808 до 922 337 203 685 477.5807 |
8 байт |
@ |
Date (даты и время) |
От 1 января 100 г. до 31 декабря 9999 г. |
8 байт |
Нет |
Decimal |
Целое число – 29 знаков Вещественное – 27 знаков после десятичной точки |
14 байт |
Нет |
Типы данных, определяемые пользователем с помощью ключевого слова Type |
Объём определяется созданным типом данных |
Нет |
Переменные – это объекты, предназначенные для хранения данных различных типов. Во время выполнения программы они (переменные) могут менять свои значения, оставаясь в пределах одного типа. Переменные в программе перед их использованием нужно объявлять (декларировать). Объявление переменных в программе может быть явным и неявным.
Явное объявление переменных:
Static / Public / Private / Dim <ИмяПеременной1Суффикс1> / <ИмяПеременной1> [As <ИмяТипа1>] [, <ИмяПеременной2Суффикс2> / <ИмяПеременной2> [As <ИмяТипа2>]]
[, .........]
где:
Dim (Размер) – ключевое слово, которое сообщает VB, что объявляется переменная и резервируется область памяти для хранения ее значения. Эта переменная является локальной и существует только во время вызова процедуры или функции, где она объявлена.
<ИмяПеременной> – имя переменной (идентификатор), не входящее в перечень ключевых слов VB;
<ИмяПеременнойСуффикс> – имя переменной с суффиксом, определяющим тип данных для переменной;
As (Как) – ключевое слово, которое сообщает VB, что далее определяется тип данных для переменной;
<ИмяТипа> – имя типа данных для переменной;
Private (Частный), Public (Общий) – ключевые слова, определяющие области видимости (доступности) переменной. Если переменная объявляется в разделе глобальных объявлений модуля, то она доступна во всех процедурах и функциях этого модуля и форм.
Static (Статический) – ключевое слово, которое определяет, сохраняет ли переменная своё значение при завершении подпрограммы (процедуры или функции) и выходе из нее. При новом вызове процедуры или функции переменной присваивается значение, которое она имела при последнем выходе из этой процедуры или функции. Значение этой переменной сохраняется, пока в памяти сохраняется форма или модуль.
Для объявления переменной как статической нужно просто вместо оператора Dim использовать слово Static:
Private Sub Command1_Click()
Static A As Integer
Dim B As Integer ‘ Экран, печать на форме
A = A + 1 ‘ 1
B = B + 1 ‘ 1
Print A ‘ 2
Print B ‘ 1
End Sub
Статическая переменная A при каждом щелчке по кнопке Command1 увеличивается на единицу. Нестатическая переменная B при каждом щелчке инициализируется заново, поэтому ее значение при выходе всегда равно 1.
Чтобы объявить статическими все локальные переменные процедуры или функции, следует записать ключевое слово Static в заголовке процедуры или функции:
Static Sub Test()
Dim A, B As Integer
End Sub
В примере процедуры обе переменные – A типа Variant и B типа Integer будут статическими.
Если тип переменной программистом не объявляется, то по умолчанию он принимается за Variant.
При написании программы среда программирования VB оказывает помощь пользователю: после набора слова As открывается окно со списком типов, из которого можно выбрать нужный, дважды щелкнув мышью на имени выбранного типа.
В операторе объявления тип каждой переменной задается отдельно, даже если переменные однотипны.
Другим способом явного объявления переменных является указание типа с помощью суффикса. В этом случае тип данных объявляется добавлением в конец имени переменной соответствующего суффикса:
Private IntVar% ‘ Объявляется переменная типа Integer
Данные типов Byte, Integer, Long содержат только целые числовые значения из различных диапазонов. Если переменной такого типа присваивается значение 1.4, то переменная принимает значение равное 1, если 1.5 то 2, если –1.4 то –1, если –1.5 то -2.
Dim NVar As Integer ‘ Dim NVar%
NVar = 1.7 ‘ Результат: NVar = 2
Данные типа Boolean содержат значения только True или False. В VB значению True соответствует значение 1, а False – 0. Если переменной этого типа присвоить значение 0, то переменная принимает значение False. Присвоение переменной любого другого целочисленного значения соответствует True.
Dim NVar As Boolean ‘ Суффикса нет
NVar = 5 ‘ Результат: NVar = True
Данные типа Single и Double содержат числа с плавающей точкой (вещественные числа) из различных диапазонов. Данные типа Currency также являются числами с плавающей точкой, но число разрядов после точки ограничено четырьмя. Этого достаточно при выполнении денежных расчетов.
Dim SVar As Single ‘ Dim SVar!
SVar = 1.7 ‘ Результат: SVar = 1.7
Данные типа Date специально предназначены для обработки информации о дате и
времени. Чтобы для VB было понятно, что под указанным значением подразумевается дата или время, нужно поместить его между знаками #. Можно при вводе данных этого типа использовать и двойные кавычки.
При вводе данных можно пользоваться американским стандартом:
- для даты – мм/дд/гггг;
- для времени - чч:мм:сс pm/am.
Private Sub Command1_Click()
Dim dvar As Date
dvar = #10/22/1995#
Print dvar ’Результат: 22.10.95
dvar = #1:25:00 PM#
Print dvar ’Результат: 13:25:00
dvar = "22.10.1995"
Print dvar ’Результат: 22.10.95
Print dvar + 150 ’Результат: 20.03.96
dvar = "13:25"
Print dvar ’Результат: 13:25:00
Print dvar + "0:40" ’Результат: 14:05:00
End Sub
Данные типа String служат для хранения символьных строк. Различают строки переменной и фиксированной длинны.
Строка фиксированной длины – это строка постоянного размера, указанного при объявлении. Если такой строке присваивается значение более длинное, то лишние символы справа отбрасываются. Если присваивается значение короче, чем объявлено, то остающееся место заполняется пробелами, выравнивание происходит по левой границе. Строковые переменные фиксированной длины должны декларироваться явно:
Dim SVar As String * <Длина строки>
где:
<Длина строки> - целочисленная
переменная или константа,
Private Sub Command2_Click()
Dim svar As String * 5
svar = "Вася"
Print svar ’Результат: Вася
svar = "Переменная"
Print svar ’Результат: Перем
End Sub
Переменные типа String переменной длины объявляются как обычно, без указания длины или с использованием суффикса:
Dim SVar1 As String, SVar2$
Тип Variant – это тип переменного типа, он устанавливает переменной тот тип, какое значение ей присваивается:
Dim Var As Variant
Var = “25” ‘Var содержит “25” – String
Var = Var + 5 ‘Var содержит 30 – Число (со знаковым пробелом впереди при печати)
Var = Var & “штук” ‘Var содержит “30штук”, + или & -- объединение строк
По умолчанию, т.е. когда отсутствует явное указание типа в операторе Dim, переменной присваивается тип Variant.
VB не требует явного объявления переменных.
Переменная может объявляться автоматически, когда она появляется в программе:
Price1@ = 123
Price2 = 125
В этом примере переменная Price1@ объявлена переменной типа Currency по суффиксу и ей присвоено значение 123, Price2 объявлена переменной типа Variant и ей присвоено значение 125.
Кроме того переменные могут объявляться с помощью оператора DefType. Он имеет вид:
DefType <ДиапазонБукв1> [, <ДиапазонБукв2>, …]
где:
DefType – сокращенное название типа данных, взятое из таблицы 6.7.1.
ДиапазонБукв – указывает
Таблица 6.7.1
Оператор |
Тип данных |
DefBool DefByte DefInt DefLng DefCur DefSng DefDbl DefDec DefDate DefStr DefObj DefVar |
Boolean Byte Integer Long Currency Single Double Decimal Date String Object Variant |
Операторы, приведенные в таблице можно использовать только в секции глобальных объявлений формы или модуля:
(General) (Declarations)
DefInt A – Z
Dim A, B As Byte
Dim C, D As Long
В этом примере во второй строке объявляется, что не все объявленные неявно переменные, имена которых начинаются от A до Z, будут иметь тип Integer. Таким образом B и D будут декларированы соответственно как Byte и Long, а A и C как Integer.
Применение оператора DefType уменьшает количество ошибок при использовании неявного объявления переменных типа Variant, имена которых просто неправильно были написаны программистом.
Чтобы переменные всегда объявлялись явно нужно в секции глобальных объявлений формы поместить оператор “Option Explicit”. Если он там есть, то транслятор будет каждую неявно объявленную переменную принимать как ошибочную, о чем даст соответствующее сообщение. Аналогичный результат можно получить используя в верхнем меню пункт “Инструменты” и подпункт “Опции…” (см. рис. 20).
Рис. 20.
Массив – это набор элементов одного определенного типа, каждый из которых имеет свой порядковый номер, называемый индексом (или несколько индексов).
Различают статические и динамические массивы. Границы статического массива устанавливаются однозначно раз и навсегда. Границы динамического массива могут меняться во время выполнения программы.
Объявление статического массива имеет следующий вид:
Static / Public / Private / Dim <ИмяМассива1Суффикс1> / <ИмяМассива1> ([<НижняяГраницаИндекса11> To] <ВерхяяГраницаИндекса11> [, [<НижняяГраницаИндекса12> To]<ВерхяяГраницаИндекса12>, ...]) [As <ИмяТипа1>]
[, <ИмяМассива2Суффикс2> / <ИмяМассива2> ([<НижняяГраницаИндекса21> To] <ВерхяяГраницаИндекса21> [,[<НижняяГраницаИндекса22> To ] <ВерхяяГраницаИндекса22>, ... ]) [As <ИмяТипа2>][, ........]
где:
Static / Public / Private / Dim – ключевые слова, имеющие такой же смысл, как и в случае объявления переменной;
<ИмяМассиваI> – идентификатор (имя) I-ого массива;
<ИмяМассиваIСуфиксI> – имя I-ого массива с суффиксом, определяющим тип его элемента;
<НижняяГраницаИндексаIJ> – наименьшее значение J-ого индекса I-ого массива: имя переменной, константы или число, нумерация индекса начинается с нуля, если наименьшее значение индекса отсутствует;
<ВерхняяГраницаИндексаIJ> – наибольшее значение J-ого индекса I-ого массива: имя переменной, константы или число;
<ИмяТипа> - имя любого действительного типа данных, в том числе созданного пользователем.
Dim Mas(5) As Integer
Dim M(5,6) As String
Mas(3) = 8
M(2, 5) = “Катя”
Print Mas(3) ‘ 8
В этом примере объявлены два массива, первый одномерный числовой, второй двумерный символьный.
Разрешенная размерность в VB до 60. По умолчанию элементы любого из массивов начинают нумероваться с нуля. Однако если в разделе глобальных объявлений написать оператор Option Base 1, то элементы всех объявленных массивов будут нумероваться начиная с единицы.
Dim Mas(2 To 5) As Integer
Dim M(-3 To 2, 3 To 6) As String
В этом примере объявлены два массива, первый с нумерацией элементов от двух до пяти, второй – первый индекс меняется от –3 до 2, второй индекс от 3 до 6.
Dim Mas%(2 To 5), M(-3 To 2, 3 To 6) As String
В этом примере объявлено тоже, что и в предыдущем.
Замечание:
1. Массив определяется как
2. Массив может быть объявлен
в любом месте программы, но
обязательно, до его