Программирование на языке 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> = ] MsgBox( <Сообщение>[,<Кнопки и значок>] _
[,<Заголовок окна>][,<Справка, раздел>] )
|
где:
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
|
| Показана только кнопка ОК
| vbOKCancel
|
| Показаны кнопки ОК и Отмена (Cancel)
| vbAbortRetryIgnore
|
| Показаны кнопки Стоп(Abort), Повтор
(Retry) и Пропустить (Ignore)
| vbYesNoCancel
|
| Показаны кнопки Да (Yes), Нет (No) и
Отмена (Cancel)
| vbYesNo
|
| Показаны кнопки Да (Yes) и Нет (No)
| vbRetryCancel
|
| Показаны кнопки Повтор (Retry) и От- мена (Cancel)
| vbCritical
|
| Показан значок Stop Mark (знак стоп)
| vbQuestion
|
| Показан значок Question Mark (знак во- проса)
| vbExclamation
|
| Выводится значок Exclamation Mark
(восклицательный знак)
| vbInformation
|
| Показан значок Information Mark (ин- формационнный знак)
|
vbDefaultButton1
|
| По умолчанию в окне выбрана первая кнопка
| vbDefaultButton2
|
| По умолчанию в окне выбрана вторая кнопка
| vbDefaultButton3
|
| По умолчанию в окне выбрана третья кнопка
| vbDefaultButton4
|
| По умолчанию в окне выбрана четвёртая кнопка
| vbSystemModal
|
| Диалоговое окно выводится в модальном режиме и располагается сверху всех дру- гих окон
| vbOK
|
| Нажата кнопка ОК.
| vbCancel
|
| Нажата кнопка Отмена (Cancel)
| vbAbort
|
| Нажата кнопка Стоп (Abort)
| vbRetry
|
| Нажата кнопка Повтор (Retry)
| vbIgnore
|
| Нажата кнопка Пропустить (Ignore)
| vbYes
|
| Нажата кнопка Да (Yes)
| vbNo
|
| Нажата кнопка Нет (No)
|
Для определения кода нажатой в окне MsgBoxкнопки следует ис- пользовать следующий синтаксис функции: слева нужно написать пере- менную, которой будет присвоено возвращаемое функцией значение, далее следует написать символ присваивания (=) и справа от него функцию, у ко- торой аргументы написаны в круглых скобках:
btn = MsgBox("Привет!", vbYesNoCancel + vbInformation _
+ vbDefaultButton3, "Мое первое окно")
Диалоговое окно будет иметь тот же вид, что и раньше (только без кнопки Справка , см. рисунок 12.2), но после нажатия кнопки в окне пере- менная btnбудет иметь значение, соответствующее нажатой кнопке.
Если Вы желаете написать в окне Сообщение и Заголовок окна, про- пустив второй аргумент (Кнопки и значок), после первого аргумента следу- ет поставить 2 (ДВЕ!)запятые:
MsgBox "Сегодня я написал свою первую программу на VBS!" _
, , "Окно сообщений студента Вани Иванова"
Здесь 2 запятые, т. к. пропущен аргумент <Кнопки и значок>
|
3 Синтаксис и примеры использования функции InputBox
Еще одна функция языка, позволяющая открывать окно для ввода пользователем с клавиатуры строки текста (максимальная длина строки 256 символов):
[<p> = ] InputBox( <Сообщение>[,<Заголовок окна>] _
[,<Стр.умолч.>][,X][,Y][, <Справка, раздел>])
|
где новые параметры функции (по сравнению с 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 символов) и
нажмем кнопку , после чего появится окно, показанное на рисунке
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 и во время ис- пользования могут хранить данные разных подтипов.
Правила написания идентификаторов переменных, констант,
названий процедур, функций, объектов, их методов и свойств сле- дующие:
| 1) идентификатор должен начинаться с латинской буквы;
| 2) может состоять из латинских строчных и прописных букв,
цифр и символа подчеркивания;
| 3) длина его – не более 255 символов;
4) буквы в верхнем и нижнем регистре не различаются;
| 5) он должен быть уникален в области определения.
| Для объявления переменных могут служить выражения:
Dim X, Y, Z
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|