Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Программирование на языке VBS. Работа с окнами сообщений и ввода данных

Поиск

Цель работы

Освоение основ написания и выполнения программы на языке VBS.

Учебные вопросы

1. Создание простейшей программы.

2. Синтаксис и примеры использования функции MsgBox.

3. Синтаксис и примеры использования функции InputBox.

Краткое изложение учебного материала по теме

1 Создание простейшей программы

 

Программа на языке Visual Basic Scripting Edition (VBS) состоит из инструкций языка (statement) в виде текстовых строк.

В русском языке инструкции языка программирования обычно назы- вают операторами языка, хотя это не совсем точно: операторами в англий- ских первоисточниках называют символы для обозначения математиче- ских, логических и строковых операций (=, +, -, /, and, or, eqv, & и пр.). Да- лее будет использоваться традиционная русская терминология с использо- ванием слова операторы для обозначения инструкций языка.

Текст программы можно написать в любом простейшем редакторе, сохраняющем файлы в кодировке ASCII, например, в стандартных про- граммах Windows Блокнот или WordPad.

Существуют также специализированные редакторы, предназначен- ные для написания в них программ.

Далее воспользуемся редактором Блокнот, как наиболее доступным. Для создания простейшей программы делаем следующее:

1) запускаем Блокнот;

2) пишем в Блокноте строку: MsgBox "Привет!" (это имя функции с аргу- ментом – текстовым значением (константой) между апострофами; имя MsgBox – сокращение от английского выражения Message Box, которое дословно можно перевести, как «коробка сообщений», в системе Win- dows – окно сообщений;


3) сохраняем текстовый файл с именем Prg1.vbs;

4) двойным щелчком мыши запускаем файл на исполнение.

Результат работы этой программы – диалоговое окно в системе Win- dows (Windows-форма), показанное на рисунке 12.1.

 

Рисунок 12.1 – Пример работы простейшей программы на языке VBS, исполняемой системой Windows Based Script Host

2 Синтаксис и примеры использования функции MsgBox

 

При выполнении этой программы используется стандартная функция языка VBS для вывода сообщений в окно Windows со следующим полным синтаксисом (здесь и далее в описании синтаксиса в квадратных скобках [ ] приводятся необязательные элементы, элементы в скобках < > должны быть заменены конкретными значениями):

где:

p – переменная, которой присваивается код нажатой кнопки;

Сообщение – аргумент функции, текст в диалоговом окне;

Кнопки и значок – стандартные переменные (приведены далее в таблице 1.1), определяющие кнопки, значок и номер кнопки по умолча- нию в окне (например, vbYesNoCancel + vbInformation + vbDe- faultButton3 или 3+64+512);

Заголовок окна – надпись на заголовке окна (например, «Мое первое окно»);

 

Справка, раздел – имя файла справки и идентификатор раздела, связан- ного с данным окном.

Дополним текст в файле Prg1.vbs указанными дополнительными па- раметрами (текст пишем в одну строку или используем знак под- черкивания _ в конце первой строки для продолжения текста функции на следующей строке):


                      

MsgBox "Привет!", vbYesNoCancel + vbInformation _

+ vbDefaultButton3, "Мое первое окно", "tst.hlp",1

 

Окно запущенной программы будет иметь вид, показанный на ри- сунке 1.3.

Рисунок 12.2 – Пример использования функции MsgBox

с заданием набора кнопок, иконки и раздела справки

Функция MsgBox возвращает значение нажатой в окне кнопки (например 6, если нажата кнопка Yes (Да), либо другие значения для кнопок vbNo, vbCancel и пр., см. далее таблицу 12.1).

Таблица 12.1 – Константы диалоговых окон

  Константа Зна- че- ние   Описание
vbOKOnly 0 Показана только кнопка ОК
vbOKCancel 1 Показаны кнопки ОК и Отмена (Cancel)
vbAbortRetryIgnore 2 Показаны кнопки Стоп (Abort), Повтор (Retry) и Пропустить (Ignore)
vbYesNoCancel 3 Показаны кнопки Да (Yes), Нет (No) и Отмена (Cancel)
vbYesNo 4 Показаны кнопки Да (Yes) и Нет (No)
vbRetryCancel 5 Показаны кнопки Повтор (Retry) и От- мена (Cancel)
vbCritical 16 Показан значок Stop Mark (знак стоп)
vbQuestion 32 Показан значок Question Mark (знак во- проса)
vbExclamation 48 Выводится значок Exclamation Mark (восклицательный знак)
vbInformation 64 Показан значок Information Mark (ин- формационнный знак)

