Курс лекций по V B 5.0Рефераты >> Программирование и компьютеры >> Курс лекций по V B 5.0
Если необходимо, чтобы все переменные в процедуре были статическими, необходимо добавить
Static Private Sub cmdLom_Click()
Строки
Операция конкатенации для сложения нескольких строк + или &
Например, A$ = “Иванов”
B$ = “Иван”
C$ = “Иванович”
D$ = A$ & B$ & C$
или D$ = A$ + B$ + C$
Отличие. С помощью “&” можно объединять строковые и другие типы. Например, C = A% & B$, изменится их тип на Variant.
Для перехода к новой строке при печати символов (перевод каретки) используется встроенная const VbCrLf. Например, чтобы разорвать строку в информационной панели или в многостроковом текстовом поле можно
Message $ = “1-я строка”
Message $ = Message $+VbCrLf + “2-я строка”
MsgBox Message $
Замечание. Если в программе используются числа и они не присваиваются переменной Variant, то VB полагает:
1) Если число не имеет десятичной точки и лежит в диапазоне от -327686 +32767, то это Integer.
2) Если не имеет десятичной точки и лежит в диапазоне для Long Integer, то это Long Int.
3) Если имеет десятичную точку и лежит в диапазоне для чисел с обычной точностью (7 цифр), то это Single precision.
4) Если имеет десятичную точку, но лежит вне диапазона, то это Double precision.
Такие приблизительные расчеты часто приводят к проблемам. Например, VB полагает, что тип результата с двумя целыми числами есть целое. Например результат Print 123456 ?789 выходит за рамки целого и возникает ошибка переполнения. Тогда необходимо использовать идентификатор хотя бы для одной переменной Print 123456& ?789.
Можно также использовать встроенные функции для преобразования типов, например, LInt - округляет число до целого, Clong - до длинного целого, Cvar - преобразует к Var.
Если производятся операции с переменными Variant, то не возникает проблем с преобразованием типов.
Помимо обычных, десятичных чисел, VB использует двоичные и шестнадцатеричные. Последние обозначаются с префиксом &H. Например, число 49 = &H31.
Шестнадцатиричные цифры используются для кодирования различных цветов: любой цветовой код состоит из 6 шестнадцатиричных цифр от &H000000& = 0 до &HFFFFFF& (длинное целое) (16777215).
Вообще конкретный цвет определяется количеством красного R, зеленого G и синего цветов B во всевозможных сочетаниях. В коде цвета VB две последние цифры означают количество красного, две средние - количество зеленого, а две первые - количество синего, например
&H0000FF& - максимально красный
&H00FF00& - максимально зеленый
&HFF0000& - максимально синий
&H000000& - черный
&HFFFFFF& - белый
&H00FFFF& - желтый (красный + зеленый)
&H808080& - серый (равные количества цветов)
Константы
Для неизменных значений в программе используются константы. Константы объявляются аналогично переменным, по тем же правилам: имя содержит не более 200 символов, первый символ буква. Если в программе используется только одна форма, то константу можно объявить в разделе DeclarationHous для объекта General. Или же можно и непосредственно в процедуре, но это хуже. Константу объявляют через зарезервированные слова Const. Например,
Const Pi = 3?14159
Const Course = “Informatics”
VB5 имеет только набор встроенных констант, например, VbCrLf или VbOrOnly. Их можно вставлять в текст программы из окна Object Browser (F2 или меню View). Чтобы вставить Const в программе:
1) Курсор должен быть в окне кода.
2) В окне Object Browser щелкнуть на кнопке Copy to Clipboard.
3) Перейти в программе на место вставки и нажать Ctrl+V.
Встроенные функции
Особое значение имеют строковые функции, т.к. в полях ввода информация хранится в текстовом формате или в формате ariant. Использование же неявных преобразований типов из Variant часто приводит к проблемам и является более медленным.
Строковые функции:
= Space (число пробелов) - выдает строку, состоящую из одних пробелов, причем число символов в строке определяется параметром в скобках.
= String (число, строковое выражение $) - формирует строку, содержащую одинаковые символы.
Например, X$=String (10, “z”) - 10z
= Len (строковое выражение) - длина текущей строки с проблемами и напечатанными символами.
= Mid (строка, начало [, длина])
Mid (“Visual Basic”, 1,6) = “Visual”
Mid (“Visual Basic”, 8,6) = “Basic”
Mid (“Visual Basic”, 8) = “Basic”
Пример. Подсчет числа точек в строке
Points % = 0
Length % = Len (Text $)
For I% = 1 to Length %
If Mid (Text $, I%, 1) = “.” then
Points $ = Points $ + 1
End If
Next I%
= Left (cтрока, № до позиции)
= Right (строка, с № позиции)
Функцию Mid можно использовать для изменения содержания внутри текущей строки. Например
X $ = “Best Basic”
Mid (X $,1,5) = “Quick”
какое количество символов
с какого символа будет взято из новой строки
вставляется новая
строка поверх части старой
= Insert ([начальная позиция], строка для поиска, подстрока)
является ли данная строка частью другой строки, выдает номер позиции, с которой начинается подстрока.
Text $ = “QuickBasic”
X $ = Instr (1, Text $, “Basic”)=6.
Если подстрока не найдена Instr возвращает нулевое значение (False).
Пример.
If Instr (Text $, “?”) then
Print “символ найден”
Else
Print “Не найден”
End If
= LСase, = UСase - преобразует все символы строки в нижний (верхний) регистр
Вместо Lcase $ Ucase$
= Str lomp - для сравнения строк
Пусть X = StrComp (A$, B$) =
Если A$ или B$ пуста, то х=NULL
Если использовать StrComp (A$,B$,1) - регистр не учитывается, а если StrComp (A$,B$,0) - регистр учитывается.
= Trim (строка $) - уничтожает пробелы начале и конце строки
LTrim (строка $) - уничтожает пробелы в левой части строки
RTrim(строка $) - уничтожает пробелы в правой части
Все строковые функции, за исключением Mid, не изменяют строку, а создают ее копию и потом с ней работают.
Управляющие структуры в программе
Определенные циклы
For _ Next
For I% = 1 to 10 (% - целочисленный тип для ускорения работы цикла)
Print I%
Next I%
Цикл завершается, не в тот момент, когда значение счетчика равняется конечному, а когда оно превышает его.
Пример. Печать всеми доступными шрифтами экрана.
Private Sub Form_Click()
Dim I As Integer
For I=0 to Screen.FontCount - 1
FontName = Screen.Fonts (I)
Print “Это шрифт”; Screen.Fonts (I)
Next I
End Sub
Неопределенные циклы
Не выполняются фиксированное число раз. Цикл может выполняться или нет в зависимости от результата, вычисляемого внутри цикла
Do