Автор работы: Пользователь скрыл имя, 25 Марта 2013 в 11:36, реферат
Visual Basic разработан в 1991 г. фирмой Microsoft как удобное и мощное средство
визуального проектирования программ, работающих в операционной среде Windows.
При относительной простоте языка, он позволяет быстро создавать программный
продукт, который мало отличается от подобных продуктов, созданных профессионалами
с использованием языков C и Pascal.
Модификация языка Visual Basic может использоваться в Microsoft Office, в частности в Excel и Access. Он обеспечивает простой доступ и эффективную обработку
данных различных систем управления базами данных (СУБД).
7) Функции для работы с массивами представлены в таблице 13.4.7.
Таблица 13.4.7.
Имя функции, параметры |
Возвращаемое значение |
Array(<Список>) |
Создание массива типа Variant из элементов списка |
LBound(<ИмяМассива>) |
Нижняя граница индекса |
UBound(<ИмяМассива>) |
Верхняя граница индекса |
Пример1:
(General) (Declarations)
Option Base 1
Form Click
Private Sub Form_Click()
Dim masdn As Variant
masdn = Array("понедельник", "вторник", "среда", "четверг", _
"пятница", "суббота", "воскресенье")
Print masdn(3) ‘среда
End Sub
Пример2:
(General) (Declarations)
Option Base 1
Form Click
Private Sub Form_Click()
Dim mas() As String * 15, s$, i%
ReDim mas(1)
i = 1
Do Until s = "*"
s = InputBox("Введите " & i & "-ю строку [до 15-и символов]", "Ввод данных", _
, 2000, 500)
mas(UBound(mas)) = s: i = i + 1
ReDim Preserve mas(UBound(mas) + 1)
Loop
ReDim Preserve mas(UBound(mas) - 1)
For i = 1 To UBound(mas)
Print i; " "; mas(i)
Next
MsgBox "Привет", vbOKOnly + vbCritical + vbDefaultButton1 + _
vbSystemModal + _
vbMsgBoxSetForeground, "Остановка"
End Sub
Результаты работы программы показаны на рисунках 22 и 23:
Рис. 22.
При нажатии клавиши OK вводится набранное значение и переходим к следующему элементу, Отмена – ничего не вводится, но переходим к следующему элементу.
Рис. 23.
8) Финансовые функции
Таблица 13.4.8
Имя функции, параметры |
Возвращаемое значение |
DDB(<Стоимость>, <ОстаточнаяСтоимость>, <ВремяЭксплуатации>, <Период>, <Кратность>) |
Амортизация фондов в течение заданного периода времени |
MIRR(<МассивВыплат>, <СтавкаФинансирования>, <СтавкаРеинвестиций>) |
Модифицированная внутренняя норма доходности |
9) Функции для работы с файлами представлены в таблице 13.4.9.
Таблица 13.4.9
Имя функции, параметры |
Возвращаемое значение |
EOF (<ДескрипторФайла>) |
Принимает значение True, если достигнут конец файла, и False – в противном случае |
FileLen(<ИмяФайла>) |
Длина файла в байтах |
Input(N, <ДескрипторФайла>) |
Возвращается N символов (байт) из файла |
LOF(<ДескрипторФайла>) |
Размер открытого файла в байтах |
Seek(<ДескрипторФайла>) |
Текущая позиция чтения (или записи) открытого файла |
В качестве примера обработки числового массива рассмотрим следующие примеры: ввод массива, вывод массива, нахождение максимума и минимума, сортировка массива по возрастанию и убыванию элементов. Все эти примеры реализованы в следующей программе:
Option Explicit
Dim i As Byte, n As Byte
Dim m() As Single 'VB не позволяет заменить () на (n)
Private Sub Command1_Click() 'Ввод числового массива
n = CByte(InputBox("Введите размерность массива ", _
"Ввод данных", , 2000, 500))
ReDim m(1 To n) 'VB не позволяет заменить ReDim на Dim
Text1.Text = ""
For i = 1 To n
m(i) = Val(InputBox("Введите " & i & "-й элемент массива", _
"Ввод данных", , 2000, 500))
Text1.Text = Text1.Text + Str(i) & " ----------- " & Str(m(i)) & _
Chr(13) & Chr(10)
Next
End Sub
Private Sub Command2_Click() 'Вывод массива
Text1.Text = ""
For i = 1 To n
Text1.Text = Text1.Text + Str(i) & " ----------- " & Str(m(i)) & _
Chr(13) & Chr(10)
Next
End Sub
Private Sub Command3_Click() 'Конец
End
End Sub
Private Sub Command4_Click() 'Max/Min
Dim mx As Single, k As Integer, nm As Byte
k = CInt(InputBox("Введите -1 для Min и +1 для Max", _
"Ввод данных", , 2000, 500))
mx = m(1) : nm = 1
For i = 2 To n
If mx * k < m(i) * k Then mx = m(i) : nm = i
Next
If k = 1 Then Text1.Text = "Максимальный " & nm & "-й элемент" & _
Chr(13) & Chr(10) & "Его значение = " & mx _
Else Text1.Text = "Минимальный " & nm & "-й элемент" & _
Chr(13) & Chr(10) & "Его значение = " & mx
End Sub
Private Sub Command5_Click() 'Сортировка
Dim mx As Single, k As Integer, j As Byte
k = CInt(InputBox("Введите -1 для убывания и +1 для возрастания", _
"Ввод данных", , 2000, 500))
For i = 1 To n - 1
For j = i + 1 To n
If m(i) * k > m(j) * k Then mx = m(i): m(i) = m(j): m(j) = mx
Next j, i
Text1.Text = "Массив рассортирован"
End Sub
Работу программы иллюстрирует рис. 24:
Рис. 24.
При работе над большими проектами используются несколько форм, процедур обработки событий, процедур и функций пользователя, большое количество переменных. Некоторые переменные и пользовательские подпрограммы могут быть общими, которые хотелось бы использовать в различных процедурах обработки событий принадлежащих различным формам. Для того чтобы сделать переменные и пользовательские подпрограммы доступными для всех форм и процедур обработки событий в проекте, их необходимо объявлять в одном или нескольких стандартных модулях проекта. Стандартный модуль (или просто модуль) представляет собой файл с расширением .bas. Он содержит типы, константы, переменные, функции и процедуры, которые могут быть использованы в любом месте проекта.
Для создания модуля в верхнем меню надо активизировать опцию “Проект”, далее “Добавить Модуль” и открыть стандартный модуль, в котором объявить глобальные переменные, используя ключевое слово Public, и процедуры и функции пользователя общего назначения. Взаимодействие двух модулей и процедур обработки событий двух форм показано на схеме:
Project1
Это же относится к функциям, переменным, константам и типам.
Форма (Form) – это окно, которое предназначено для создания пользовательского интерфейса проекта. В любом проекте есть хотя бы одна форма. Описание каждой формы хранится в файле с расширением *.frm. Файл содержит такую информацию, как начальный размер формы, ее положение на экране, текст заголовка и др.
Проект может содержать
Если в проекте создано
Рис. 25.
Внешний вид и расположение окна формы на экране монитора определяются ее свойствами. Их можно рассмотреть открыв окно свойств:
Рис. 26.
Среди свойств формы есть:
Свойствам можно присваивать значения:
Под событием в VB понимается любое действие пользователя, на которое может среагировать программа. Для этого существует набор процедур в окне кода, обрабатывающие эти события (подпрограмма выполняющая какие либо действия при наступлении этого события. Этими событиями могут быть:
Эти подпрограммы пишет сам пользователь.
Рис. 27.
На форме с помощью панели инструментов можно располагать различные элементы управления такие как:
У каждого такого элемента есть свои
свойства, которые можно менять теми
же методами, что и для формы, в
том числе и программным способом:
<ИмяФормы>.<ИмяЭлемента>.<
Для того чтобы работать с несколькими формами существуют команды:
Load <ИмяФормы> - предварительно созданная форма загружается в память. После этого ее можно использовать в любой процедуре, иметь доступ к любому ее свойству, которое при необходимости можно изменять.
Особенность события Load и процедуры Form_Load() состоит в том, что процедура запускается в момент загрузки формы и ее имя не меняется при изменении имени формы.
Unload <ИмяФормы> - выгружает форму из памяти.
<ИмяФормы>.Show - отображает форму на экране.
<ИмяФормы>.Hide – прячет, скрывает форму.
Все предыдущие действия аналогичны применению свойства Visible:
<ИмяФормы>.Visible = True (форма видна, = False – форма не видна).
Форму можно свернуть (поместить на панель задач) или развернуть на весь экран с помощью свойства - статуса окна (WindowState):
<ИмяФормы>.WindowState = 1 – свернуть окно.
<ИмяФормы>.WindowState = 2 – развернуть окно во весь экран.
<ИмяФормы>.WindowState = 0 – вернуть окно в нормальный вид.
На форму могут быть выведены данные оператором:
[<ИмяФормы>.]Print [[ Space(n)]/[Tab(n)]/[<
где:
<ИмяФормы> - параметр может быть опущен, если форма одна;
Spaсe(n) – n пробелов;
Tab(n) – перемещает курсор на столбец n (выражение или константа);
<Выражение> - выражение любого типа или константа;
<Разделитель> - разделители бывают: запятая, точка с запятой и отсутствие разделителя в конце оператора.
Для форматирования выражения можно использовать функцию Format, она имеет в простейшей форме следующий вид:
Format(<Выражение> [,”<Формат>”])
где:
<Выражение>
- числовое или строковое
<Формат> - строка, определяющая формат.
Сама функция принимает
0 – выводит цифру;
# - выводит цифру, знак или ничего;
. – определяет положение десятичной точки.
Format(<ЧисловоеВыражение>, “####.00”) – определяет трехзначное число со знаком и двумя знаками после десятичной точки.
Выводимые числа при форматировании
в необходимых случаях
Очистить форму и переместить курсор в ее левый верхний угол можно с помощью оператора:
[<ИмяФормы>.]Cls
Легко заметить, что есть команды в операторах, которые присоединяются к имени формы, в общем случае к имени объекта, как название свойства, но это не свойства, это команды приводящие к каким либо действиям. Такого типа команды называются методами. Поэтому считается, что объект – экранная форма имеет методы: Show, Hide, Print, Cls и др. К другим методам можно отнести Line и Circle, позволяющие нарисовать линию и окружность на форме.
Совокупность элементов (средств) управления это инструменты для создания пользовательского интерфейса программы. VB содержит стандартные элементы управления для использования в формах. Они представлены пиктограммами на панели инструментов и в таблице 14.2.1:
Таблица 14.2.1
Элемент управления |
Префикс имени |
Имя объекта |
Свойство по умолчанию |
Событие по умолчанию |
Графическое окно (Picture box) |
Pic |
PictureBox |
Picture |
Click |
Метка (Label) |
Lbl |
Label |
Caption |
Click |
Текстовое окно (Text box) |
Txt |
TextBox |
Text |
Change |
Рамка (Frame) |
Fra |
Frame |
Caption |
DragDrop |
Командная кнопка (Command button) |
Cmd |
CommandButton |
Value |
Click |
Контрольный индикатор (Check box) |
Chk |
CheckBox |
Value |
Click |
Кнопка переключатель (Option button) |
Opt |
OptionButton |
Value |
Click |
Комбинированный список (Combo box) |
Cbo |
ComboBox |
Text |
Change |
Окно списка (List box) |
Lst |
ListBox |
Text |
Click |
Горизонтальная линейка прокрутки (Horizontal scroll bar) |
Hsb |
HScrollBar |
Value |
Change |
Вертикальная линейка прокрутки (Vertical scroll bar) |
Vsb |
VScrollBar |
Value |
Change |
Таймер (Timer) |
Tmr |
Timer |
Enabled |
Timer |
Окно списка дисководов (Drive list box) |
Drv |
DriveListBox |
Drive |
Change |
Окно списка каталогов (Directory list box) |
Dir |
DirListBox |
Path |
Change |
Окно списка файлов (File list box) |
Fil |
FileListBox |
FileName |
Click |
Фигура (Shape) |
Shp |
Shape |
Shape |
- |
Линия (Line) |
Lin |
Line |
Visible |
- |
Изображение (Image) |
Img |
Image |
Picture |
Click |
Элемент управления данными (Data control) |
Dat |
Data |
Caption |
Validate |
Элемент управления OLE (OLE control) |
Ole |
OLE |
- |
Updated |