vbDefaultButton1 0 По умолчанию в окне выбрана первая кнопка
vbDefaultButton2 256 По умолчанию в окне выбрана вторая кнопка
vbDefaultButton3 512 По умолчанию в окне выбрана третья кнопка
vbDefaultButton4 768 По умолчанию в окне выбрана четвёртая кнопка
vbSystemModal 4096 Диалоговое окно выводится в модальном режиме и располагается сверху всех дру- гих окон
vbOK 1 Нажата кнопка ОК.
vbCancel 2 Нажата кнопка Отмена (Cancel)
vbAbort 3 Нажата кнопка Стоп (Abort)
vbRetry 4 Нажата кнопка Повтор (Retry)
vbIgnore 5 Нажата кнопка Пропустить (Ignore)
vbYes 6 Нажата кнопка Да (Yes)
vbNo 7 Нажата кнопка Нет (No)

 

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

btn = MsgBox(" Привет!", vbYesNoCancel + vbInformation _

+ vbDefaultButton3, "Мое первое окно")

Диалоговое окно будет иметь тот же вид, что и раньше (только без

Справка
кнопки          , см. рисунок 12.2), но после нажатия кнопки в окне пере-

менная btn будет иметь значение, соответствующее нажатой кнопке.

Если Вы желаете написать в окне Сообщение и Заголовок окна, про- пустив второй аргумент (Кнопки и значок), после первого аргумента следу- ет поставить 2 (ДВЕ!) запятые:

MsgBox "Сегодня я написал свою первую программу на VBS!" _

,, "Окно сообщений студента Вани Иванова"

3 Синтаксис и примеры использования функции InputBox

Еще одна функция языка, позволяющая открывать окно для ввода пользователем с клавиатуры строки текста (максимальная длина строки 256 символов):


где новые параметры функции (по сравнению с MsgBox):

p – переменная, которой присваивается значение, введенное в поле ввода окна InputBox;

Стр.умолч. – строковое значение в поле ввода, которое будет показано по умолчанию при открытии окна;

X, Y – координаты левого верхнего угла окна в единицах twips (1440 twips = 1 дюйм, 567 twips = 1 см) по отношению к левому верх- нему углу экрана; если координаты не указаны, окно выводится примерно в центре экрана.

Дополним программу вводом данных с клавиатуры в окне InputBox:

S = InputBox(vbLF & "Напишите строку текста:", _

"Окно ввода. Студент Ваня Иванов",, 4000, 2000)

Kod = MsgBox (S, vbYesNoCancel+vbInformation, _ " Окно сообщений. Студент Ваня Иванов")

Здесь 2 запятые, т. к. пропущена

<Стр.умолч.>

Функция InputBox в данном примере имеет строку <Сообщение>, со- стоящую из двух частей: vbLF – константа языка VBS – код перехода на следующую строку, и текстового значения "Напишите строку текста:"; эти две части объединены в одну строку с использованием оператора конкате- нации &.

Сохраним текст, как новый файл Prg2.vbs, откроем его двойным щелчком мышкой и увидим окно функции InputBox (рисунок 12.3). В поле ввода этого окна напишем новый текст (длиной более 256 символов) и

OK
нажмем кнопку      , после чего появится окно, показанное на рисунке

Отмена
12.4, в сообщении которого присутствует 256 символов значения  перемен-


ной S (если в первом окне нажать кнопку

MsgBox будет отсутствовать).


, сообщение в окне


 

Рисунок 12.3 – Пример использования функции InputBox


Рисунок 12.4 – Окно функции MsgBox

с показом текста, написанного в окне InputBox

В изложенном выше материале использовались такие осно- вополагающие понятия языка программирования, как строковые значения (символы между апострофами), стандартные константы окон и строковая константа vbLF – код перехода на новую строку, переменные (btn, S, Kod), операции присваивания (=) и конкатенации (& – объединение двух выра- жений любого типа в одну строку), функции с параметрами (MsgBox, InputBox).

Последующие лабораторные работы посвящены освоению использо- вания всех этих компонентов языка VBS.

 

