Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаба3.doc
Скачиваний:
1
Добавлен:
22.11.2018
Размер:
240.13 Кб
Скачать

IniTApp

TxtUser.Text = User

txtPassWord.text = “”

End Sub

10. Дважды щелкнуть на кнопке cmdLogon и добавить следующий фрагмент:

P

Рис. 7 Пример работы приложения

rivate Sub cmdLogon_Click()

Dim msg as string

User = txtUser.text

Password = txtPassword.text

If User = TxtUser.Text And Password = ACL Then

MsgBox "Приступайте к работе", vbInformation, "Регистрация"

Else

MsgBox "Пароль не верен, повторите", 32, "Регистрация"

End If

End Sub

11. Сделать форму FrmLogon стартовой и запустить приложение.

Поле Имя пользователя содержится имя «Павел», это значение было взято из глобальной строковой переменной User. Переменная не объявляется в процедуре события Form_Load, она объявлена глобальной секцией в модуле Module2 (рис.7).

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

Диалоговые окна используются для отображения на экране информации пользователю и получения от него простых ответов, таких как «да» или «нет». Окна как бы приостанавливают работу приложения, пока не будет совершена обработка содержащейся в них информации. Пользователь не имеет доступа к другим окнам текущего приложения, пока не завершит работу с данным окном.

Для создания диалогового окна (рис. 8) используется специальная функция (окна сообщений) MsgBox. Формат вызова функции следующий:

Result = MsgBox (текст, опции, заголок),

г

Рис 8 Диалоговое окно

де Result – значение возвращаемое функцией; текст – текст сообщения; опции – целое число, значение которого определяет особенности окна – а именно различные кнопки и значки, изображаемые на нем; заголовок – текст заголовка окна.

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

MsgBox текст, опции, заголовок

где текст – текст сообщения; опциицелое число, определяющее кнопки и другие атрибуты окна; заголовок – текст заголовка окна.

Например: MsgBox «Это окно сообщений»

Размещение текста в окнах сообщений. Текст автоматически будет размещаться в несколько строк в зависимости от ширины окна сообщений. При необходимости можно установить символ перехода на новую строку с помощью функции Chr$(10), где Chr$() – это функция VB, которая в качестве результата возвращает символ, соответствующий указанному ASCII- коду, 10 соответствует коду перехода на другую строку.

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

Пиктограмма

Значение

Имя константы

Critical

16

vbCritical

Quetion Mark (Знак вопроса)

32

vbQuetion

Exlamation Mark (Восклицательный знак)

48

vbExlamation

Information

64

vbInformation

Кнопки в окнах сообщений. По умолчанию появляется только одна кнопка – Ok. Появление кнопок задается прибавлением дополнительного числа к опции. Ниже перечислены значения этого дополнительного числа и константы, используемые для определения отображаемой кнопки.

Кнопка

Значение

Имя константы

Ok

0

vbOkOnly

Ok, Cancel

1

vbOkCancel

Abort, Retry, Ignore

2

vbAbortRetryIgnore

Yes, No, Cancel

3

vbYesNoCancel

Yes, No

4

vbYesNo

Retry, Cancel

5

vbRetryCancel

Получение информации о нажатой кнопке. Чтобы получить информацию о нажатой кнопке, следует вместо оператора Msgbox использовать функцию с таким же именем. Функция возвращает значение, соответствующее значению нажатой кнопке. Это значение присваивается переменной, которая в дальнейшем и используется в коде программы. Значения, возвращаемые функцией при нажатии соответствующей кнопке, сведены в таблицу

Нажатая кнопка

значение

Имя

Ok

1

vbOk

Cancel

2

vbCancel

Abort

3

vbAbort

Retry

4

vbRetry

Ignore

5

vbIgnore

Yes

6

vbYes

No

7

vbNo

Функция InputBox$. Кроме нажатия кнопок при выборе альтернативы, пользователь часто должен вводить какие-то данные. Для этого используется функция InputBox$:

InputBox$ (Prompt, Title, Default, Left, Top)

