Среда Visual Basic

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

Описание

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

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

Лекции по VB.doc

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

  'Label4.Caption = A + B

  Label4.Caption = C(3)

End Sub

 Command2    Click

Private Sub Command2_Click()

End

End Sub

 

13.2. Функции

 

  Функция отличается от процедуры. Она не вызывается подобно процедуре, а включается в состав выражения своим именем, как в математике: z=sin(x+2) – a/b. Функции в языке VB имеют следующий вид:

 

[Public / Private][Static] Function <ИмяФункции> ([<CписокФормальныхПараметров>]) [As <ИмяТипаФункции>]

[<Объявление  переменных функции>]

[<Операторы>]

<ИмяФункции> = <Выражение>

[Exit Function]

End Function

 

Все служебные (ключевые) слова имеют  такое же значение, как и в предыдущем случае. <Выражение> - это возвращаемое значение. Имени функции в теле функции должно быть присвоено значение хотя бы один раз. Список формальных параметров имеет вид:

 

[ByRef / ByVal] <ИмяПараметра1>[()] [As <ИмяТипа1>]

[, [ByRef / ByVal] <ИмяПараметра2>[()] [As <ИмяТипа2>] [, ….. ]]

 

Смысл ключевых слов и в этом случае такой же, как и в предыдущем случае.

Функция может быть вызвана из процедур обработки событий, пользовательских процедур и из других функций. Пользователь имеет возможность создания библиотеки процедур и функций.

 

Пример1: Повторение примера приведенного на рис. 17. и в предыдущем параграфе (сложение двух чисел):

 (General)    (Declarations)

Option Base 1

 (General)       Sum

Function Sum(A() As Single) As Single

    A(3) = A(2) + A(1)

    Sum = A(3)

End Function

 Command1    Click

Private Sub Command1_Click()

  'Dim A As Single

  'Dim B As Single

  Dim C(3) As Single

  'A = Val(Text1.Text)

  'B = Val(Text2.Text)

  C(1) = Val(Text1.Text)

  C(2) = Val(Text2.Text)

  'Label4.Caption = A + B

  Label4.Caption = Sum(C)

  MsgBox "Нажми OK", 16, "2-е значение"

  Label5.Caption = C(3)

End Sub

 Command2    Click

Private Sub Command2_Click()

  End

End Sub

 

Пример2: Составить  программу для вычисления суммы  ряда:

y=1 + 2/x + (2*3)/x^2 + (2*3*2)/x^3 + (2*3*2*3)/x^4 + ... принимая, что |x|>3.

Вычисления  продолжать до тех пор, пока модуль разности между слагаемым и его  предыдущим значением не станет меньше заданной величины (точности вычисления).

 (General)       Y

Function Y(x As Single, tv As Single) As Single

Dim pr!, sl!, s!

Dim m As Byte, zn%

s = 0: pr = 0: sl = 1: m = 2: zn = 1

Do While Abs(pr - sl) > tv

  s = s + sl

  pr = sl: sl = sl * m / x

  m = m + zn: zn = -zn

Loop

Y = s

End Function

 Command1    Click

Private Sub Command1_Click()

Dim x!, tv!

  x = Val(Text1.Text)

  tv = Val(Text2.Text)

  Text3.Text = Str(Y(x, tv))

End Sub

 Command2    Click

Private Sub Command2_Click()

  End

End Sub

 

13.3. Рекурсия

 

Язык VB допускает чтобы подпрограмма (процедура или функция) вызывала саму себя. В ряде случаев такое написание программы более компактно, но не надо забывать о многократно передаваемых параметрах, которые запоминаются и могут вызвать переполнение памяти.

 

Пример: Вычислить факториал целого числа.

(General)    (Declarations)

Option Explicit

(General)           fact      

Private Function fact(x As Byte) As Long

Dim i As Byte

  fact = 1

  For i = 2 To x

    fact = fact * i

  Next

End Function

Form                  Click

Private Sub Form_Click()

  Print fact(CByte(Text1.Text))

End Sub

 

Или функция  с применением рекурсии:

(General)           fact      

Private Function fact(x As Byte) As Long

  If x = 0 Or x = 1 Then fact = 1 Else fact = x * fact(x - 1)

End Function

 

13.4. Встроенные функции языка  VB

 

Стандартных (встроенных) функций  в языке VB более 200. Они доступны любому пользователю. По назначению их можно классифицировать по следующим группам:

  • математические функции;
  • строковые функции;
  • функции преобразования типа;
  • функции обработки даты и времени;
  • функции статуса;
  • системные функции;
  • функции для работы с массивами;
  • финансовые функции;
  • функции для работы с файлами;
  • прочие функции.

 

Кратко рассмотрим некоторые из них:

 

  1) Математические функции представлены в таблице 13.4.1. Аргумент x представляет собой число, имя числовой переменной или числовое выражение.

 

