Реферат: Курс лекций по V B 5.0
While Wend
Вместо Do While x=0
Loop
While x=0
Wend
If условное выражение Then (Enter) несколько операторов Else необяза- несколько операторов тельно End If |
If выражение Then оператор Else If выражение Then оператор . . . Else оператор End If |
Оператор Select Case
Позволяет обрабатывать несколько вариантов выбора.
Select Case переменная или выражение
Case оператор проверки условия
действие 1
.
.
.
Case . . . . . .
действие n-1
End Select
Пример:
Select Case Ball
Case Is < 13 позволяет проверить значение переменной
Grade = 2
Case Is < 18
Grade = 3
Case Is < 22
Grade = 4
Case Else
Grade = 5
End Select
Пример 1. If Then Else
Private Sub Form_QueryUnload(Cansel As Integer, UnloadMode As Integer)
X % = MgBox(«Вы уверены?», VbYesNo)
If X % = VbNo Then
Cancel = True
Else
Cancel = False
End IF
End Sub
Пример 2.
If optColor1.Value Then
Color$ = «Красный»
Else If optColor2.Value Then
Color$ = «Зеленый»
Else If optColor3.Value Then
Color$ = «Синий»
Else
Color$ = «Белый»
End If
Пример:
Select Case Den
Case 1
Print «Пн»
Case 2
Print «Вт»
.
.
.
Case 7
Print «Вс»
End Select
В фразе Case можно задавать значения переменной в виде диапазона
Select Case Den
Case 1 to 5
Print «Рабочий день»
Case Else
Print «Выходной»
End Select
либо перечислением возможных значений
Select Case Den
Case 6, 7
Print «Выходной»
Case Else
Print «Рабочий день»
End Select
Массивы
2 вида массивы: управляющие и массивы переменных (обычные массивы или списки).
Управляющие массивы состоят из нескольких однотипных элементов управления, использующих общие свойства, по отличающимся порядковым номерам или индексам. Может быть не более 255 элементов в таком массиве. При этом новые элементы на форме помещаются на место исходных элементов управляющего массива. Поэтому при размещении на форме их следует позиционировать и двигать, чтобы они не перекрывали друг друга. Например, можно создать на форме матрицу надписей или текстовых полей.
Одномерные массивы или списки определяются именем и положением элемента в списке. Например данные о выпуске продукции за 12 месяцев.
Могут быть фиксированные и динамические списки. Размеры их могут быть велики и определяются объемом свободной памяти.
У фиксированных списков размер не меняется, а динамические списки могут менять свой размер. Для фиксированных списков память выделяется в начале работы программы и существует меньший риск переполнения памяти.
Динамические списки более гибки в работе.
Списки могут быть видимыми всему приложению, данной форме (модулю) или только одной процедуре.
Создание фиксированного списка:
а) в форме (модуле). Описание помещается в разделе деклараций формы (модуля)
Dim Massiv$(20)
доступен любой процедуре модуля или формы;
б) в пределах всего проекта (глобальный)
Public Massiv(20) As String - 21 элемент от 0 до 20
или Global
в) локальный массив, который сохраняется до следующего вызова процедуры
Private Sub ...........
Static Massiv A(20)
Создание динамических массивов.
а) в форме
В размере декларации формы Dim DYNMAS() As String
А внутри процедуры выделяем нужный размер
Private Sub ...........
Dim N %
ReDim DYNMAS(N) As String
При работе команды ReDim информация в массиве теряется.
Для сохранения информации при изменении размера массива
ReDim Preserve DYNMAS(N+1) As String
или (N-1) удалит последний элемент
б) Глобальный динамический список, видимого в пределах всего проекта
Public DYNMAS() As String
или Global
Далее можно использовать ReDIM в любой процедуре всего проекта.
Ввести данные в массив можно с помощью INPUT BOX, текстового поля.
Для изменения нумерации в массиве не с 0, а с 1 - оператор Option Base 1 в разделе деклараций формы (модуля).
Можно задавать массив диапазоном значений
вместо Dim A(19)
Dim A (1980 TO 2000)
Освобождение ОП от динамический массивов Erase DYNMAS/ Для фиксированных списков Erase только очищает массив.
Окна ввода
Окна ввода- это другая возможность, помимо текстовых полей, для ввода информации. Функция InputBox$ выводит на экран модальную диалоговую панель, которая в отличие от текстовых полей имеет фиксированный размер окна. У окна ввода есто строка заголовка и 4 элемента: подсказка, командные кнопки OK и Cancel и поле ввода. Синтаксис функции: Строковая переменная=
InputBox(“подсказка”[,заголовок][поумолчанию][,X][,Y][,файл справки, контекст])
где подсказка- текстовая строка или строковая переменная (1024 символа),
заголовок -содержание строки заголовка окна,
по умолчанию - начальное содержимое окна ввода,
X,Y- расстояние между левым (верхним) краями экрана и окна ввода. Если параметры не заданы, то окно располагается по центру на 1/3 высоты экрана.
Например, MyInput$=InputBox(“Введи число”, “Запрос”,”0”,100,200)
Вывод информации
Для вывода информации непосредственно на форме используется метод Print. Его синтаксис:
Имя формы.Print выражение
Например: frmHello.Print “Привет !”
VB5 выводит информацию, начиная с того места, которое определяют свойства CurrentX и CurrentY- горизонтальная и вертикальная позиции. При использовании метода Cls для очистки содержимого формы CurrentX и CurrentY=0 и метод Print выводит информацию, начиная с левого верхнего угла.
Вывод информации можно осуществлять различными шрифтами, в зависимости от используемого оборудования и программного обеспечения. Если операционная система не находит данный шрифт, она выбирает ближайший аналог. Для выбора шрифта в программном коде используется следующий оператор присваивания:
ИмяОбъекта-контейнера.Font.свойство=значение
?Например, frmHello.Font.Name=“Arial”
frmHello.Font.Size =20
frmHello.Font.Bold=True и т.д.
В качнстве объекта- контейнера могут быть командная кнопка, форма, надпись, поле ввода. Но только формы и графические окна могут работать одновременно с несколькими шрифтами. В остальных элементах управления изменение шрифта влияет на весь текст.
Печать табличных данных
В VB5 печать текста можно осуществлять в заданном формате. Зона имеет размер в 14 символов. В основном зоны используются при печати непропорциональными шрифтами типа Courier, т.к. каждая колонка по ширине равна среднему значению ширины символа. Если параметры в методе Print разделены запятыми, то данные выводятся в нескольких зонах. Например:
Me.Print Family$,Name$
После обработки выражения методом Print, производится переход на новую строку. Если используется Print без параметров, выводится пустая строка. Если не нужно переходить на новую строку, в конце строки вставляется символ”;”. Для печати с заданной колонки можно использовать функцию Tab, Например:
Print Tab (номер колонки %);
Для вставки указанного числа пробелов, начиная с текущей позиции, используется функция Spc (число пробелов %)
Функция Format
Для вывода числовых данных в нужном формате используется функция
Format( числовое выражение, строка формата $)
Результатом данной функции является строка, в которой выражение представлено по заданному формату. Например:
Me.Print Format(123.456789,”###.###”)
дают результат 123,46. Незначащие нули в начале и конце числа игнорируются. Для вывода незначащих нулей используется формат “000.00”. Если необходимо вывести символы “- “, “+”, “$”,”(“,”)” или пробел, их размещают непосредственно в формате. Например:
Me.Print Format(Amount,”$###.###”)
Именованные форматы
Именованные форматы являются встроенными форматами VB5 и облегчают работу по форматированию выводимого текста.
Именованный формат |
Описание |
General Number |
Строка цифр без разделителя для тысяч |
Currency |
Выводит 2 цифры справа от дес. точки и учитывает разделителя для тысяч |
Fixed |
По крайней мере одна цифра слева и две справа от десятичной точки |
Standard |
То же и разделитель тысяч |
Percent |
Число в виде процента. Выводит две цифры справа от дес.точки |
Scientific |
Научная форма |
Yes/No |
Если число равно 0, то выводит No, иначе Yes |
True/False |
Если число равно1, то выводит True, иначе False |
On/Off |
Если число равно1, то выводит On , иначе Off |
General Date |
Выводит дату и/или время. Если отсутствует дробная часть, выводится только дата, если целая часть, то- время.Например 23.12.98 10:30:45 |
Long Date |
Полный формат Windows для вывода даты Wedn 23 Dec 1998 |
Medium Date |
Обычный формат Windows для вывода даты 23- Dec-98 |
Short Date |
Сокращенный формат Windows для вывода даты 23.12.98 |
Long Time |
Время в час, мин, сек |
Medium Time |
Время в12-часовом формате: час, мин и AM/PM |
Short Time |
Время в час, мин в 24-часовом формате |
Например,
Me.Print Format(Amount, “Currency”)
Me.Print Format(Amount, “###,###.##”)
Me.Print Format(Now, “General Date”)
Объект Printer
Vb5 позволяет легко устанавливать свойства принтера, используемого в системе.
Команда PrintForm выводит на принтер графический образ окна формы. Ее синтаксис: ИмяФормы.PrintForm
Команда осуществляет побитовый перенос формы с заголовком и рамкой с экрана на форму и не обладает достаточной гибкостью.
Обычный способ вывода информации на принтер состоит в использовании метода Print, связанного с объектом Printer. Метод Print учитывает ориентацию страницы и может использовать свойства CurrentX и CurrentY для точного позиционирования текста и точек на странице. Его синтаксис:
Printer. Print текст
При этом сохраняются возможности метода Print : “;” “,” Tab, Spc, а также возможность управления свойствами шрифта:
Printer. Font.Name = “Aryal”
Printer. Font.Size = 18
А изменение шрифта принтера не влияет на предыдущий текст.
Свойства объекта Printer:
Свойство |
Назначение |
Значения |
ColorMode |
определяет тип принтера |
1-монохромный 2- цветной |
Page |
номер текущей страницы | |
Pages |
количество страниц | |
Copies |
количество печатных копий | |
PrintQuality |
качество печати (если это поддерживает драйвер принтера) |
1- черновая печать 2-низкое разрешение 3-среднее разрешение 4-высокое разрешение |
CurrentX, CurrentY |
Текущие координаты текста | |
Fonts |
доступные шрифты принтера | |
FontCount |
кол. доступных шрифтов принтера | |
Font.Name,Font.Size, Font.Bold,Font.Italic... |
характеристики шрифта | |
ScaleMode |
ед. измерения масштаба страницы |
0-пользователя 1-твипы (по умолчанию) 2-пункты 3-пикселы 4-символы 5-дюймы 6-мм 7-см |
ScaleLeft |
Расстояние от левой границы | |
ScaleTop |
||
ScaleWidth |
||
ScaleHeight |
Страницы: 1, 2, 3, 4, 5, 6, 7, 8