где Prompt строка сообщение, отображаемое в окне; Titleзаголовок окна; Defaultначальное значение, отображаемое в текстовом окне (области вводаf); Leftрасстояние от левой границы экрана до текстового окна; Topрасстояние от верхней границы экрана до текстового окна.

При использовании функции InputBox$ в окне всегда появляются две кнопки – Ok и Cancel.

Упражнение 6 Диалоговые окна

1. Создать новый проект. Присвоить ему имя «Диалоговые_окна».

2. У формы проекта изменить свойства: Name= FrmPic и Caption = «Диалоговые пиктограммы».

3. Открыть окно кода формы с событием click. Ввести следующий программный код:

Dim D as string

Dim m as string

Dim Vol, res as single

Vol = 1.56

If Vol> 1.44 then

D = “Операция записи не может быть продолжена.”

D = D + “ Диск переполнен”

res = MsgBox(D$, 16 + 2, "Ошибка записи")

If res = 4 Then

m = "Вставте новую дискету": m = m + Chr(10) + "Запись продолжить ?"

res = MsgBox(m, 64 + 4, "Повтор записи")

If res = 6 Then

End

Else

MsgBox "Сохраните файл на диске": End

End If

End If

End If

4

Рис. 10 Кнопки в окнах сообщений

. Запустить приложение. Щелкнуть по форме, появится сообщение Рис. 10:

5

. При нажатии кнопки Повторить (Retry), будет выдано сообщение Повтор записи. При нажатии кнопки Нет появится сообщение "Сохраните файл на диск» (рис.11).

6 . Завершить выполнение окна сообщений, нажав кнопку закрытия окна. Остановить исполнение приложения. Сохранить форму.

Упражнение 7 Виртуальная процедура записи данных.

1. В программном коде приложения предыдущего упражнения заменить процедуру Form_Click() на следующие строки:

Private Sub Form_Click()

Dim Vol, res As Single

Vol = 1.56

If Vol > 1.44 Then

D$ = "Операция записи не может быть продолжена."

D$ = D$ + " Диск переполнен"

res = MsgBox(D$, 16 + 2, "Ошибка записи")

If res = 4 Then

D$ = "Вставте новую дискету."

D$ = D$ + Chr$(10) + "Запись продолжить?"

res = MsgBox(D$, 64 + 4, "Повтор записи")

If res = 6 Then

End

Else

MsgBox "Сохраните файл на диске"

Header$ = "Ввод имени файла"

FileName$ = InputBox$("Задайте имя файла", Header$, "DD.doc", 0, 0)

Print FileName$

End If

End If

End If

End Sub

Заголовок (Header$) необходимо обязательно вставлять до вызова функции InputBox$. Кроме того, функция InputBox$() возвращает строку, а функция MsgBox() – значение типа Variant.

2 . Запустить приложение. При нажатии кнопки ОК окна «Сохранить файл на диске» появится окно ввода имени файла (рис. 12). При нажатии на кнопку Ok, содержимое текстового поля присваивается переменной (в нашем случае FileName). Если пользователь нажал кнопку Cancel, то возвращается строка нулевой длины

3. Завершить работу приложения. Сохранить проект.

Вопросы для самопроверки

  1. Дать определение переменной. Её назначение.

  2. Типы переменных.

  3. Область видимости и время жизни переменных. Ключевое слово Static.

  4. Массивы. Определение, назначение, задание массивов.

  5. Использование массивов для хранения информации.

  6. Понятие процедуры. Общие процедуры. Процедуры, управляемые событиями.

  7. Области действия событийных и общих процедур.

  8. Использование событийных процедур.

  9. Создание новой общей процедуры.

  10. Передача параметров

  11. Процедуры – функции.

  12. Назначение диалоговых окон.

  13. Как осуществляется вывод сообщения ?

  14. Чем отличается организация вывода сообщения функцией и оператором?

  15. В чем заключается организация вывода содержательной части сообщения ?

  16. Чем определяется вид диалогового окна сообщения?

  17. Параметры и константы, определяющие вид окна сообщения.

  18. Коды возврата диалоговых окон.

  19. Диалоговые окна ввода информации.

  20. Организация диалогового окна ввода информации.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]