Таблица 13.4.1

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

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

Abs(x)

Абсолютное значение числа

Sin(x)

Синус указанного в радианах угла

Cos(x)

Косинус указанного в радианах угла

Tan(x)

Тангенс указанного в радианах угла

Atn(x)

Арктангенс числа, результант в  радианах

Exp(x)

Экспонента числа, e^x

Log(x)

Натуральный логарифм числа

Fix(x)

Число x без дробной части

Int(x)

Ближайшее целое <=x

Sgn(x)

Знак числа: 1, 0 или –1, если x>0, =0 или <0

Sqr(x)

Квадратный корень числа

Rnd[([x])]

Датчик случайных чисел, Randomize-инициализатор


 

 

2) Строковые функции представлены  в таблице 13.4.2.

 

Таблица 13.4.2

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

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

InStr([I,] x1$, x2$)

Позиция подстроки x2$ в строке x1$, поиск начинается с позиции I, с первой позиции по умолчанию, 0 – не найдена

Left(x$, I)

Левая подстрока длиной I строки x$

Right(x$, I)

Правая подстрока длиной I строки x$

Mid(x$, n [, I])

Подстрока x$, начиная с позиции n, длиной I, до конца строки по умолчанию

Len(x$)

Длина строки x$

Lcase(x$)

Строка x$ в нижнем регистре

Ucase(x$)

Строка x$ в верхнем регистре

Trim(x$)

Копия строки x$ без начальных и конечных пробелов

Ltrim(x$)

Копия строки x$ без начальных пробелов

Rtrim(x$)

Копия строки x$ без конечных пробелов

Space(I)

Строка  из I пробелов

String(I, <КодСимвола>)

Строка  из одинаковых символов длиной I

StrComp(x$, x2$)

Результат сравнения строк: -1, 0, 1, если x1$<x2$, x1$=x2$, x1$>x2$


 

 

 

 

3) Функции преобразования типа  представлены в таблице 13.4.3.

 

Таблица 13.4.3

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

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

Asc(x$)

Код первого символа строки x$

Chr(<КодСимвола>)

Символ

Oct(<ДесятиричноеЧисло>)

Восьмеричное число

Hex(<ДесятиричноеЧисло>)

Шестнадцатеричное число

Str(I)

Преобразование числа I в строку

Val(x$)

Преобразование строки x$ в число

CBool(<Выражение>)

Преобразование выражения к  типу Boolean

CByte(<Выражение>)

Преобразование выражения к типу Byte

CCur(<Выражение>)

Преобразование выражения к  типу Currency

CDate(<Выражение>)

Преобразование выражения к  типу Date

CDbl(<Выражение>)

Преобразование выражения к  типу Double

CInt(<Выражение>)

Преобразование выражения к  типу Integer

CLng(<Выражение>)

Преобразование выражения к  типу Long

CSng(<Выражение>)

Преобразование выражения к  типу Single

CStr(<Выражение>)

Преобразование выражения к  типу String

CVar(<Выражение>)

Преобразование выражения к  типу Variant


 

Замечание: Chr(13) & Chr(10) – это клавиша “Ввод”.

     

    4) Функции обработки даты и времени представлены в таблице 13.4.4.

 

Таблица 13.4.4

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

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

Date

Текущая системная дата в формате: дд.мм.гг

Time

Текущее системное время в формате: чч:мм:сс

Now

Текущие дата и время в формате: дд.мм.гг чч:мм:сс

Timer

Количество секунд после полуночи

Day(“<Дата>”)

Число, 1-31

Month(“<Дата>”)

Месяц, 1-12

Year(“<Дата>”)

Год

Hour(“<Дата>”)

Час, 0-23

Minute(“<Дата>”)

Минуты, 0-59

Second(“<Дата>”)

Секунды, 0-59

Weekday(“<Дата>”,[ <1-й день недели>])

День недели, начиная с первого (подскажет VB), по умолчанию с воскресенья, 1- 7

DateAdd(“<Интервал>”, <Количество>, “<Дата>”)

Дата, отличающаяся от заданной на определенное количество интервалов. Интервалы бывают:

Yyyy – год;

Q – квартал;

M – месяц;

Y – день (года);

W – день (недели);

WW – неделя;

H – час;

N – минута;

S – секунда.


 

5) Функции статуса представлены  в таблице 13.4.5.

 

Таблица 13.4.5

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

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

IIf(<Выражение>, <Значение1>,<Значение2>)

Если <Выражение>=True, то - <Значение1>, <Значение2>  -в противном случае

IsArray(<ИмяПеременной>)

True, если переменная массив, False – в противном случае

IsDate(<Выражение>)

True, если выражение дата, False – в противном случае

IsNumeric(<Выражение>)

True, если выражение число, False – в противном случае

