Реферат по предмету "Разное"


Visual basic for applications (vba)

400 ЧАСТЬ VIvisual BASIC FOR applications (VBA) Глава 6.1 Создание приложений с помощью VBA Возможности Visual Basic Visual Basic является мощным программным средством, с помощью которого можно реализовать широкий спектр прак­тических задач. Основное достоинство этого языка програм­мирования состоит в том, что он оптимально сочетает в себе простоту использования, доступность и большой набор разно­образных возможностей, позволяющих охватить все основные области программистской деятельности. В названии этого языка слово Visual означает способ, при помо­щи которого данным программным средством создается графиче­ский пользовательский интерфейс (Graphical User Guide, или со­кращенно GUI). Вместо того чтобы описывать в программе, где и каким образом появится на экране тот или иной объект, програм­мист может просто расположить его в нужном месте еще на этапе разработки своего приложения. В качестве таких "заготовок" в по­давляющем большинстве случаев используются встроенные эле­менты управления, то есть уже созданные объекты с заданными на­борами свойств и методов. Программист может изменять значения тех или иных свойств у выбранного объекта, а также описывать для него разнообразные методы. Кроме этого, имеется возможность обработки программистом различных событий, которые могут воз­никать в результате каких-либо действий пользователя.^ Основные возможности языка Visual Basic:401 • Реализация разработчиком максимально гибкого и удоб­ного интерфейса для своего приложения, который сможет удовлетворить потребности даже самого взыска­тельного пользователя; • Обработка событий мыши и клавиатуры, вывод на экран различных графических изображений; • Использование стандартных диалогов; • Обработка файлов и каталогов на жестком диске; • Доступ к базам данных. Во всех приложениях пакета Microsoft Office 2000 исполь­зуется единая система программирования, которая носит на­звание ^ Visual Basic for Applications (VBA). Языком програм­мирования в данной системе является Visual Basic, а среда программирования реализована в виде Редактора Visual Basic (VBE), который может быть открыт из любого приложения пакета Office.^ Редактор Visual Basic (VBE) Для того чтобы запустить редактор VBE, необходимо вы­полнить следующую последовательность действий: 1. Открыть приложение пакета Microsoft Office 2000, на­пример, Word. 2. Выполнить команду Сервис \ Макрос Редактор Visual Basic. После выполнения этих действий на экране откроется окно редактора Visual Basic (см. рис. 6.1). Основными элементами VBE являются:Меню. В состав этого элемента входят все команды, кото­рые используются при создании приложений в редакторе VBE. Среди пунктов меню есть как стандартные, присущие боль­шинству окон Windows (File, Edit, View, Window, Help), так и пункты, при помощи которых разработчик может запускать или отлаживать свое приложение (Debug, Run). На рис. 6.1 Меню расположено в верхней части VBE под заголовком окна. Tool Bar (Панели инструментов). Эти элементы представляют со­бой различные группы кнопок с изображенными на них иконками. При помощи данных кнопок можно выполнять те или иные опера­ции, предусмотренные в среде разработки, не используя при этом меню; то есть выполнять одно действие - нажатие соответствующей402кнопки - вместо нескольких, в случае выполнения этой же операции при помощи меню. На рис. 6.1 панели инструментов расположены в верхней части VBE, под элементом Меню. В VBE существует четыре основные панели инструментов: • ^ Debug (Отладка) • Edit (Правка) • Standard (Стандартная) • UserForm (Пользовательская форма) По умолчанию отображается только панель Standard. Для того чтобы добавить или удалить какую-либо панель инструментов, следует выбрать команду ToolBars из пункта меню View (или подвести указатель мыши к строке меню и щелкнуть правой кнопкой мыши, вызывая контекстное меню). После этого появится окно со списком основных панелей инструментов (см. рис. 6.2), причем некоторые из них могут иметь слева пометку, что означает наличие их на экране. Выбор панели из списка приведет либо к ее появлению (если радом с названием не было пометки), либо к исчезновению с экрана (если пометка присутствовала).403 Далее будут рассмотрены панели среды разработки с кратким описанием их назначения и перечислением основных функций.^ Панель Debug (см. рис. 6.3) предназначена для выполнения отладки (тестирования) программы с исправлением возникающих ошибок (пункт меню Debug). В Visual Basic предусмотрены ши­рокие возможности для отладки приложения, такие как отслежи­вание текущих значений переменных программы, пошаговое вы­полнение приложения (на каждом шаге выполняется один опера­тор), временная остановка выполнения программы на определен­ном шаге и т. д. Перечень всех элементов панели Debug пред­ставлен в табл. 6.1.404Панель Edit (см рис. 6.4) предназначена для работы с текстом программы (пункт меню Edit). Эта панель реализует возможности простейшего текстового редактора: копирование и вырезание текста в буфер обмена, вставка из буфера, поиск или замена слов и фраз в тексте программы и т. д. Список всех элементов панели Edit представлен в табл. 6.2.405406Панель VserForm (см. рис. 6.5) предназначена для перемещения элементов управления в форме, изменения их размеров, выравнива­ния относительно границ формы (пункт меню Format). Перечень всех элементов панели Form Editor представлен в табл. 6.3.407 В случае выравнивания элементов формы относительно эта­лона (пункт Align Lefts в табл. 6.3) при выполнении одной из воз­можных команд (см. рис. 6.6) изображение кнопки выравнивания на панели Form Editor изменяется в соответствии с выбранным пунктом. Возможны следующие команды:^ Lefts - выравнивание всех выделенных объектов относительно левого края эталонного объекта;Centers - выравнивание по центру эталона относительно вер­тикальной оси;Rights - выравнивание относительно правого края эталона;Tops - выравнивание по верхней границе эталонного объекта;408Middles - выравнивание по центру эталона относительно го­ризонтальной оси;Bottoms - выравнивание относительно нижнего края эталон­ного объекта. Расположение элементов формы относительно ее центра (пункт Center Horizontally в табл. 6.3), которое задается при по­мощи одной из возможных команд (см. рис. 6.7), приводит к из­менению изображения соответствующей кнопки на панели Form Editor аналогично предыдущему пункту (см. рис. 6.6). При этом возможны следующие команды:Horizontally - выравнивание относительно вертикальной оси. Vertically — выравнивание относительно горизонтальной оси. Аналогично предыдущим рассмотренным возможностям пре­образование размера выбранных элементов формы (пункт Make With Same Size в табл. 6.3) также приводит к изменению соответ­ствующей кнопки в панели Form Editor. В данном случае возмо­жен выбор одного из следующих пунктов (см. рис. 6.8):^ Width — приведение ширины выделенных объектов к эталонной;Height - преобразование высоты выделенных объектов к вы­соте эталона;Both - приведение ширины и высоты объектов на форме к эта­лонным размерам.Панель Standard, или стандартная панель инструментов, является основной в VBE. С ее помощью можно выполнить широкий спектр действий, которые реализованы в пунктах меню File (Файл), Insert (Вставка), Debug (Отладка) и Run (За­пуск). Стандартная панель обычно расположена под строкой409меню. Однако при помощи мыши ее можно перетаскивать в любые другие области экрана, при этом панель приобретает вид окна (см. рис. 6.9). В табл. 6.4 приведены основные эле­менты панели Standard и их назначение.410411Properties (Окно свойств). Используется для того, чтобы из­менять свойства текущего объекта, например, документа Word (см. рис. 6.11). В VBE окно свойств, как правило, находится в левом нижнем углу (см. рис. 6.1).Code (Окно редактирования кода). Предназначено для созда­ния или редактирования кода программы (см. рис. 6.12). Для лю­бой формы или модуля проекта окно редактирования кода мож­но открыть с помощью команды View \ Code.412Project (Окно проектов). Используется для удобства работы с элементами проекта (формами и модулями), а также в случае необходимости работы с несколькими проектами одновремен­но (т. е. если VBE был запущен сразу из нескольких одно­именных приложений, например, из нескольких документов Word) (см. рис. 6.13). Содержимое этого окна отображает ие­рархические структуры, в которых вершинами всех иерархий являются открытые в данный момент проекты, а исходящие от них ветви являются составными частями проектов (например, формы или модули). В VBE окно проектов обычно расположено над окном Properties (см. рис. 6.1).^ Управление проектами в VBE Проектом называется набор модулей, которые используются для разработки приложения. В состав проекта входят модули следующих категорий: • Объекты приложения; • Формы; • Стандартные модули; • Модули классов.Объекты приложения Office. Представляют собой один или не­сколько документов того приложения Office, из которого был открыт редактор Visual Basic. Например, если таким приложением является Word, то категория называется Microsoft Word Objects.413Формы. В данной категории находятся пользовательские формы, составляющие их элементы, а также объявляемые пере­менные, константы, процедуры обработки событий и пользова­тельские процедуры и функции. Для каждой формы проекта соз­дается отдельный модуль.Стандартные модули. Их содержимым являются процедуры, функции, а также объявляемые переменные и константы, которые можно использовать в других модулях данного приложения.Модули классов. Предназначены для создания разработчиком собственных классов с описанием их методов и свойств. Модули классов похожи на модули форм, но, в отличие от них, не имеют отображаемого пользовательского интерфейса. Все открытые проекты и список составляющих их файлов можно увидеть в окне Project (см. рис. 6.13), кнопки которого позволяют выполнять следующие действия: Открывать окно кода для выбранной формы; Показывать выбранную форму; Выводить или прятать категории проекта, показывае­мые в виде папок (например, папка ^ Forms). Для того чтобы добавить форму (или какой-либо другой объ­ект) в открытый проект, необходимо в меню Insert выбрать пунктUser Form (пользовательская форма) или нажать кнопку на стандартной панели. При необходимости удаления какого-либо элемента из проек­та следует: 1. Выбрать в окне Project название соответствующего элемен­та (формы или модуля). 2. Выполнить команду Remove меню Project или контекстного меню выбранного элемента.414^ Глава 6.2 Основы программирования на УВ6 Работа с переменными Переменные в программе создаются для того, чтобы хранить какие-либо данные. Перед тем как использовать переменную, ее необходимо описать. Данное действие осуществляется при помощи оператора следующего вида: Dim переменная [As mun] В этом операторе: Dim - ключевое слово, свидетельствующее о том, что осу­ществляется объявление переменной; As - служебное слово, используемое при обозначении типа данных для объявляемой переменной;Переменная — имя переменной, которая объявляется;Тип - тип данных для указанной переменной. В одном операторе можно одновременно описать несколько переменных, указывая каждую последующую через запятую. В языках программирования ключевыми (служебными) словами называются такие слова, которые используются только для описания каких-либо операторов и не могут быть использованы программи­стом ни в каких других целях. В частности ключевые слова нельзя использовать в качестве имен для переменных в программе. Редак­тор Visual Basic настроен таким образом, что при написании текста программы в окне кода все используемые ключевые слова по умол­чанию будут обозначаться синим цветом, в то время как весь ос­тальной текст изображается черным. В этом случае программист легко может определить, являются ли те слова, которые он планиру­ет использовать, например, в качестве имен для переменных, ключе­выми словами Visual Basic или нет. Существует несколько ограничений на имена используемых в программе переменных: • имя должно начинаться только с латинской буквы; • в имени не должно быть точек, пробелов и русских букв; • необходимо соблюдать уникальность имен переменных в рамках одной рассматриваемой процедуры: • количество символов в имени не должно быть более 255. -415Зачастую для повышения информативности используемых переменных программисты используют в именах так называе­мые префиксы, которые определяют принадлежность сохраняе­мых в них данных к определенному типу (см. табл. 6.5). В том случае, когда при описании переменной программист не указывает тип данных, например: Dim Variableто создаваемая переменная автоматически будет иметь тип Variant (произвольный). Это означает, что в ней может хра­ниться информация любого типа, однако данная переменная бу­дет занимать значительно больше места в памяти, чем перемен­ная любого другого типа. Поэтому, если заранее известно о том, какого рода информация должна храниться в описываемой пере­менной, то для нее следует указывать такой тип из всех подходя-416щих, который требует меньше всего места в памяти. В табл. 6.6 приведено описание всех типов данных, которые используются в Visual Basic.417 Рассмотренный способ объявления переменных носит назва­ние явного. Кроме приведенного варианта с использованием ключевого слова Dim, существует еще несколько способов: Private переменная [As тип] Static переменная [As тип] Public переменная [As тип] В этих операторах применяются следующие ключевые слова Visual Basic: Private, Static, Public, которые влияют на область видимости объявляемой переменной (область програм­мы, в которой возможно ее использование). Другими словами, переменная может использоваться только в конкретной процеду­ре, во всех процедурах какого-либо определенного модуля или в любой процедуре данного проекта. В том случае, когда переменная объявляется с ключевым сло­вом Dim, то это означает, что областью ее использования будет только та процедура, в которой она была описана. Такие пере­менные называются локальными (закрытыми). При этом после выполнения данной процедуры их значения будут потеряны. Эти переменные удобно использовать, к примеру, в качестве счетчи­ков циклов. Если в нескольких процедурах необходимо выпол­нять циклы, то счетчикам для них можно давать одно и то же имя, например, intCounter. В этом случае не будет возникать конфликт имен, который происходит, когда в программе объяв­ляются несколько переменных с одними и теми же именами, имеющими одинаковую область видимости. Когда объявление переменной в процедуре осуществляется при помощи ключевого слова Static, то она также будет локальной. Отличие от оператора Dim заключается в том, что в этом случае после очередного выполнения данной процедуры ее последнее зна­чение не будет потеряно. Этот оператор удобно использовать при необходимости сохранения значения какой-либо локальной пере­менной после очередного выполнения процедуры. Если нужно, чтобы значение переменной было доступно в не­скольких процедурах одного модуля, то в этом случае следует использовать оператор Private. Причем объявление перемен­ной необходимо осуществлять в разделе Declarations теку­щего модуля (см. рис. 6.14).418 Когда нужно использовать какую-либо переменную, которая доступна всем модулям данного проекта, то ее следует объявлять с использованием ключевого слова Public. Такие переменные называются глобальными (открытыми) и являются противоположностью тех, которые объявляются опера­тором Private. Глобальные переменные также должны описы­ваться в разделе Declarations открытого модуля. Существует еще один способ объявления переменных, при котором вместо ключевого слова As с последующим указанием типа используется так называемый суффикс типа данных, кото­рый добавляется в конец имени описываемой переменной. Пере­чень всех суффиксов и соответствующих им названий типов при­веден в табл. 6.7.419 Если при описании переменной использовать приведенные выше суффиксы, то в этом случае оператор для объявления от­крытой переменной целого типа будет выглядеть следующим образом: Public Counter%. Итак, для определения типа переменной можно использовать как префиксы, так и суффиксы. Выбор того или иного способа всецело зависит от предпочтений программиста.^ Использование констант Наряду с переменными для хранения информации в програм­ме можно использовать константы. Их особенностью является то, что при описании в программе какой-либо константы ей при­сваивается определенное значение, которое в дальнейшем не мо­жет быть изменено другими операторами. Существует две разновидности констант: встроенные и поль­зовательские. Встроенные константы Visual Basic предлагаются самой системой и предназначены для хранения самой разнооб­разной информации: коды "горячих" клавиш, используемые цве­та и т. д. Все они имеют префикс vb, например: vbWhite. Для того чтобы уточнить значение той или иной встроенной константы, а также ее название, следует открыть окно ^ Object Browser, в котором можно найти всю необходимую информацию (см. рис. 6.15). Для этого необходимо или нажать соответствую­щую кнопку на стандартной панели инструментов, или выбрать команду Object Browser в меню View, или нажать клавишу F2. Пользоваться встроенными константами удобно во многих случаях по той причине, что намного легче запомнить название константы, например, vbWhite, чем число 16777215. Часто возникает необходимость описывать в программе соб­ственные константы, которые называются пользовательскими, присваивая им определенные значения. Для объявления таких констант используется оператор, аналогичный тому, который употребляется при описании переменной:^ Const константа [As тип] = значение В этом операторе: Const - ключевое слово, которое показывает, что осуществ­ляется объявление константы;420 As - ключевое слово для обозначения типа данных объявляе­мой константы;Константа - имя описываемой константы;Тип - тип данных для объявляемой константы;Значение - присваиваемое константе значение указанного типа. Ниже приведены примеры объявления констант различных типов: Const bInFlag As Boolean = False Const intMax As Integer = 1024 Const stxMessage = "Завершение работы" При помощи одного оператора можно объявить несколько констант, в этом случае они должны быть перечислены через за­пятую, например: Const intMin = 0, intMax = 1000 При объявлении констант их область видимости задается ана­логично переменным. Если константа была создана в процедуре,421то областью ее видимости является только эта процедура. В слу­чае необходимости доступа к константе из всех процедур модуля ее нужно объявлять в разделе Declarations данного модуля, ука­зывая в начале оператора ключевое слово Private. Если же требуется обеспечить доступ к константе из всех процедур про­екта, то при ее объявлении в разделе Declarations следует исполь­зовать ключевое слово Public. Например: Private Const intMax = 4096 Public Const intMin = 1024^ Типы данных Object и Variant Тип Object. В том случае, когда необходимо работать с различными объ­ектами, удобно использовать тип Object (объектный). Пере­менная данного типа содержит ссылку на тот или иной объект разрабатываемого приложения или других приложений и пред­ставляет собой 4-байтный адрес соответствующей области памя­ти. Присвоение объектной переменной какого-либо значения выполняется при помощи оператора Set. Например: Dim objA As Object Set objA = Labell В приведенном примере переменной objA присваивается ссылка на объект-метку Labell, принадлежащий одному из стандартных классов Visual Basic, а именно: классу Label. В подобных случаях, когда для описания объекта используется не созданный разработчи­ком, а уже имеющийся класс, при объявлении переменной следует указывать стандартный тип: Dim objA As Label objA = Labell Перечень стандартных классов Visual Basic, а также их описа­ние и список свойств каждого класса можно найти в разделе Classes окна Object Browser (см. рис. 6.16).422 Тип Variant. Если в процессе работы программы определенная переменная должна содержать значения различных типов, то следует исполь­зовать тип Variant (произвольный), который устанавливается по умолчанию для описываемой переменной. При этом во время выполнения различных операций нет необходимости следить за тем, значение какого типа в данный момент в ней находится, так как необходимые преобразования осуществляются автоматиче­ски. Например: Dim vntAny ' ^ Tim Variant vntAny = "144" ' Результат: строка "144" vntAny = vntAny /12 ' Результат: число 12 Однако следует учитывать тот факт, что в случае выполнения арифметических операций в переменной типа Variant должно находиться число (или строка, содержащая число), иначе при ра­боте программы возникнет ошибка несовпадения типов Type Mismatch. Значение, которое присваивается переменной типа Variant, определяет способ его обработки при выполнении различных423 операций, а также внутреннее представление. В частности если данное значение является числом, то оно обрабатывается как принадлежащее тому типу данных, который в этом случае явля­ется наиболее подходящим. Например: Dim vntA ' тип Variant/Empty vntA = "5" ' тип Variant/String vntA = 5 ' типVariant/Integer vntA =5.5 ' тип Variant/Double Для того чтобы узнать, какое внутреннее представление упот­ребляется для того или иного значения, следует использовать функцию VarType, которая возвращает числовые коды в зави­симости от применяемого типа данных (см. табл. 6.8). Например: Dim vntA Dim intCode As Integer vntA = "7" intCode = VarType(vntA) ' intCode = 8424 В зависимости от полученного кода можно выполнять те или иные действия. Например, целочисленные значения в перемен­ных Variant хранятся как Integer. Если какое-либо из этих значений не выходит за пределы интервала, определяемого типом Byte, т. е. [0; 255], то для экономии памяти и повышения скоро­сти обработки можно осуществить преобразование к более ком­пактному типу (см. табл. 6.9): Dim vntA ' Variant vntA = 200 ' Variant/Integer If VarType(vntA) = 2 Then vntA = CByte(vntA) ' Variant/Byte End If Зачастую при работе приложений необходимо преобразовывать содержимое переменных Variant из строки в число, например, при вводе пользователем данных в диалоговом окне, однако в этом случае может возникнуть ошибка несовпадения типов. Чтобы про-425верить, является ли преобразуемое значение числом (или строкой, которую можно представить как число), следует использовать функ­цию IsNumeric, которая возвращает значение True или False, в зависимости от результата проверки (см. табл. 6.10). Обычно IsNu-meric используется в управляющих конструкциях, как и рассмот­ренная выше функция VarType. Помимо того, что переменные типа Variant могут хранить значения любого другого типа, для них предусмотрены еще три специальных значения:Empty. Данное значение в начале выполнения программы ав­томатически присваивается переменной, объявленной как Variant, причем оно может трактоваться по-разному, в зависи­мости от того, в каком выражении присутствует рассматриваемая переменная. Если она используется при выполнении арифметиче­ской операции, то значение Empty эквивалентно нулю, т. е. О, если в строковом выражении - то пустой строке, т. е. "". Для того чтобы выяснить, содержит ли переменная типа Variant значе­ние Empty, следует использовать функцию IsEmpty, например: Dim vntA ' vntA = Empty If IsEmpty(vntA) Then vntA = "" ' vntA = "" Данное значение может быть присвоено в программе пере­менной типа Variant так же, как и любое другое, например: vntA = Empty426Null. Это значение в большинстве случаев применяется при обработке баз данных и имеет несколько особенностей: • если в каком-либо выражении одним из составляющих яв­ляется Null, то результатом всего выражения также будет Null, например: Dim vntA ' vnfcA = Empty vntA = Empty + Null * 5 ' vntA = Null • в том случае, когда в качестве параметра функции исполь­зуется значение Null или переменная, которая равна Null, то вызываемая функция также возвратит значение Null (если этот параметр принимает участие в вычисле­нии результата функции). Проверка на значение Null переменной типа Variant осу­ществляется функцией IsNull, которая аналогична функции IsEapty, рассмотренной выше. Данное значение может быть присвоено только переменной типа Variant, например: Dim vntA vntA = Null Если же значение Null будет присвоено переменной другого типа, то компилятор выдаст сообщение об ошибке.Error. Данное значение применяется в том случае, если не­обходимо предусмотреть возможность возникновения ошибки в используемой процедуре. При этом компилятор не выдает стан­дартных сообщений об ошибке, что позволяет разработчику при ее возникновении выполнять те или иные действия по своему усмотрению. Преобразование полученного кода ошибки в Error осуществляется с помощью функции CVErr, аргументом кото­рой является числовое значение.^ Простейшие конструкции и операторы Используемые символы. В языке Visual Basic при создании программ могут использоваться следующие символы: • прописные и строчные буквы латинского и русского ал­фавитов;427 • цифры от 0 до 9; • знаки: . (точка), , (запятая), ; (точка с запятой), ' (апостроф), " (кавычки), ( ) (круглые скобки); • символ пробела; • знаки арифметических операций: + (плюс), - (минус), * (умножение), / (деление), ^ (возведение в степень); • знаки сравнения: (больше), = (равно), = (не меньше, ис­пользуется вместо знака ), (не равно, используется вместо знака  ); • знаки: @ (коммерческое "эт"), # (диез), $ (знак доллара), % (процент), & (амперсанд, или коммерческое "и"), \ (косая черта слева направо), _(знак подчеркивания), ! (восклицательный знак), ? (вопросительный знак).Представление чисел. Числа в Visual Basic представляют со­бой последовательность цифр со знаком + или - (знак + обычно не употребляется), например: +7, -18, 32. Если в числе имеется дробная часть (т. е. десятичная дробь), то она отделяется от целой части точкой. При этом если целая часть равна нулю, то ее можно опустить, например: 0.5, -5. 68, -. 12. Описанная форма запи­си чисел носит название основной. Кроме основной, возможна также запись чисел в экспоненци­альной форме (в форме с порядком). Например, десятичное число 0,0095 или его эквивалент 9,5 • 10-3 на языке Visual Basic может быть записано в следующем вице: 9. 5Е-4. Аналогичным обра­зом число 52000000 можно записать так: 52Е+6 или 52Е6. Ла­тинская буква Е и находящееся за ней число в данной форме за­писи называется порядком, перед которым обязательно должно быть записано число в основной форме. Вместо буквы Е при ука­зании порядка можно также использовать букву D, однако после компиляции этот символ будет автоматически исправлен на Е.Арифметические выражения. При использовании в програм­ме каких-либо арифметических вычислений, их представление на языке Visual Basic схоже с математическим. Выражения могут содержать числа, переменные, функции, которые соединены между собой знаками арифметических действий (см. табл. 6.11).428 Кроме обычных арифметических действий - сложения (+), вычитания (-), умножения (*), деления (/) и возведения в сте­пень (^),- в языке Visual Basic можно также выполнять целочис­ленное деление (\) и определять остаток от деления при помощи оператора Mod. Например:Листинг 6.1. Применение арифметических операторов. Dim m, n, x m = 5 n = 2x = m / n ' Результат; x = 2,5 x = m \ n ' Результат: х = 2 x = m Mod n ' Результат; x = 1 При наличии в выражении нескольких арифметических опера­ций порядок их выполнения определяется правилами приоритета: 1. возведение в степень (^) 2. умножение и деление - обычное и целочисленное (*, /, \) 3. остаток от деления (оператор Mod) 4. сложение и вычитание (+, -)Операции с одинаковым приоритетом выполняются в соот­ветствии с порядком их записи в операторе слева направо. Если в выражении какие-либо операции заключены в скобки, то независимо от приоритета они выполняются в первую очередь. Следует отметить тот факт, что в арифметических выражени­ях могут присутствовать величины различных типов, например,429складываются два числа: целое и вещественное. Результатом та­кого сложения будет величина вещественного типа, поэтому осо­бое внимание следует обращать на тип той переменной, которой он будет присвоен. Если в этом случае типы переменной и при­сваиваемого ей результата арифметического выражения не будут совпадать, например, переменная будет типа Integer, а значе­ние выражения - типа Single или Double, то после выполне­ния данного оператора значение переменной будет получено пу­тем автоматического округления результата. В языке Visual Basic предусмотрена возможность преобразо­вания переменных из одного типа в другой при помощи специ­альных функций (см. табл. 6.9). Однако при этом следует обращать внимание на значение, которое содержит переменная, - необходимо, чтобы оно соот­ветствовало тому типу, в который переменная будет преобра­зована. В частности любое числовое значение можно преобра­зовать в строку, однако обратное действие возможно только в том случае, если содержимым строки является число в основ­ной или экспоненциальной форме. Например: intNunber =15 strNumber = CStr(intNunber) ' Результат; "15" strNumber = "2,5E1" intNunber = Cint(strNunber) ' Результат; 25 Особое внимание следует обратить на то, что в строке, преоб­разуемой в число и содержащей как целую, так и дробную части, использование в качестве разделителя точки или запятой зависит от настроек в панели управления - раздел Язык и стандарты (см. рис. 6.17). Если для разделения целой и дробной части установлена точ­ка, то в преобразуемой строке можно использовать как точку, так и запятую. С другой стороны, если установлена запятая, то в строке для преобразования в число необходимо использовать только запятую. Применение точки в этом случае приведет на стадии компиляции к ошибке несовпадения типов. Например: strNunber = "2.5E1" intNunber = Cint(strNunber) _ ' Результат; ОШИБКА430 Данная ошибка также появляется тогда, когда значение пре­образуемой переменной не соответствует задаваемому типу. Например: strNumber = "х1" intNumber = Cint(strNuinber) ' ^ Результат: ОШИБКАМатематические функции. В языке Visual Basic для решения различных математических задач существуют встроенные функ­ции, зависящие от одного аргумента, которые можно использо­вать непосредственно при вычислении каких-либо выражений (см. табл. 6.12).431 Аргумент во всех тригонометрических функциях задается в радианах, а не в градусах. При необходимости перевода значе­ния, которое задано в градусах, в радианы, следует использо­вать формулу: радианы = градусы •Пи /180 при вычислении арктангенса необходимо, чтобы аргумент на­ходился в пределах интервала: (-пи/2; пи/2).432При использовании стандартного датчика случайных чисел генерирует число в интервале [0; I], при этом аргумент х в функции Rnd можно опустить.Логические операторы. Помимо математических, в языке Visual Basic можно также вычислять значения логических выражений, которые будут иметь тип Boolean и могут принять одно из двух значений: True (Истина) или False (Ложь). Прежде всего, переменным логического типа можно присваи­вать результат любого выражения, значение которого принадле­жит этому типу. Например: Листинг 6.2. Работа с логическими значениямиDim х, у, blnА х = 5 у = 2blnА = х > у ' Результат: TrueblnА = х Также можно использовать реализованные в данном языке ло­гические функции одной и двух переменных, которые возвраща­ют True или False в зависимости от значений параметров (см. табл. 6.13). В качестве функции одной переменной в Visual Basic высту­пает логическое отрицание (оператор Not), результатом выпол­нения которого является значение True, если параметр был ра­вен False, и наоборот, результат равен False, если параметр содержал значение True.433 Описание логических операторов, реализующих данные функ­ции, выглядит следующим образом: And. Действие "конъюнкция" (логическое "и"). Or. Действие "дизъюнкция" (логическое "или"). Хоr. Действие "двоичное сложение". Imp. Действие "импликация". Eqv. Действие "эквивалентность". Ниже приведен пример применения всех описанных выше операторов.Листинг 6.3. Иллюстрация использования логических функцийDim х, у, z, blnА х = 1у = 2z = 3'Оператор AndblnА = х > у And у > z ' Результат: False 'Оператор NotblnА = Not(x blnА =xz ' Результат: True 'Оператор ХоrblnА = х blnА = х > у Imp у > z ' Результат: True 'Оператор EqvblnА = х ^ Конструкции управления Зачастую в определенном месте программы необходимо вы­полнять те или иные операторы, в зависимости от некоторых условий. Эта возможность в Visual Basic реализуется при помощи так называемых управляющих конструкций (или структур), кото­рые в свою очередь состоят из структур принятия решений и циклов. Ниже приводится подробное описание двух существую­щих конструкций принятия решений.Конструкция If ...Then. Существует несколько разновидно­стей данной структуры. Если при выполнении какого-либо усло-434 вия необходимо выполнять один оператор, то нужно использо­вать конструкцию следующего вида:^ If условие Then оператор В том случае, когда результатом проверки условия является значение True (Истина), то выполняется оператор, находящийся после служебного слова Then. С другой стороны, если после проверки условия было получено значение False (Ложь), то выполнится следующий по порядку оператор. Все описанные параметры данной структуры должны быть указаны в одной строке. Если при выполнении условия требуется выполнил, не один, а несколько операторов, то следует использовать такую конструкцию:^ If условие Then Операторы End If В случае истинности проверяемого условия будут выполнены операторы, расположенные после ключевого слова Then. С другой стороны, если условие является ложным, то выполняется следую­щий после данной конструкции оператор. В том случае, когда в блоке операторы находится только один оператор, то данная структура все равно должна заканчиваться служебным словосоче­танием End If. При необходимости выполнения того или иного оператора (или блока операторов), в зависимости от результата проверки опреде­ленного условия, в языке Visual Basic следует использовать сле­дующую конструкцию:^ If условие Thenоператоры1 Elseоператоры2End IfилиIf условие Then операторы1 Else: операторы2End If435 Если результатом проверки условия является значение True, то будет выполнен блок операторы1, находящийся после клю­чевого слова Then. С другой стороны, если проверка условия дала результат False, то будет выполнен блок операторы2, расположенный после служебного слова Else. Во втором из приведенных вариантов в качестве блока опе­раторы2 может использоваться как один оператор (тогда он за­писывается после знака «:» в той же строке, что и служебное слово Else), так и несколько (при этом каждый оператор, начи­ная со второго, записывается в отдельной строке). В том случае, когда определенное действие (или набор дейст­вий) нужно выполнять после проверки не одного, а нескольких условий, на языке Visual Basic следует использовать такую управляющую структуру:^ If условие1 Thenоператоры1 Elself условие2 Thenоператоры2 [Else onepaтopы N] End If Если условие1, находящееся после ключевого слова If ис­тинно, то выполняется блок операторы1, расположенный после Then. Если же оно ложно, то осуществляется проверка условия2, находящег


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.