Читайте также:
|
|
Введение
Название BASIC представляет собой аббревиатуру от Beginner's All-purpose Symbolic Instruction Code – универсальный язык символического кодирования для начинающих. BASIC был разработан в середине 1960-х годов сотрудниками Дартмутского колледжа по руководством Дж. Кемени и Т. Куртца. В последующем BASIC неоднократно подвергался расширениям и модификациям.
Язык Visual Basic (VB) включает в себя средства визуального проектирования и объектно-ориентированного программирования. В языке VB реализован визуальный стиль программирования, позволяющий не столько программировать, сколько проектировать программу (приложение) – сначала создавать рабочую среду, интерфейс, элементы управления (меню, окна диалога, кнопки и т. п.) и только затем записывать требуемые операторы обработки данных.
Основы языка программирования Visual Basic
Общие сведения о Visual Basic
Программа, создаваемая в VB, называется проектом, основными компонентами которого являются файлы форм, файлы модулей, файл проекта и др. (подробнее см. в разделе создания проектов).
Язык программирования Visual Basic (VB) – это язык, основанный на манипулировании объектами и их атрибутами. В VB объект – это комбинация программного кода и данных, которая воспринимается как единица и которой можно каким-либо образом манипулировать. Объектами являются также команды меню, базы данных, аппаратные устройства вычислительной системы – принтеры, мониторы, диски, которыми можно манипулировать из программного кода. Особым видом объектов являются формы и элементы управления (ЭУ). Элементы управления позволяют инициировать определенные события и тем самым обеспечивают управление программой. Формы являются окнами, или контейнерами, содержащими другие ЭУ и обеспечивающими обмен информацией между компонентами проекта, между проектом и другими приложениями, а также между проектом и пользователем.
Каждый объект характеризуется параметрами, которые можно разделить на три категории: события, методы и свойства. События связаны с определенными действиями пользователя и могут вызывать код VB. Методы – это рабочие операторы объекта, программные процедуры. Свойства отвечают за внешний вид и поведение объекта. Границы между свойствами и методами в определенной степени являются расплывчатыми. Основное различие между ними заключается в том, что со свойствами можно работать как во время разработки проекта, так и во время его выполнения, тогда как методы доступны только при выполнении. Свойства и методы называются интерфейсом объекта. Объекты объединяются в классы. К одному классу принадлежат объекты с одинаковым набором свойств, методов и событий.
Манипулировать объектами можно двумя способами: 1) изменяя свойства объекта, 2) заставляя объект выполнять специфические задания активизацией методов, ассоциированных с этим объектом. Оба эти способа часто ассоциируются с наступлением некоторого пользовательского (программного) или системного события, т. е. действия или ситуации, связанной с объектом.
Если объект должен выполнить действие, не входящее в круг его "обязанностей", он должен иметь доступ к объекту, который способен выполнить требуемое действие: 1-й объект передает 2-му запрос на выполнение действия с использованием модифицированных версий функций и процедур (аналогично процедурному программированию) - объект-клиент передает сообщение объекту-серверу. При этом один объект никогда не должен манипулировать внутренними данными другого объекта. Вся связь должна осуществляться только через сообщения, т. е. объекты могут управлять только изменением свойств или вызовом методов. В программной реализации внутри создаваемых объектов-элементов управления не должно быть никаких переменных типа public.
Программные коды содержатся в процедурах и функциях, объединяемых в модули.
Формы, классы и модули являются контейнерами для других элементов управления и объектов.
Функции и процедуры в VB соответствуют методам и свойствам объекта.
Модуль любого типа может содержать не более 65534 строк кода. Строка кода может содержать до 1023 символа. Символ продолжения строки (перенос строки) содержит символ пробел, сопровождаемый символом подчеркивания (одна логическая строка кода не может содержать более 25 символов переноса).
Комментарий имеет две формы записи. Это или самостоятельный (не выполняемый) оператор, начинающийся словом Rem, за которым может следовать произвольный текст, или знак ' (апостроф), который может стоять, как в начале строки перед находящимся в ней текстом, так и после выполняемого оператора или объявления, например,
Rem Название_программы
Dim k% ‘ объявление переменной целого типа.
Каждая программа состоит из операторов, т.е. команд, или законченных инструкций компьютеру. Оператор состоит из ключевых слов, операндов и операций. Ключевые слова – это зарезервированные (уникальные) слова, указывающие вид оператора, интерпретация или компиляция каждого из которых вызывает определенное действие компьютера. Ключевые слова записываются буквами латинского алфавита. Каждое ключевое слово должно отделяться от операндов либо пробелом, либо скобками. Могут быть операторы, в которых отсутствуют ключевые слова. Операндом называется то, над чем выполняются операции. Операнды могут быть константами, переменными, выражениями, процедурами или функциями. Объединение операндов и операций называется выражением. Каждое выражение имеет значение. Чтобы определить это значение, надо выполнить операции в порядке, определяемом уровнями старшинства (см. ниже).
В Basic каждый оператор записывается с новой строки, однако, можно в одну строку поместить два и более операторов, если разделить их между собой двоеточиями.
При описании синтаксиса используются следующие соглашения:
[А1] – необязательный параметр;
A1 | A2 – выбор одного из альтернативных значений;
... – три точки, следующие одна за другой, обозначают, что предшествующий им элемент строки может повторяться.
Каждый элемент данных, каждый объект должен иметь уникальное имя. Имена должны начинаться с литеры; не могут содержать внедренные точки или символы объявления типа данных; могут содержать не более 255 символов; имена элементов управления (ЭУ), форм, классов и модулей не должны превышать 40 символов. В качестве имен нельзя использовать ключевые слова VB. Однако формы и ЭУ могут быть именованы ключевыми словами, но обратится к ним обычным способом не удается – при обращении такое имя надо заключить в квадратные скобки.
Среди процедур различают процедуры обработки событий и процедуры общего назначения. Имя процедуры общего назначения составляется произвольным образом (с учетом общих правил построения имени). Имя процедуры обработки события должно состоять из имени объекта и имени события, разделенных символом подчеркивания, например для щелчка на командной кнопке Command1 имя процедуры будет иметь вид Command1_Click. Для доступам к свойствам объекта указываются его имя и имя свойства, разделенные точкой, например Command1.Name. Аналогично для доступа к методам: Command1.Move.
Среда VB, инструментальные средства. Разработка проектов
После запуска VB из Windows[1] (меню Start / Program / Visual Basic 6.0) появляется интерфейс мастера запуска, который позволяет либо создать новый проект – ярлык StandardEXE на вкладке New (для обычного Windows-приложения), либо открыть существующий проект – вкладка Existing. После выбора режима работы происходит вход в интегрированную среду разработки (IDE), через окна которой можно: 1) добавлять, изменять и удалять объекты в приложениях и компонентах; 2) редактировать методы и свойства объектов приложений; 3) устанавливать соединения между объектами приложений и объектами баз данных; 4) просматривать и выбирать компоненты текущих проектов и библиотек; 5) отлаживать код программных процедур; тестировать их и т. д.
Кроме основных меню имеются всплывающие меню, содержащие команды быстрого доступа к часто выполняемым действиям (контекстные меню). Чтобы открыть такое меню, надо щелкнуть правой кнопкой мыши на используемом объекте или элементе интерфейса.
В верхней части находится строка главного меню, а под ней панель инструментов. В левой части экрана располагается палитра объектов – набор инструментальных средств, элементов управления и конструктивов, которые можно размещать в формах.
В правой верхней части экрана находится окно Project Explorer, в котором представлена иерархическая структура файлов форм и модулей текущего проекта, которые могут отображаться в окне центральной части экрана.
Ниже располагается окно свойств, а под ним – окно компоновки форм (AutoRedraw). В окне свойств перечисляются установки свойств для текущей формы или элемента управления. Окно свойств содержит следующие разделы: 1) в верхней части раскрывающийся список объектов текущей формы, включая саму форму, 2) ряд строк, описывающих свойства объекта, 2) две вкладки для переключения между алфавитным и категорированным представлением списка свойств.
Для просмотра листа свойств объекта надо: 1) выбрать объект, 2) щелкнуть кнопку Properties Window или выбрать команду меню View / Properties Window, или нажать F4.
В одной строке окна свойств можно просмотреть имя свойства и его текущее значение. Чтобы изменить значение свойства надо: 1) указать изменяемое свойство в окне свойств (при выборе свойства его имя подсвечивается), 2) в зависимости от типа свойства надо выполнить следующее: 1) если появляется раскрывающийся список, то ввести новое значение в поле, расположенном справа, от имени свойства; 2) если свойство имеет два значения, то выбрать требуемое значение (дважды щелкнуть на поле справа для переключения между значениями); 3) если в правом конце поля значения свойства появляется кнопка с тремя точками, то для установки значения надо выбрать некоторый объект в стандартном файловом окне.
Кроме окна свойств, можно использовать окно страниц свойств (Property Pages). Для открытия этого окна надо: 1) выбрать в окне свойств строку (Custom) и щелкнуть стрелку вниз, 2) выбрать объект (элемент управления в форме) и выбрать элемент меню View / Property Pages или нажать Shift+F4, 3) щелкнуть элемент управления в форме правой кнопкой мыши и выбрать Properties в контекстном меню Встроенные элементы управления не имеют страниц свойств. Страницы свойств создаются для сложных пользовательских, стандартных и подключаемых элементов управления ActiveX.
В окне Object Browser перечислены объекты, доступные для использования в проекте. Информация выводится в виде трехуровневой иерархии: библиотека, приложение или проект – объект (класс) – члены класса, где членами класса могут быть свойства, методы, события, константы, элементы управления, контейнеры (в виде свойств) и др. Данное окно дублирует функции кнопок Copy и Definition. Контекстное меню данного окна управляет содержимым списков Classes и Members. Для группировки членов класса по свойствам, методам и т. п. включается элемент Group Members, иначе они располагаются в алфавитном порядке.
Окно дизайнера форм используется для проектирования и настройки интерфейса приложения.
Окно редактирования кода в верхней части содержит раскрывающиеся списки объектов (слева) и процедур (справа). Программный код компонуется из модулей (для каждой формы также имеется свой программный модуль).
Для каждого модуля открывается свое окно. Код внутри модуля организован в отдельные разделы для каждого объекта модуля. Переключение между разделами производится выбором соответствующего объекта в списке объектов.
В модуле формы список включает общий раздел General, раздел непосредственно формы и раздел для каждого элемента управления из формы.
Для модуля класса список включает общий раздел и раздел Class; для стандартного модуля имеется только общий раздел.
Каждый раздел кода может содержать несколько различных процедур, к которым можно обратиться через список Procedure. Список процедур для модуля формы содержит отдельный раздел для каждой процедуры обработки стандартного события для формы и всех ее элементов управления.
Список модулей классов содержит только процедуры событий непосредственно класса Initialize и Terminate.
Стандартные модули не имеют никаких процедур обработки событий, так как они не поддерживают события.
Список Procedure для раздела модуля General содержит единственный выбор – раздел Declarations, где помещаются объявления уровня модуля переменных, констант и DLL. Если к модулю добавляются подпрограммы Sub и Function, они помещаются в список Procedure ниже Declarations.
В окне редактирования доступны два различных представления кода. С помощью кнопок в нижнем левом углу окна можно выбрать для работы либо какую-либо отдельную процедуру (Procedure View), либо открыть все процедуры модуля (Full Module View). В последнем случае каждая из процедур будет отделена от следующей процедуры тонкой линией.
В VB используется функция автоматического заполнения операторов, свойств и параметров. По мере ввода кода, редактор выводит списки соответствующих прототипов операторов или функций, или значений. Активировать или деактивировать эти и другие установки кодирования можно через вкладку Editor окна диалога Options команды Tools / Options.
При вводе в текст процедуры имени элемента управления функция Auto List Members предоставляет список свойств, доступных для этого элемента. Достаточно ввести первые несколько символов имени свойства – имя будет выделено в списке; нажатие Tab или двойной щелчок на выбранном элементе перенесет его в текст кода. Если данная функция деактивирована, то нажать CTRL+J.
Функция Auto Quick Info выводит на экран синтаксис операторов и стандартных процедур. При вводе имени допустимого оператора или функции VB, синтаксис этого элемента выводится под текущей строкой текста кода, с первым параметром, выделенным полужирным шрифтом. После ввода значения 1-го параметра, в полужирном шрифте появляется 2-й параметр. Данную функцию можно запустить комбинацией CTRL+I.
К стандартному интерфейсу VB можно добавлять функции, обеспечиваемые расширениями из вкладки Add-In-Manager (команда Add-Ins / Add-In-Manager).
При разработке приложения создается проект – коллекция файлов разного формата. В конечном итоге проект компилируется в единый исполняемый модуль приложения с расширением.exe.
Основные компоненты проекта: 1) файл проекта с расширением.vbp, который управляет всеми остальными компонентами, 2) файл с расширением.vbw, являющегося рабочей областью проекта, 3) по одному файлу с расширением.frm для каждой формы, 4) один двоичный файл с расширением.frx для каждой формы, содержащий значения свойств элементов управления – такие файлы недоступны для редактирования и автоматически генерируются для каждого файла.frm В зависимости от типа и сложности проекта, он может также включать (необязательно): 1) файл для каждого модуля класса (.cls), 2) файл для каждого стандартного модуля (.bas), 3) файл ресурсов (.res), 4) файлы дополнительных элементов управления.ocx. Кроме того, во время разработки и в период выполнения также создаются различные файлы: 1) файлы страниц свойств объектов (.pag,.pgx), 2) файл группового проекта (.vbg), 3) файлы пользовательских элементов управления (.ctl,.ctx).
В файле проекта, кроме некоторых установок, хранится также информация о его компонентах и связях между ними. Сами компоненты ничего не знают о других компонентах проекта, поэтому их можно использовать в других проектах.
Для создания проекта используется команда File \ New Project. Для сохранения вновь созданного проекта выполнить File \ Save Project As, а для сохранения проекта после его модификации выполнить File \ Save Project.
Для преобразования проекта в исполняемый модуль используется команда Make project.exe из меню File.
Для открытия существующего файла проекта щелкнуть кнопку Open Project или выполнить File \ Open Project.
Возможно совместное использование файлов несколькими проектами.
Изменения, произведенные в форме или модуле в одном проекте, будут тиражироваться среди всех проектов, в которых. они используются.
В одном сеансе среды программирования можно открыть несколько проектов. Можно открыть группу проектов или отдельный проект из группы. Для добавления проекта к группе используется команда File \ Add Project.
Рассмотрим создание модуля, иллюстрирующего использование стандартных окон диалога для ввода и вывода на примере ввода числа, его увеличения в два раза и вывода результата.
Создание модуля осуществляется в следующей последовательности:
1) войти в VB, выбрать режим New / Standard Exe, убрать заготовку формы;
2) в главном меню выбрать пункт Project, а в нем – Project Properties;
3) открыть вкладку General (Общее) и выбрать Sub Main из списка Startup Object, нажать ОК;
4) в главном меню выбрать пункт View, а в нем – Code;
5) в открывшемся окне набрать следующий текст:
Option Explicit 'Обязательность объявления всех переменных
Sub Main() ‘Ввод, изменение и вывод числа
Dim x As Single, y As Single ‘Переменные для начального значения и результата
x = InputBox("Введите значение Х") ‘Ввод начального значения
y = 2 * x
MsgBox "Результат изменения: " & STR(y) ‘Вывод результата
End Sub
6) командой File / Save Module As сохранить модуль под требуемым именем (если затем выполнить команду File / Save Project As с указанием имени нового проекта, то данный модуль будет содержаться в этом проекте).
Для запуска модуля используется команда Run / Start.
Для очередной работы модуля (после его закрытия) надо после открытия VB в режиме Existing выбрать из списка требуемый модуль и выполнить команду Open.
Для просмотра и редактирования существующего модуля после его вызова выполнить команды View / Project Explorer и View / Code.
Для запуска модуля используется команда Run / Start.
Для очередной работы модуля (после его закрытия) надо после открытия VB в режиме Existing выбрать из списка требуемый модуль и выполнить команду Open.
Для просмотра и редактирования существующего модуля после его вызова выполнить команды View / Project Explorer и View / Code.
Типы данных. Константы и переменные
Основными видами данных являются константы и переменные, каждая из которых может относится к одному из стандартных (встроенных) типов, перечисленных в таб. 2.1.
Таблица 2.1. Стандартные типы данных
Тип | Содержание и диапазон изменения | Символ |
INTEGER | Целые числа от -32768 до +32768 | % |
LONG | Целые числа от -2147483648 до 2147483648 | & |
SINGLE | Вещественные от ±8.43*10^-37 до ±3.37*10^38 | ! |
DOUBLE | Вещественные от ±4.19*10^-307 до ±1.67*10^308 | # |
STRING | Символьные с максимальной длиной 32767 знаков | $ |
CURRENCY | Денежная переменная | @ |
BOOLEAN | Логическая переменная |
Символ из третьей колонки является идентификатором типа объекта и при определенных условиях должен быть завершающим в его имени.
Все объекты данных можно разделить на константы и переменные.
Константы могут быть числовыми, строковыми и логическими.
Числа имеют следующее представление:
92 – целое число,
4.23 – вещественное число,
9.23D+78 – вещественное число в экспоненциальной форме, 9.23*10^78.
Строка - это последовательность символов, заключенная в кавычки.
Строковая константа должна быть заключена в кавычки, например, “Кот”.
Константе можно назначить символическое имя, тогда она определяются в начале программы.
Синтаксис константы
1) объявление
[Public | Private] Const ИМЯ_КОНСТАНТЫ [As ТИП] = ВЫРАЖЕНИЕ
где ИМЯ_КОНСТАНТЫ содержит максимум 255 символов и должно начинаться с буквы, может содержать цифры, большие и малые буквы латинского алфавита; последним должен быть один из символов!, #, % или $; по умолчанию будет присвоен символ!; ВЫРАЖЕНИЕ – значение, которое хранится в константе, это может быть число, другая константа, текст или арифметическое выражение без возведения в степень; если используется имя другой константы, то она должна быть предварительно определена; например, CONST cat$ = “кот Кутя”;
2) обращение
[имя_библиотеки.] [имя_модуля..] имя_константы
где имя_библиотеки – обычно имя класса элемента управления (ЭУ); имя_модуля – имя модуля, в котором определена константа.
Необходимо не допускать круговых ссылок; например, пусть имеется два модуля, причем в модуле_1 присутствует следующее объявление
Public Const conA = conB*2 'константа доступна везде в приложении
а в модуле_2 находится объявление
Public Const conB = conA*2 'константа доступна везде в приложении
здесь возникает ошибка – круговой цикл, вследствие чего код выполняться не будет.
Логические константы: True (ИСТИНА) и False (ЛОЖЬ).
Значения констант не могут изменяться в процессе выполнения программы.
В отличие от констант, содержание переменных может изменяться при выполнении программы. Хотя в Basic допускается просто применять новую переменную в нужном месте программы, следует все переменные объявлять явно в начале программы. По области определения различают следующие виды переменных: а) локальные – объявляются внутри процедуры или функции и доступны только внутри такой подпрограммы, б) контейнерные – объявляются с ключевым словом Dim в секции (General)(Declarations) контейнера (форма, модуль или класс) и доступны только в соответствующем текущем контейнере, в) глобальные - объявляются с ключевым словом Public в секции контейнера и доступны во всем проекте.
Локальные переменные при выходе из процедуры удаляются из памяти и при новом вызове процедуры инициализируются заново, Однако, если объявить переменную как статическую, то при выходе из процедуры ее содержимое сохраняется (хотя сама переменная оказывается недоступной), при новом же вызове процедуры переменная получает значение, которое она имела при последнем выходе из данной процедуры.
Синтаксис объявления переменной:
Dim [Shared] | ReDim | Static | Private | Public ИМЯ_ПЕРЕМЕННОЙ As КЛАСС | ТИП
где Shared – указание на то, что переменную можно использовать во всех функциях и процедурах модуля; ИМЯ_ПЕРЕМЕННОЙ – имеет максимальную длину до 255 символов и образуется по тем же правилам, что и имя константы; As ТИП – присутствует в объявлении, если в имени переменной последний символ не является идентификатором типа; например, Dim k As Integer но Dim c%; КЛАСС для объектных переменных, а ТИП для обычных переменных.
В одном операторе объявления может присутствовать несколько однотипных переменных, имена которых разделяются запятыми: Dim i As Integer, k As Integer. Для каждой переменной ее тип должен быть указан явно, иначе она получит тип Variant (см. ниже).
В одном операторе объявления можно также объединять несколько объявлений переменных разных типов: Dim i As Integer, s As Double.
В Basic каждая переменная при первом ее использовании либо сразу же после явного объявления инициализируется начальным значением, например, для переменных типа Integer по умолчанию используется значение 0. Однако целесообразно выполнять явную инициализацию переменных требуемыми начальными значениями.
Присвоить некоторое значение переменной можно оператором, имеющим следующий шаблон:
ИМЯ_ПЕРЕМЕННОЙ=СТРОКОВОЕ_ВЫРАЖЕНИЕ | АРИФМЕТИЧЕСКОЕ_ВЫРАЖЕНИЕ
где Арифметическое_выражение – это комбинация чисел, арифметических констант, числовых переменных и некоторых функций, которые связаны между собой арифметическими операциями; Строковое_выражение – это комбинация текстов, текстовых констант, текстовых переменных и определенных функций, которые связаны операцией + или &; например, k = 5 или cat = “Ветка”.
Тип переменной должен соответствовать типу выражения. Необходимо также соблюдать соответствие между типом числовой переменной и типом арифметического выражения. VB пытается автоматически преобразовывать типы данных. Для явного преобразования типов используются следующие функции: CBool преобразует в Boolen, CByte – в Byte, CCur – в Currency, CDate – в Date, CDbl – в Double, Cint – в Integer, CLng – в Long, CSng – в Single, CStr – в String, Cvar – в Variant, CVErr – в Error.
По умолчанию, если тип данных явно не указывается, переменной назначается тип Variant, который в различных ситуациях может представлять разные типы данных. При использовании переменных типа Variant для арифметических операций они должны содержать нечто, что может интерпретироваться как числа; для строковых операций вместо сцепления + надо использовать &.
До присвоения значений переменная Variant имеет значение Empty, отличающееся от 0, от строки нулевой длины "" или от значения Null; для тестирования на присвоенность какого-либо значения используется функция IsEmpty: If IsEmpty(v2) Then v2 = 0.
Значение Null распространяется по всему выражению, если хотя бы одна его часть содержит это значение; может присваиваться только вариантной переменной. Для выяснения, содержит ли переменная значение Null используется функция IsNull: If IsNull(v2) Then z = Null. Переменные не получают значения Null, помимо явного присвоения.
Кроме стандартных (встроенных) типов данных можно, используя ключевое слово Type, создавать типы данных, определяемые пользователем:
[Private | Public] Type ИМЯ_ТИПА
ЭЛЕМЕНТ_1 [([РАЗМЕРНОСТЬ])] As ТИП
ЭЛЕМЕНТ_2 [([РАЗМЕРНОСТЬ])] As ТИП …
End Type
Определение общего (Public) собственного типа данных возможно только в секции (General)(Declarations) модуля. Для определения пользовательского типа данных в форме или в модуле класса используется слово Private.
Пример:
‘(General)(Declarations) (Module)
Type usrPerson ‘Объявление пользовательского типа
Name As String
Number As Integer
End Type
Public usrSupp As usrPerson, usrCopy As usrPerson ‘ Объявление двух переменных типа usrPerson
Private Sub NamNum()
usrSupp.Name = “Natali Goncharova”
usrSupp.Number = 999
usrCopy = usrSupp
End Sub
Пользовательские типы могут быть составными. В этом случае сначала нужно определить базисный тип, который будет использоваться далее в составных типах:
‘(General)(Declarations) (Module)
Type usrName ‘Объявление базисного типа
Name As String
Famile As String
End Type
Private Type usrPerson ‘Объявление составного типа типа
Name As usrName
Number As Integer
End Type
Dim usrSupp As usrPerson
Private Sub NamNum()
usrSupp.Name = “Natali ”
usrSupp. Famile = “ Goncharova ”
usrSupp. Number = 999
End Sub
При образовании имени переменных считается общепризнанной “венгерская нотация”, в соответствии с которой имя состоит из одного или нескольких префиксов и базового имени: <префикс><Базовое_имя>. Базовое имя (имя, задаваемое пользователем) начинается с большой буквы.
Таблица 2.2. Префиксы типов данных
Тип данных | Префикс |
Boolean | bln |
Byte | byt |
Collection | col |
Currency | cur |
Date | dtm |
Double | dbl |
Error | err |
Integer | int |
Long | lng |
Object | obj |
Single | sng |
String | str |
Пользовательский | udt |
Variant | vnt |
Операции
Основные арифметические операции в порядке убывания их приоритета:
() – круглые скобки; ^ – возведение в степень; - – операция изменения знака; * – умножение; / – деление; + – сложение; - – вычитание.
Существуют также следующие операции: \ – деление с усечением и MOD – вычисление остатка от деления, например, результат операции 19 MOD 5 будет равен числу 4.
Операции сравнения:
> – больше; < – меньше; >= – больше или равно; <= – меньше или равно; = – равно; <> – не равно.
Логические операции:
1. Логическое отрицание (Not) меняет значение логического выражения на противоположное значение.
2. Логическое И (And); формат записи
УСЛОВИЕ_1 And УСЛОВИЕ_2 [And УСЛОВИЕ_3]...
Результат истинен тогда и только тогда, когда истинно каждое условие.
3. Логическое ИЛИ (Or); формат записи
УСЛОВИЕ_1 Or УСЛОВИЕ_2 [Or УСЛОВИЕ_3]...
Результат истинен тогда, когда истинно хотя бы одно условие.
4. Операция исключающее ИЛИ Xor дает истинный результат тогда и только тогда, когда истинно только одно из условий.
5. Операция логической эквивалентности Eqv, дает истинный результат, когда оба условия истинны или ложны.
6. Операция логической импликации Imp дает ложный результат, когда первое условие истинно, а второе – ложно, в остальных случаях результат истинен.
Логическое условие – это сравнение двух величин с использованием операций сравнения, имеющее следующий формат:
ВЫРАЖЕНИЕ_1 ОПЕРАЦИЯ_СРАВНЕНИЯ ВЫРАЖЕНИЕ_2
где ВЫРАЖЕНИЕ_1 и ВЫРАЖЕНИЕ_2 – арифметические или строковые выражения одного и того же типа, например, А > (В + C) или “Тагир” > “Эрик”.
Ввод и вывод данных
Для ввода и вывода данных на экран дисплея используются следующие стандартные окна диалога:
1. InputBox – вывод на экран окна приглашения к вводу информации и возвращение ввода пользователя; можно изменять только текст в титульной строке, приглашение к вводу, значение по умолчанию, позицию диалога и включать или нет кнопку Help
Общий формат:
InputBox ("строка_сообщение"[, "заголовок_окна"] [, "текст_по_умолчанию"] [, Хпоз] [, Yпоз] [, "файл_подсказки", "контекст"]),
где "текст_по_умолчанию" – строка в текстовом блоке (может быть пустой); Хпоз, Yпоз – координаты левого верхнего угла окна.
Пример использования::
pwd=InputBox("Введите пароль:", "Регистрация").
2. MsgBox – отрывает окно сообщения и возвращает значение, указывающее командную кнопку, которую щелкнул пользователь; используется для получения от пользователя ответа ДА/НЕТ и для вывода кратких сообщений (ошибки, предупреждения).
Общий формат:
MsgBox ("строка_сообщение" [, "кнопки"] [, заголовок_окна] [, "файл_подсказки", "контекст"]),
где "кнопки" – число, являющееся суммой кодов типов кнопок; некоторые из кодов кнопок: 0 – ОК, 1 – ОК и ОТМЕНА, 2 – ПРЕКРАТИТЬ, ПОВТОРИТЬ и ОТМЕНА, 3 – ДА, НЕТ и ОТМЕНА, 4 – ДА и НЕТ, 5 – ПОВТОРИТЬ и ОТМЕНА.
Если в сообщении должно присутствовать значение переменной, то его надо преобразовать в строковый тип функцией Str() и выполнить конкатенацию строк операцией &.
Пример использования:
MsgBox("Это сообщение VB", "Приложение VB").
При определенных условиях может использоваться функция PRINT, которая, в частности, может выводит данные на поле формы и имеет следующий синтаксис:
Print [ВЫРАЖЕНИЕ] [; |, ВЫРАЖЕНИЕ]...
где ВЫРАЖЕНИЕ – арифметическое или строковое выражение, значение которого выводится на экран; строковое выражение должно содержаться в кавычках;; |, – устанавливает начало последующего вывода: если присутствует точка с запятой, то значение очередного выражения следует непосредственно за значением предыдущего, если же присутствует запятая, то значение очередного выражения размещается в начале следующей области вывода (область вывода – это блок из 14 символов); если в конце Print-выражения нет ни точки с запятой, ни запятой, то выполняется перевод строки и вывод следующего значения начинается с новой строки. При выводе чисел всегда резервируется одна позиция для знака числа.
Данная функция может использоваться совместно с такими функциями, как Spc(Kol) - вывод указанного количества пробелов (Kol); Tab(Col) – указывает позицию (Сol) вывода.
Пример: Print “Переменная k = ”; k
если переменная k предварительно получила значение 5 (k = 5), то в результате выполнения оператора Print на экране появится сообщение: Переменная k = 5.
Для обработки ввода с клавиатуры используются события KeyDown, KeyPress и KeyUp. При нажатии клавиши для активного элемента управления генерируются соответствующие события.
В качестве параметра процедуре обработки события KeyPress передается переменная KeyASCII, содержащая ANSI-код нажатой клавиши.
Private Sub Text1_KeyPress(KeyASCII As Integer)
MsgBox KeyASCII
End Sub
В примере код нажатой клавиши выводится в окне сообщений, если фокус принадлежит элементу управления с именем Text1. Значение переменной KeyASCII можно не только считывать, но и устанавливать: KeyASCII = Asc(Chr(KeyASCII)). В этом примере с помощью стандартных функций обработки строк (см. соответствующий раздел) все вводимые с клавиатуры символы преобразуются в прописные.
Событие KeyPress вызывается только при нажатии клавиш, имеющих ANSI-код. Для клавиш управления курсором и для функциональных используются события KeyUp и KeyDown. При этом в переменной KeyCode содержится клавиатурный код нажатой клавиши, а в переменной Shift - состояние клавиш Shift, Ctrl и Alt: 1 при нажатии Shift, 2 при нажатии Ctrl, 3 при нажатии Alt. Значения кодов отдельных клавиш можно просмотреть в каталоге объектов (KeyCodeConstans).
Для анализа действий мышью используются следующие события: Click - одинарный щелчок мыши, DblClick - двойной щелчок и др. Эти события можно также вызывать программно, изменяя для этого свойство Value.
Дата добавления: 2015-10-28; просмотров: 156 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
The Period of the Enlightenment | | | Практическое задание №2. Линейное программирование |