IsMissing(<ИмяПараметра>)

True – параметр передан в процедуру, False – в противном случае


 

 

6) Системные функции. 

К системным функциям относятся  две функции, действие которых непосредственно зависит от операционной системы Windows. Это:

    • функция InputBox – для ввода данных в программу через системное окно (окно ввода); 
    • функция MsgBox – для выдачи сообщений через системное окно (окно сообщений).

 

Функция InputBox имеет вид:

 

InputBox(<Приглашение>, [<Заголовок>] , [<НачЗначение>]

[, <XПозиция>, <YПозиция>] [, <HelpFile>] [, <Context>]) As String

 

где:

<Приглашение> - строковое выражение,  которое отображается в области  сообщения окна ввода;

<Заголовок> - строковая константа или переменная, которая отображается в заголовке окна;

<НачЗначение> - строковая константа  или переменная, которая отображается  в поле ввода как начальное  значение;

<XПозиция>,  <YПозиция> - координаты левого верхнего угла окна соответственно по горизонтали и вертикали (в твипах, 1440 tw = 1 дюйм, 567 tw = 1 см). По умолчанию окно отображается в центре экрана;

<HelpFile> и <Context> - параметры, которые позволяют открыть определенные файлы справочной системы.

 

В окне имеются две кнопки: “ОК” и “Отмена”. При нажатии кнопки “ОК” функция принимает значение, отображаемое в окне ввода. При нажатии кнопки “Отмена” функция принимает значение “пустышка” (“”).

 

Отобразить окно сообщений можно  с помощью функции MsgBox() или с помощью оператора (процедуры) MsgBox. Разница между ними заключается в том, что функция отображает окно сообщений и возвращает некоторое значение, а оператор (процедура) только отображает  окно сообщений.

 

Оператор (процедура) MsgBox имеет вид:

 

MsgBox <Приглашение> [, <Опции>] [, <Заголовок>] [, <HelpFile>] [, <Context>]

 

Функция MsgBox() имеет вид:

 

MsgBox( <Приглашение> [, <Опции>] [, <Заголовок>] [, <HelpFile>] [, <Context>])

As VbMsgBoxResult

 

Параметры <Приглашение>, <Заголовок>, <HelpFile>, <Context> такие же, как и в предыдущем случае. Параметр <Опции> есть сумма нескольких констант и имеет вид:

<Опции> = Button + Icon + Default + Modal + Extras (два последних могут не работать в русифицированной версии).

 

Для категорий Button, Icon,  Default и Modal можно использовать только одну из допустимых констант. А для категории Extras допускается применение комбинации констант или их значений. Возможные константы приведены в таблице 13.4.6.:

 

Таблица 13.4.6

Константа

Значение

Описание

Категория: Button:

VbOKOnly

VbOKCancel

VbAbortRetryIgnore

VbYesNoCancel

VbYesNo

VbRetryCancel

 

0

1

2

3

4

5

 

Только кнопка OK

Кнопки OK и Отмена

Кнопки Стоп, Повторить и Пропустить

Кнопки Да, Нет и Отмена

Кнопки Да и Нет

Кнопки Повторить и Отмена

Категория Icon:

VbCritical

 

VbQuestion

 

VbExclamation

 

VbInformation

 

16

 

32

 

48

 

64

 

Отображает пиктограмму Critical Message (критическое сообщение) – крест

Отображает пиктограмму Warning Query (запрос) – знак вопроса

Отображает пиктограмму Warning Message (предупреждение) – восклицательный знак

Отображает пиктограмму Information Message (информационное сообщение) – буква I

Категория Default:

VbDefaultButton1

VbDefaultButton2

VbDefaultButton3

VbDefaultButton4

 

0

256

512

768

 

По умолчанию активна первая кнопка

По умолчанию активна вторая кнопка

По умолчанию активна третья кнопка

По умолчанию активна четвертая  кнопка

Категория Modal:

VbAplicationModal

VbSystemModal

 

0

4096

 

Модальное диалоговое окно приложения

Модальное диалоговое окно системы

Категория Extras:

VbMsgBoxHelpButton

VbMsgBoxSetForeground

VbMsgBoxRight

VbMsgBoxRtlReading

 

16384

65536

524288

1048576

 

Дополнительная кнопка для справки

Отображение окна в фоновом режиме

Текст выровнен по правому краю

Текст отображается справа налево


 

Возвращаемое функцией значение позволяет  определить нажатую кнопку:

  1. - нажата клавиша OK (vbOK);
  2. - нажата клавиша Отмена (vbCancel);
  3. - нажата клавиша Стоп (vbAbort);
  4. - нажата клавиша Повторить (vbRetry):
  5. - нажата клавиша Пропустить (vbIgnore);
  6. - нажата клавиша Да (vbYes);
  7. - нажата клавиша Нет (vbNo).

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