Учебное задание

Написать программу для варианта задания, соответствующего номе- ру Вашего компьютера. Выполнить программу, сохранить ее текст и скриншоты окон в отчете. Все окна должны иметь заголовки следующего вида: «Окно ввода (или сообщений) <Фамилия имя отчество студента>».

1) Вывести в левый верхний угол экрана окно для ввода текстовой строки,

показать эту строку в окне сообщений с одной кнопкой  и значком

Information Mark. Затем в окне сообщений показать код нажатой кноп- ки при выходе из предыдущего окна.

2)

Нет
Вывести на расстоянии 10 см по горизонтали и вертикали от левого верхнего угла экрана окно для ввода текстовой строки, показать эту


строку в окне сообщений с кнопками


Да и


и значком Exclamation


Mark. Затем в окне сообщений показать код нажатой кнопки при выхо- де из предыдущего окна. Определить коды нажатия для всех кнопок.

3) Вывести в центре экрана окно для ввода текстовой строки, показать эту

Отмена
Повтор
строку в окне сообщений с кнопками        и          и значком Stop

Mark. Затем в окне сообщений показать код нажатой кнопки при выхо- де из предыдущего окна. Определить коды нажатия для всех кнопок.


4) Вывести примерно в правом нижнем углу экрана окно для ввода тек- стовой строки, показать эту строку в окне сообщений с кнопками Стоп,

Пропустить
Повтор
и                 и значком Question Mark. Затем в окне сообще-

ний показать код нажатой кнопки при выходе из предыдущего окна. Определить коды нажатия для всех кнопок.

5) Вывести в центре экрана окно для ввода текстовой строки, показать эту

Отмена
строку в окне сообщений  с  кнопками    и            и значком

Exclamation Mark. Затем в окне сообщений показать код нажатой кноп- ки при выходе из предыдущего окна. Определить коды нажатия для всех кнопок.

6) Вывести примерно в правом нижнем углу экрана окно для ввода тек- стовой строки, показать эту строку в окне сообщений с кнопками Да,

Отмена
Нет
и          и значком Question Mark. Затем в окне сообщений пока-

зать код нажатой кнопки при выходе из предыдущего окна. Определить коды нажатия для всех кнопок.

7) Вывести на расстоянии 20 см по горизонтали и 15 см по вертикали от левого верхнего угла экрана окно для ввода текстовой строки, показать

Пропустить
Повтор
эту строку в окне сообщений с кнопками Стоп,       и                и

значком Information Mark. Затем в окне сообщений показать код нажа- той кнопки при выходе из предыдущего окна. Определить коды нажа- тия для всех кнопок.

8) Вывести примерно в правом верхнем углу экрана окно для ввода тек- стовой строки, показать эту строку в окне сообщений с кнопками Да,

Отмена
Нет
и          и значком Exclamation Mark. Затем в окне сообщений

показать код нажатой кнопки при выходе из предыдущего окна. Опре- делить коды нажатия для всех кнопок.

9) Вывести слева примерно в центре по вертикали экрана окно для ввода текстовой строки, показать эту строку в окне сообщений с кнопками

Пропустить
Повтор
Стоп,         и                и значком Question Mark. Затем в окне со-

общений показать код нажатой кнопки при выходе из предыдущего ок- на. Определить коды нажатия для всех кнопок.

10)

Нет
Вывести справа примерно в центре по вертикали экрана окно для ввода текстовой строки, показать эту строку в окне сообщений с кноп-


ками


Да и


и значком Information  Mark. Затем в окне сообщений


показать код нажатой кнопки при выходе из предыдущего окна. Опре- делить коды нажатия для всех кнопок.


Лабораторная работа № 13. Программирование на языке VBS. Типы данных. Константы. Переменные

Цель работы

Освоение понятий алгоритмического языка типы данных, константы и переменные.

Учебные вопросы

1. Типы и подтипы данных в языке VBS.

2. Константы в алгоритмическом языке.

3. Переменные в алгоритмическом языке.

Краткое изложение учебного материала

1 Типы и подтипы данных в языке VBS

Каждый язык программирования предназначен для обработки ин- формации (данных) различных типов. Используемые типы данных и ме- тоды их обозначения и обработки могут несколько различаться в различ- ных алгоритмических языках.

 

      Типы данных определяют:                                                                  

