Среда Visual Basic

Автор работы: Пользователь скрыл имя, 25 Марта 2013 в 11:36, реферат

Описание

Visual Basic разработан в 1991 г. фирмой Microsoft как удобное и мощное средство
визуального проектирования программ, работающих в операционной среде Windows.
При относительной простоте языка, он позволяет быстро создавать программный
продукт, который мало отличается от подобных продуктов, созданных профессионалами
с использованием языков C и Pascal.
Модификация языка Visual Basic может использоваться в Microsoft Office, в частности в Excel и Access. Он обеспечивает простой доступ и эффективную обработку
данных различных систем управления базами данных (СУБД).

Работа состоит из  1 файл

Лекции по VB.doc

— 1.35 Мб (Скачать документ)

 

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.

 

Таблица 13.4.8

Имя функции, параметры

Возвращаемое значение

DDB(<Стоимость>, <ОстаточнаяСтоимость>, <ВремяЭксплуатации>,  <Период>, <Кратность>)

Амортизация фондов в течение заданного  периода времени

MIRR(<МассивВыплат>, <СтавкаФинансирования>, <СтавкаРеинвестиций>)

Модифицированная внутренняя норма  доходности


 

 

9) Функции для работы с файлами  представлены в таблице 13.4.9.

 

Таблица 13.4.9

Имя функции, параметры

Возвращаемое значение

EOF (<ДескрипторФайла>)

Принимает значение True, если достигнут конец файла, и False – в противном случае

FileLen(<ИмяФайла>)

Длина файла в байтах

Input(N, <ДескрипторФайла>)

Возвращается N символов (байт) из файла

LOF(<ДескрипторФайла>)

Размер открытого файла в  байтах

Seek(<ДескрипторФайла>)

Текущая позиция чтения (или записи) открытого файла


 

13.5. Примеры обработки массивов  данных

 

В качестве примера обработки числового  массива рассмотрим следующие примеры: ввод массива, вывод массива, нахождение максимума и минимума, сортировка массива по возрастанию и убыванию элементов. Все эти примеры реализованы в следующей программе:

 

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.

 

13.6. Модульное программирование  в VB

 

При работе над большими проектами  используются несколько форм, процедур обработки событий, процедур и функций  пользователя, большое количество переменных. Некоторые переменные и пользовательские подпрограммы могут быть общими, которые хотелось бы использовать в различных процедурах обработки событий принадлежащих различным формам. Для того чтобы сделать переменные и пользовательские подпрограммы доступными для всех форм и процедур обработки событий в проекте, их необходимо объявлять в одном или нескольких стандартных модулях проекта. Стандартный модуль (или просто модуль) представляет собой файл с расширением .bas. Он содержит типы, константы, переменные, функции и процедуры, которые могут быть использованы в любом месте проекта.

Для создания модуля в верхнем меню надо активизировать опцию “Проект”, далее “Добавить Модуль” и  открыть стандартный модуль, в  котором объявить глобальные переменные, используя ключевое слово Public, и процедуры и функции пользователя общего назначения. Взаимодействие двух модулей и процедур обработки событий двух форм показано на схеме:

         


Project1

          

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Это же относится к функциям, переменным, константам и типам.

 

14. Элементы оконного интерфейса  в VB

14.1. Формы

 

Форма (Form) – это окно, которое предназначено для создания пользовательского интерфейса проекта. В любом проекте есть хотя бы одна форма. Описание каждой формы хранится в файле с расширением *.frm. Файл содержит такую информацию, как начальный размер формы, ее положение на экране, текст заголовка и др.

Проект может содержать несколько  форм. Первая форма (Form1) появляется автоматически при загрузке VB. Новые формы (Form2, Form3 и т.д.) можно добавить используя верхнее меню Проект и внутри него Добавить форму. При этом появится диалоговое окно, в котором можно выбрать тип формы (полностью или частично заранее разработанные формы для различных специальных задач). Мы будем обычно выбирать новую пустую форму.

Если в проекте создано несколько  форм, то начальной загружаемой формой при запуске проекта по умолчанию  является первая. Если надо изменить начальную  форму (выбрать другую), можно сделать  с помощью верхнего меню: “Проект”, “Проект1 Свойства …”:

 

 

Рис. 25.

 

Внешний вид и расположение окна формы на экране монитора определяются ее свойствами. Их можно рассмотреть  открыв окно свойств:

 

 

Рис. 26.

 

Среди свойств формы есть:

  • Name – имя формы;
  • Caption – надпись (по умолчанию);
  • BackColor – цвет фона;
  • Left – расстояние левой границы от левого края экрана (в твипах);
  • Top – расстояние верхней границы от верхнего края экрана (в твипах);
  • Height – высота формы (в твипах);
  • Width – ширина формы (в твипах);
  • Font – шрифт и др.

 

Свойствам можно присваивать значения:

  • используя окно свойств;
  • автоматически, используя мышку (например, изменить размеры);
  • явно в программе путем присвоения значения (Form1.Top = Screen.Height – Form1.Height).

 

Под событием в VB понимается любое действие пользователя, на которое может среагировать программа. Для этого существует набор процедур в окне кода, обрабатывающие эти события (подпрограмма выполняющая какие либо действия при наступлении этого события. Этими событиями могут быть:

  • Load – загрузка формы (по умолчанию);
  • Click – щелчок  мышью по форме;
  • UnLoad – выгрузка формы;
  • GotFocus – получение фокуса;
  • LostFocus – потеря фокуса и др.

 

 Эти подпрограммы пишет сам  пользователь.

 

 

Рис. 27.

 

На форме с помощью панели инструментов можно располагать различные элементы управления такие как:

  • Label – метка;
  • TextBox – текстовое окно;
  • CommandButton – командная кнопка и др.

 

У каждого такого элемента есть свои свойства, которые можно менять теми же методами, что и для формы, в  том числе и программным способом: <ИмяФормы>.<ИмяЭлемента>.<ИмяСвойства> = ..., и набор событий, которые можно обрабатывать при помощи соответствующих процедур, созданных пользователем.

 

Для того чтобы работать с несколькими  формами существуют команды:

 

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(<Выражение> [,”<Формат>”])

 

где:

<Выражение> - числовое или строковое выражение;

<Формат> - строка, определяющая формат.

 

Сама функция принимает значение типа Variant. Основными символами форматирования числовых выражений являются:

 

0 – выводит  цифру;

# - выводит  цифру, знак или ничего;

. – определяет  положение десятичной точки.

 

Format(<ЧисловоеВыражение>, “####.00”) – определяет трехзначное число со знаком и двумя знаками после десятичной точки.

 

Выводимые числа при форматировании в необходимых случаях округляются  по правилам округления. Если раздел для  вывода знака числа имеется, то оно будет выводиться со знаком, если нет то без знака. Знак “+” опускается.

 

Очистить форму и переместить  курсор в ее левый верхний угол можно с помощью оператора:

 

[<ИмяФормы>.]Cls

 

Легко заметить, что есть команды  в операторах, которые присоединяются к имени формы, в общем случае к имени объекта, как название свойства, но это не свойства, это команды приводящие к каким либо действиям. Такого типа команды называются методами. Поэтому считается, что объект – экранная форма имеет методы: Show, Hide, Print, Cls и др. К другим методам можно отнести Line и Circle, позволяющие нарисовать линию и окружность на форме.

 

14.2. Элементы управления

 

Совокупность элементов (средств) управления это инструменты для  создания пользовательского интерфейса программы. 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

Информация о работе Среда Visual Basic