В языке Microsoft Visual Basic Scripting Edition определен един- ственный тип данных – Variant. Это специальный тип, который может со- держать в себе различные виды информации. Все функции языка также возвращают данные типа Variant.

Различные виды информации, которая может содержаться в типе

Variant, называются подтипами.

В таблице 2.1 приведены подтипы данных, которые могут со- держаться в типе Variant.

Таблица 13.1 – Подтипы данных в языке VBS

 

Подтип Описание
Byte Целые числа в диапазоне от 0 до 255
Boolean Логические значения True или False
Integer Целые числа в диапазоне от -32768 до 32767
Long Целые числа в диапазоне от -2 147 483 648 до 2 147 483 647
Single Числа одинарной точности с плавающей точкой в диапазоне от -3.402823E38 до -1.401298E-45 для отрицательных значений; от

  1.401298E-45 до 3.402823E38 для положительных значений
Double Числа двойной точности с плавающей точкой в диапазоне от -1.79769313486232E308 до -4.94065645841247E-324 для отрица- тельных значений; 4.94065645841247E-324 до 1.79769313486232E308 для положительных значений
Currency -922 337 203 685 477.5808 до 922 337 203 685 477.5807
Date / (Time) Числа, которые представляют даты и время в диапазоне между 1-01-100 0:0:0 до 31-12-9999 23:59:59
Object Содержит объект
String Строка переменной длины, которая максимально может содер- жать 2 миллиона символов
Empty Неинициализированное значение (0 для числовых переменных, строка нулевой длины ("") для строковых переменных)
Null Содержит неверные для подтипа данные
Error Содержит номер ошибки

Функция VarType возвращает информацию о том, как данные со- хранены в типе Variant. Для преобразования одного подтипа в другой мо- гут использоваться соответствующие функции (Cbyte, Cdate, CSng, CDbl и др.).

Другие диалекты языка Visual Basic также имеют тип Variant, но наряду с ним могут определять переменные различных типов, таких же, как подтипы языка VBS.

2 Константы в алгоритмическом языке

 

В тексте программы могут использоваться числа, строки текста, даты и время, которые являются константами.

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

Const N = 1.15e-15                                                 'числовая константа Const FIO = "Иванов Иван Иванович"           'текстовая константа Const Data_r = #05-13-1988 06:30:00#                    'константа дата/время Const Time_r = #06:30:00#                                                 'константа дата/время

Как видно из примера, для числовых констант разделителем целой и дробной части является точка, можно использовать экспоненциальный вид чисел (1.15e-15 = 1.15×10-15). Значения строковых констант следует писать между двумя кавычками (" "), даты и времени – между двумя знаками ре- шетки (# #).

В языке VBS существует достаточно большое количество предопре- деленных констант, которые сгруппированы по категориям:


Date Format Constants – определяют форматы дат и времени (например, vbGeneralDate – дата и время выводятся в формате, определяемом реги- ональными настройками системы);

MsgBox Constants – используются в функции MsgBox и других диалоговых окнах (см. таблицу 13.1);

String Constants – определяют скрытые символы, используемые для ма- нипуляции со строками:

- vbCr – возврат каретки (Chr(13), переход в начало следующей стро- ки);

- vbLf – новая строка (Chr(10));

- vbCrLf – новая строка (Chr(13) + Chr(10));

- vbNewLine – новая строка (Chr(10) или Chr(13) + Chr(10));

- vbNullChar – символ с нулевым значением (Chr(0));

- vbNullString – строка с нулевым значением (Chr(0));

- vbTab – горизонтальная табуляция (Chr(9));

- vbVerticalTab – вертикальная табуляция (Chr(11));

VarType Constants – определяют форматы для различных подтипов (vbEmpty, vbNull, vbInteger, vbLong, vbSingle, vbSingle, vbCurrency, vbDate, vbString, vbObject, vbError, vbBoolean, vbVariant, vbDataObject, vbDecimal, vbByte, vbArray );

и многие другие.

3

 

Переменные в алгоритмическом языке

Все переменные в языке VBS имеют один тип – Variant и во время ис- пользования могут хранить данные разных подтипов.


Для объявления переменных могут служить выражения:

Dim X, Y, Z



Поделиться:


Последнее изменение этой страницы: 2020-12-17; просмотров: 718; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.9.183 (0.007 с.)