Схематичное изображение цикла обработки событий. Показан жизненный путь программы, пользовательские события и вызов обработчиков.
Цикл обработки событий можно сравнить с оператором в сервис-центре. Пока нет входящих звонков оператор ожидает. Наконец происходит событие - телефонный звонок. В процессе общения с клиентом, оператор должен получить достаточно информации, чтобы знать к кому переадресовать клиента для ответа. После пересылки, оператор ждет следующего звонка.
Хотя каждая система управляемая событиями имеет свои особенности, между ними много общего. Первичные характеристики программы управляемой событиями следующие:
После начальной установки, большую часть времени программа проводит в цикле, ожидая события. Вход в этот цикл показывает начало пользовательской интерактивной части программы, и выход из цикла показывает ее конец. В wxPython, этот цикл – метод wx.App.MainLoop(). Он должен быть явно вызван в вашем сценарии. Выход из цикла происходит, когда все окна верхнего уровня закрыты.
Программа реагирует на события, которые могут произойти в среде программы. Обычно, события вызываются пользовательской деятельностью, но могут также быть результатом деятельности системы, или произвольного кода в другом месте программы. В wxPython, все события – объекты класса wx.Event или производного от него. Каждое событие имеет атрибут тип события (event type), который позволяет различать виды событий.
В цикле, программа периодически проверяет, случилось ли что-нибудь требующее ответа. Есть несколько механизмов, которыми система, управляемая событиями, может получать информацию о событиях. Наиболее популярный метод, используемый wxPython: события помещаются в общую очередь по мере поступления, а затем извлекаются из нее и обрабатываются.
Когда событие происходит, система его обрабатывает, вызывая программный код, связанный с этим событием. В wxPython, родные системные события переведены в объекты wx.Event и созданы методы wx.EvtHandler.ProcessEvent() для того, чтобы послать события надлежащему обработчику. На рисунке 3.3 схематически изображен этот процесс. Составляющие части механизма обработки событий – биндеры (event binder) и обработчики событий. Биндер (event binder) - предопределенный объект wxPython. Есть отдельный биндер для каждого типа события. Обработчик (event handler) - функция или метод, который принимает объект события как параметр. Обработчик вызывается, когда пользователь вызывает соответствующее событие.
- Интегрированная среда разработки Visual Basic.
Интегрированная среда разработки (IDE) представляет собой знакомый нам по другим приложениям Microsoft графический интерфейс. Ее внешний вид показан на рисунке.
Интегрированная среда проектирования (разработки) Visual Basic 6
В состав среды проектирования включен набор следующих основных элементов:
· главное меню;
· стандартная панель инструментов (Standard);
· панель элементов управления;
· окно проводника проекта (Project);
· конструктор форм;
· редактор меню (Menu Editor);
· окно свойств (Properties);
· окно макета формы (Form Layout);
· окно просмотра объектов (Object Browser);
· редактор исходного кода.
- Состав и последовательность разработки проекта приложений в Visual Basic.
Проектом на Visual Basic называется комплект файлов, которые используются для разработки приложения. В состав проекта входят следующие основные файлы: - файл проекта ( расширение .vbp); - файлы форм ( расширение .frm); - файлы основных модулей ( расширение .bas); - файлы модулей классов (расширение .cls). Файл проекта. Содержит связи между всеми элементами приложения и включает в себя все его формы и модули, а также различные ссылки и настройки для компиляции. Файлы форм. Содержат описания форм, используемых в приложении, составляющих их элементов со значениями свойств, а также объявляемые переменные, константы, процедуры обработки событий и пользовательские процедуры и функции. Для каждой формы приложения существует свой файл. Файлы основных модулей. Их содержимым являются процедуры, функции, а также объявляемые переменные, которые можно использовать в других модулях данного приложения. Файлы модулей классов. Предназначены для создания разработчиком собственных классов с описанием их методов и свойств. Модули классов похожи на модули форм, но, в отличие от них, не имеют отображаемого пользовательского интерфейса. Процесс создания любого приложения на Visual Basic происходит последовательно в следующем порядке от идеи - к реализации:
· 1.Создание «внешний вид» приложения;
· 2. Определение свойства у всех элементов приложения «характеристики»
· 3. Описание необходимых методов «программный код»
· 4. Тестирование приложения.
- Способы создания элементов управления в форме.
Составные элементы управления являются тем средством, с помощью которого можно создавать и многократно использовать пользовательские графические интерфейсы.Составной элемент управления — это компонент, имеющий визуальное представление.Он может состоять из одного или нескольких элементов управления форм Windows Forms, компонентов или блоков кода, позволяющих расширить функциональные возможности (например, проверять допустимость вводимых пользователем данных, изменять свойства отображения или выполнять другие действия, необходимые разработчику).Составные элементы управления можно поместить в формы Windows Forms точно так же, как и другие элементы управления.В первой части пошагового руководства будет создан простой составной элемент управления ctlClock.Во второй части пошагового руководства функциональные возможности элемента ctlClock будут расширены с помощью наследования.
При создании нового проекта следует задать его имя, чтобы были установлены корневое пространство имен, имя сборки и имя проекта, а компонент, создаваемый по умолчанию, был помещен в нужное пространство имен.
Чтобы создать библиотеку элементов управления ctlClockLib и элемент управления ctlClock
В меню Файл выберите Создать и выберите пункт Проект, чтобы открыть диалоговое окно Новый проект.
Из списка проектов Visual Basic выберите шаблон проекта Библиотека элементов управления Windows и в поле Имя введите ctlClockLib, затем нажмите кнопку OK.
Имя проекта (ctlClockLib) также назначается по умолчанию корневому пространству имен.Для определения имен компонентов в сборке используется корневое пространство имен.Например, если в двух сборках содержатся компоненты с именем ctlClock, то можно указать свой компонент ctlClock, используя имя ctlClockLib.ctlClock. .
В обозревателе решений щелкните правой кнопкой мыши файл UserControl1.vb и затем нажмите Переименовать.Измените имя файла на ctlClock.vb.Нажмите кнопку Да, чтобы переименовать все ссылки на элемент кода UserControl1.
- Способы установки требуемых свойств объекта и групп однотипных объектов.
Свойства — это значения, которые хранят описательные сведения об объекте. Например, параметры конфигурации Microsoft SQL Server представлены свойствами объекта Microsoft.SqlServer.Management.Smo.Server.Configuration. К свойствам можно получать как прямой, так и косвенный доступ при помощи коллекции свойств. Для прямого доступа к свойствам используется следующий синтаксис:
objInstance.PropertyName
Значение свойства можно изменить или получить в зависимости от того, доступно ли свойство для чтения и записи или только для чтения. Кроме того, некоторые свойства необходимо задавать перед тем, как можно будет создать объект. Дополнительные сведения о конкретном объекте см. в справочнике по объектам SMO.
Коллекции дочерних объектов отображаются в виде свойства объекта. Например, коллекция Tables является свойством объекта Server. Дополнительные сведения см. в разделе Использование коллекций.
Свойства объекта являются элементами коллекции Properties. С помощью коллекции Properties можно просматривать все свойства объекта.
Иногда свойство недоступно по следующим причинам.
· Версия сервера не поддерживает это свойства (как при попытке получить доступ к свойству, которое представляет новую функцию SQL Server из более старой версии SQL Server).
· Сервер не предоставляет данные для свойства (как при попытке доступа к свойству, представляющему компонент SQL Server, который не установлен).
Обрабатывать эти ситуации можно путем перехвата исключений SMO Microsoft.SqlServer.Management.Smo.UnknownPropertyException и Microsoft.SqlServer.Management.Smo.PropertyCannotBeRetrievedException.
Для облегчения управления наборами объектами и с целью упрощения насыщенных объектами сцен применяют команду Group (Сгруппировать). Ее вызов осуществляется через одноименный пункт падающего меню Group (Группировка) и применяется к выбранным объектам. Возникает окно ввода имени создаваемой группы. После подтверждения имени группы возникает новый объект сцены.
С объектами, объединенными по определенным критериям в группу (составные элементы сложного объекта, часто повторяющиеся наборы однотипных объектов и т. п.), очень удобно производить такие операции как выбор, клонирование, присвоение материалов, трансформации и многое другое. Группы могут иметь многоуровневую вложенную структуру. Рассмотрим возможности работы с группами объектов в среде Мах. Все команды управления сосредоточены в упоминавшемся ранее падающем меню Group (Группировка):
Group (Сгруппировать) – объединяет выбранные объекты в группу с новым именем, набираемым в одноименном диалоговом окне. Имя группы отображается жирным шрифтом в поле Name (Имя) или в квадратных скобках в диалоговом окне Select Objects (Выбор Объектов).
· Open (Открыть) – частично снимает группировку, давая возможность выбирать, модифицировать и трансформировать любой объект, входящий в открываемую группу. В этом случае возникает дополнительный объект, представляющий собой габаритный контейнер, в который вписываются все объекты группы и имеющий имя, заданное при ее создании. Этот контейнер отрисовывается на экране алым цветом.
· Close (Закрыть) – возвращает группу в стандартное состояние, скрывая объект с именем группы и возвращая полную группировку всем объектам группы.
· Ungroup (Разгруппировать) – удаляет группировку объектов, входящих в выбранную группу, позволяя раздельную работу над каждым из них.
· Explode (Полная Разгруппировка) – удаляет группировку объектов, составляющих многоуровневую, вложенную группу.
· Detach (Отсоединить) – выделяет выбранный объект (или объекты) из состава группы. Для выполнения этой команды необходимо сначала открыть группу командой Open (Открыть).
· Attach (Присоединить) – добавляет выбранные объекты в группу, указываемую левым щелчком мыши.
- Создание программного кода объекта Visual Basic.
Программный код проекта существует не сам по себе, он привязан к отдельным объектам экранной формы. Часть кода, которая относится только к одному объекту, в свою очередь может состоять из нескольких фрагментов-процедур.
В Visual Basic программный код почти всегда привязывается к какому-либо событию, которое является сигналом к началу работы программы. Например, щелчок мыши по какому-либо объекту экранной формы; загрузка новой экранной формы; перемещение указателя мыши вдоль полосы прокрутки; нажатие какой-либо клавиши на клавиатуре.
Сначала проектируется экранная форма, затем устанавливаются события, которые будут происходить в работающем приложении, и только затем программируются действия, связанные с этими событиями.
- Создание выполняемого файла программы Visual Basic.
После того как разработчик убедился, что все требования заказчика удовлетворены, целесообразно создать ЕХЕ-файл, который можно переносить в качестве исполняемого элемента (прикладного программного продукта) на другой компьютер, у которого не установлено ПО Visual Basic, хотя наличие среды Windows должно быть обязательным.
Можно позаботиться о том, чтобы приложение работало в среде Windows и запускалось как стандартное приложение, т. е. имело собственную пиктограмму (коп). С помощью этой пиктограммы производится запуск приложения, и эта пиктограмма всегда будет появляться при сворачивании данного приложения. Можно просто создать так называемый ЕХЕ-файл без каких-либо дополнений в виде пиктограммы. Тогда пользователю при запуске этого приложения придется каждый раз после активизации Windows на своем компьютере разворачивать в соответствующую папку и вызывать приложение. Приведем некоторые рекомендации по оформлению приложения для передачи на другой компьютер, который не обеспечен Visual Basic.Необходимо отметить, что для работы приложения во всех случаях понадобится «подгрузить» специальную библиотеку из Visual Basic.
Для создания независимого EXE-модуля, находясь в режиме отладки программ, выберите в меню File и далее директиву Маке «имя файла» EXE. При этом появится диалоговое окно, которое запросит имя создаваемого файла и устройство (диск и путь), на которое необходимо записать исполняемый модуль. После задания указанных параметров достаточно нажать на кнопку OK в диалоговом окне, и нужный EXE-файл будет создан. Для удобства запуска данного файла часто используют пиктограммы.
Пиктограмма (именуемая также иногда иконкой от слова Icon) представляет собой иллюстрацию, которую можно использовать в качестве прикладной при сворачивании формы. Кроме того, пиктограмма может быть использована для стартовой формы. Пиктограмму можно нарисовать самому или выбрать из стандартной библиотеки пиктограмм.
Для просмотра пиктограмм из библиотеки необходимо: зафиксировать меню File; выбрать в открывшемся окне директиву Open; в раскрывшемся диалоговом окне найти папку с именем misc (vb\icons\misc) и выбрать нужную пиктограмму. Для этого в предложенном списке нужно отмаркировать хранящий ее файл (имя) щелчком левой клавиши мыши (она появится на экране); выбранная пиктограмма под собственным именем сохраняется обычным путем: File/Save As.../имя файла.
В завершение данного раздела представим внешний вид готового приложения, позволяющего вычислять действительные корни квадратного уравнения для случая, когда все действия выполнены согласно представленному выше описанию. Окно-форма этого приложения будет выглядеть, как показано на рисунке. На этом рисунке показан пример с уже введенными коэффициентами уравнения и вычисленными корнями.
- Форматы компиляции проекта предусмотренные в Visual Basic.
В компиляторе Visual Basic предусмотрено несколько вариантов проверки кода во время компиляции.
· Option Explicit определяет, должны ли переменные быть объявлены явно.
· Option Strict определяет, допустимы ли явные сужающие преобразования и позднее связывание.
· Option Infer разрешает определение типа для (локальных) переменных уровня элемента.
· Option Compare указывает метод, используемый для сравнения строк: двоичное (с учетом регистра) или текстовое (без учета регистра).
Установка этих параметров определяет умолчания для проекта; они могут переопределяться для файлов в проекте с помощью операторов языка Option Explicit, Option Strict, Option Infer и Option Compare.
Кроме того, параметры позволяют включать или отключать предупреждения компилятора для нескольких определенных условий.
- Подготовка приложения Visual Basic к распространению.
В Visual FoxPro мы можем расширить возможности обработки ошибок за счет использования локальной идентификации каких-либо специфических ошибок, возникающих при выполнении тех или иных действий. Например, в форме мы можем обработать ошибочные ситуации, возникающие при выполнении каких-либо методов, без обращения к установке ON ERROR, то есть внутри формы. Для этого можно использовать событие Error.
PROCEDURE Object.Error
LPARAMETERS [nIndex,] nError, cMethod, nLine
Параметр nIndex позволяет сослаться на элемент управления по его номеру в массиве элементов управления объекта-контейнера (формы). Параметр nError содержит номер ошибки Visual FoxPro, cMethod - имя метода, который вызвал ошибку, nLine - номер строки внутри метода или определяемой пользователем функции, которая вызвала ошибку.
В то же время, если при обработке ошибки в процедуре обработки события Error возникнет еще одна ошибка, Visual FoxPro вызовет обработчик, указанный в установке ON ERROR, или, если такой обработчик не указан, приостановит выполнение программы.
Например, мы можем в событие Error формы записать код, который будет выполняться, если невозможно открыть связанные с формой таблицы, так как администратор БД проводит переиндексацию файлов:
LPARAMETERS nError, cMethod, nLine
* Ошибка File in use by another IF nError = 108
= MESSAGEBOX( Данные не доступны! + ; Попробуйте открыть форму позднее. )
ELSE
* В случае другой ошибки вызываем общую процедуру
* обработки ошибок, установленную в главной программе DO proc error
ENDIF
Если вы определяете локальную процедуру обработки ошибок для класса, то при использовании в пользовательском приложении объектов, основанных на этом классе, заданная процедура будет автоматически в нем задействована. Причем эта процедура обработки ошибок будет автоматически наследоваться в подклассах, основанных на этом классе. Следует иметь в виду, что если вы используете в форме какие-либо элементы управления, для которых в событии Error обработка ошибок не предусмотрена, то событие Error для формы вызвано не будет. В этом плане использование установки ON ERROR более универсально, так как она будет обработана не зависимо от места возникновения ошибки.
Проверить реакцию программы обработки ошибок можно, искусственно создав ошибочную ситуацию с помощью команды
ERROR nErrorNumber nErrorNumber, cMessageTextl [cMessageTextl]
которая генерирует ошибку Visual FoxPro. Параметр nErrorNumber определяет номер ошибки, который используется для воспроизведения стандартного сообщения Visual FoxPro. Параметр cMessageTextl задает текст, появляющийся в сообщении об ошибке, который может содержать дополнительную информацию. Например, если вы ссылаетесь на переменную, которой не существует, Visual FoxPro может вывести имя этой переменной в сообщении об ошибке. Параметр cMessageTextl определяет текст, отображаемый в сообщении об ошибке. Когда вместо параметра nErrorNumber в команде задается параметр cMessageTextl, будет сгенерирована ошибка Visual FoxPro с номером 1098 (определяемая пользователем ошибка). Чтобы переместить часть сообщения об ошибке на следующую строку, используйте в cMessageTextl символ возврата каретки CHR(13).
Команда ERROR может использоваться помимо проверки программы обработки ошибок для того, чтобы показать особые сообщения об ошибках. Если действует установка ON ERROR, то при выполнении команды ERROR Visual FoxPro выполняет процедуру обработки ошибок, определяемую в установке ON ERROR. Если происходит ошибка для объекта, будет выполнено событие Error для этого объекта.
Если вы задаете команду ERROR из окна Command и установка ON ERROR не действует, Visual FoxPro показывает сообщение об ошибке. Если команда ERROR выдана в программе и установка ON ERROR также не действует, Visual FoxPro выводит сообщение об ошибке и разрешает вам закончить или приостановить программу, либо игнорировать ошибку.
- Интерфейс пользователя в Windows-приложениях и средства создания его в Visual Basic.
Интерфейс пользователя, он же пользовательский интерфейс (UI — англ. user interface) — разновидность интерфейсов, в котором одна сторона представлена человеком (пользователем), другая — машиной/устройством. Представляет собой совокупность средств и методов, при помощи которых пользователь взаимодействует с различными, чаще всего сложными, машинами, устройствами и аппаратурой.
Весьма часто термин применяется по отношению к компьютерным программам, однако под ним может подразумеваться набор средств, методов и правил взаимодействия любой системы, управляемой человеком.
Интерфейс двунаправленный (интерактивный) — когда устройство, получив команды от пользователя и исполнив их, выдаёт информацию пользователю наличествующими у неё средствами — визуальными, звуковыми, тактильными и т. п. (приняв которую, пользователь выдаёт устройству последующие команды предоставленными в его распоряжение средствами: кнопки, переключатели, регуляторы, сенсоры, голосом, и т. д.).
Поскольку интерфейс есть совокупность, то он состоит из элементов, которые, сами по себе, также могут состоять из элементов (так, экран дисплея может содержать в себе другие окна, которые, в свою очередь, могут содержать панели, кнопки и прочие интерфейсные элементы).
Особое и отдельное внимание в интерфейсе пользователя традиционно уделяется его эффективности и удобству пользования (юзабельности). Понятный, удобный, дружественный — его основные характеристики.
Разработка приложений Windows Presentation Foundation (WPF) аналогична разработке приложений Windows Forms; нужно добавить элементы управления в область конструктора. Однако существуют некоторые различия. В дополнение к конструктору, окну Свойства и Панели элементов, здесь существует окно языка XAML. XAML расшифровывается как Extensible Application Markup Language, или расширяемый прикладной язык разметки. Это язык разметки, который используется для создания интерфейса пользователя. На следующем рисунке изображено расположение XAML-редактора по умолчанию. Редактор XAML
При создании традиционного приложения Windows Forms можно перетащить элемент управления из Панели элементов в Windows Forms, или при необходимости написать код для создания этого элемента. При перетаскивании элемента на форму код создается автоматически. Аналогично, при создании WPF-приложения элемент управления можно создать, написав разметку XAML или перетащив элемент управления на окно WPF.
Разметка XAML организована в элементы, отображаемые в иерархическом формате. Элементы заключены в угловые скобки, обычно присутствует открывающий и закрывающий элемент. Например, простой элемент Button будет выглядеть следующим образом: <Button></Button>. Обычно описание внешнего вида элемента выполняется путем определения его атрибутов, таких как расположение, высота и ширина. Атрибуты элемента напоминают свойства объекта, поскольку они являются описанием физического внешнего вида или состояния. Атрибуты отображаются между открывающими и закрывающими скобками текущего элемента. Они состоят из имени атрибута, знака присваивания (=) и значения атрибута, заключенного в кавычки. Например, высоту для кнопки можно задать, используя следующий код: <Button Height="23"></Button>.
При перетаскивании WPF-элемента управления из Панели элементов на конструктор, Visual Basic, экспресс-выпуск автоматически создает для него XAML-разметку. Например, следующая XAML-разметка формируется при двойном щелчке на элементе управления System.Windows.Controls.Button с целью его добавления на окно WPF.
<Button Height="23" HorizontalAlignment="Left" Margin="10,10,0,0"
Name="Button1" VerticalAlignment="Top" Width="75">Button</Button>
Обратите внимание, что для элемента Button значение атрибута Height равно "23", а значение атрибута HorizontalAlignment установлено в "Left". Существуют также некоторые другие атрибуты, описывающие элемент. Чтобы изменить эти атрибуты, измените их значения непосредственно в разметке XAML. (По умолчанию эти атрибуты отображаются красным шрифтом.) Свойства элемента управления можно также изменить с помощью окна Свойства.
- Создание формы и установка ее свойств.
Создать форму очень просто: для этого достаточно в редакторе Visual Basic щелкнуть правой кнопкой мыши по проекту (то есть документу) в окне Project Explorer и в контекстном меню выбрать Insert -> User Form. Откроется окно дизайнера форм (Form designer), в котором будет представлено пустое серое окно формы (по умолчанию она будет называться UserForm1) и рядом — Toolbox, панель с набором элементов управления.
Если у вас включен показ окна свойств (он включается по клавише <F4>), то в этом окне будут представлены свойства формы. Переход на код для этой формы (по умолчанию открывается событие Click) — по клавише <F7>, возврат обратно в окно дизайнера форм — по <Shift>+<F7>.
Очень удобно, что для форм и элементов управления можно настраивать свойства при помощи графического интерфейса окна свойств — резко уменьшается количество программного кода, которое нужно писать вручную.
Некоторые самые важные свойства форм (кроме ShowModal, все они применимы и для других элементов управления):
· свойство (Name) — определяет имя формы. Пользователь, скорее всего, его никогда не узнает. Имя формы используется только программистом в программном коде для этой формы (и в окнах редактора Visual Basic). После создания формы ее имя, предлагаемое по умолчанию (UserForm) рекомендуется заменить на что-либо более значимое, чтобы было проще ориентироваться в программе (это относится ко всем элементам управления);
· свойство Caption — определяет заголовок формы (по умолчанию совпадает с именем формы). Рекомендуется ввести строку, которая будет напоминать пользователю о назначении формы (например, "Выбор типа отчета");
· свойство Enabled — если установлено в False, пользователь работать с формой не сможет. Используется для временного отключения формы, например, пока пользователь не обеспечит какие-то условия для ее работы;
· свойство ShowModal — если установлено в True (по умолчанию), пользователь не может перейти к другим формам или вернуться в документ, пока не закроет эту форму. В версиях до VBA6 поддерживались только модальные формы.
Большая часть основных свойств относится к внешнему виду, размерам и местонахождению окон.
- Основные операторы управления формами.
Оператор работает следующим образом: если (If) выполняется <условие 1>, то (Then) будет выполнена последовательность операторов <Блок 1>, иначе, если (ElseIf) выполняется <условие 2>, то будет выполнен <Блок 2> и т.д., иначе (Else) - <Блок N> .
Допустима форма записи оператора ветвления в одну строку:
If <условие1> Then <Оператор 1>: <Оператор 2>: . . . : <Оператор N>
В этом случае не указывается конец оператора (End If) как в первом варианте.
Оператор цикла For . . . Next
Синтаксис:
For <i>=<i0> To <iN> [Step <ih>]
<Блок>
Next [<i>]
Значения <i>, <i0>, <iN>, <ih> соответственно означают:
<i> - параметр цикла;
<i0>, <iN> - начальное и конечное значения параметра цикла;
<ih> - шаг изменения параметра цикла.
Обычно перечисленные величины являются целыми числовыми. Если шаг не указан, то он по умолчанию принимается равным 1.
Для досрочного выхода из цикла используется команда Exit For.
- Стандартные элементы управления пользовательского интерфейса.
Пользовательский интерфейс часто понимают только как внешний вид программы. Однако, на деле пользователь воспринимает через него всю программу в целом, а значит, такое понимание является слишком узким.
В действительности ПИ объединяет в себе все элементы и компоненты программы, которые способны оказывать влияние на взаимодействие пользователя с программным обеспечением (ПО), это не только экран, который видит пользователь.
К этим элементам относятся:
· набор задач пользователя, которые он решает при помощи системы;
· используемая системой метафора (например, рабочий стол в MS Windows®);
· элементы управления системой;
· навигация между блоками системы;
· визуальный (и не только) дизайн экранов программы;
· средства отображения информации, отображаемая информация и форматы;
· устройства и технологии ввода данных;
· диалоги, взаимодействие и транзакции между пользователем и компьютером;
· обратная связь с пользователем;
· поддержка принятия решений в конкретной предметной области;
· порядок использования программы и документация на нее.
- Общие свойства для элементов управления.
Свойства элементов управления можно рассматривать как описание характеристик объекта. Это напоминает характеристики человека: вес,рост, цвет волос и глаз. Каждый элемент такого описания можно называть свойством.
Общие характеристики большинства объектов:
Местоположение объекта
Свойства объекта Left и Topопределяют его положение внутри рабочего листа. Свойство Left указывает расстояние от левой границы объекта до левой границы рабочей области листа. Свойство Top задает расстояние от верхней границы объекта до верхней границы рабочей области листа.
Height (высота) и Width (ширина) определяют размер объекта.
Видимость объекта
Свойства Visible и Enabled имеют значение True или False. Эти свойства определяют, может ли пользователь видеть данный объект и взаимодействовать с ним. Если свойство Visible имеет значение False,объект не отображается и пользователь даже не подозревает о его существовании.При установке свойства Visible в True объект отображается. Если свойство Enabled имеет значение False, то объект видим (при условии, что Visible - True), однако пользователь не может с ним взаимодействовать.Обычно, если объект заблокирован, он отображается на экране серым или приглушенным цветом. Благодаря этому пользователь может определить, что объект недоступен.
Наименование объекта
Другим свойством любого объекта в VBA является свойство Name. Это свойство задает уникальный идентификатор, при помощи которого к данному объекту можно обращаться из программы. Каждый элемент управления в пределах одного рабочего листа должен иметь уникальное имя. VBA при создании объекта присваивает ему имя по умолчанию. Например, первому элементу управления Поле со списком по умолчанию присваивается имя ComboBox1 (второму - Combobox2, и т.д.), а кнопке - CommandButton1, CommandButton2 и т.д. Однако обычно объектам дают некоторые значащие имена.
- Понятие фокуса элемента управления.
Объект, обладающий фокусом, способен получать пользовательский ввод, осуществляемый мышью или через клавиатуру. На форме может быть несколько элементов управления, но в каждый момент времени фокус ввода только у одного из них. Элемент управления, обладающий фокусом, всегда находится на активной форме приложения.
У каждого элемента управления есть метод Focus, который передает фокус ввода вызвавшему его элементу управления. Метод Focus возвращает булево значение, свидетельствующее об успешной или неудачной передаче фокуса. Деактивированные или невидимые элементы управления не получают фокус ввода. Определить, способен ли данный элемент управления получить фокус ввода, позволяет его свойство CanFocus: если оно возвращает true, элемент управления может получить фокус, а если false — нет.
Visual Basic .NET
' Проверить, может ли TextBox1 получить фокус,
' и, если да, передать ему фокус.
If TextBox1.CanFocus = True Then
TextBox1.Focus()
End If
Visual C#
// Проверить, может ли TextBox1 получить фокус,
// и, если да, передать ему фокус.
if(textBox1.CanFocus == true)
textBox1.Focus();
События, связанные с передачей фокуса, генерируются в следующем порядке:
Enter
GotFocus
Leave
Validating
Validated
LostFocus
События Enter и Leave генерируются, когда фокус переходит к элементу управления (но еще не получен им) и покидает его. События GotFocus и LostFocus генерируются при получении и потере фокуса элементом управления. В принципе, эти события можно применять для проверки вводимых значений на уровне поля, однако события Validating и Validated лучше подходят для этой цели.
- Средства создания меню Windows-приложений в Visual Basic.
Для создания и модификации меню в Visual Basic используется специальная утилита - редактор меню.
Редактор меню (Menu Editor) - это графический инструмент, управляющий меню в программе. Он позволяет добавлять новые меню, модифицировать и переупорядочивать существующие меню, а также удалять старые меню. Он также позволяет добавлять специальные эффекты в меню, такие как ключи доступа, контрольные значки и быстрые клавиши. После того как вы добавили меню в вашу форму, вы можете воспользоваться процедурами событий для отработки команд меню.
Редактор меню показывает команды построения меню и опции в диалоговом окне (см. рис. 3.18).
Название для меню (имя меню на экране) определяется в текстовом блоке Caption (Надпись), а имя меню в программе – в текстовом блоке Name (Имя). Это две наиболее важные установки для меню. Дополнительные установки, такие как Index, HelpContextID, ShortCut, Checket, необязательны.
Окно списка меню в нижней части диалогового окна выводит пункты меню по мере их создания и показывает общую структуру меню. По мере того как вы строите ваше меню, каждый новый пункт будет добавляться в окно списка меню.
Кнопка Next в диалоговом окне редактора меню используется для создания нового пункта меню. При щелчке на кнопке Next редактор очищает диалоговое окно для следующего пункта меню.
Кнопки «стрелка вниз» и «стрелка вверх» в редакторе меню используются для переключения пунктов меню. Они перемещает команды вниз и вверх по списку.
Кнопки «стрелка вправо» и «стрелка влево» в редакторе меню используются для изменения позиции пункта меню. Позиция пункта в окне списка определяется тем, является ли он заголовком меню (один отступ), заголовком субменю (два отступа) или командой субменю (три отступа). Вы щелкаете по кнопке «стрелка вправо» в диалоговом окне Menu Editor для перемещения пунктов вправо, а щелкнув на кнопке «стрелка влево», перемещаете пункты влево.
С помощью редактора меню можно также вставить новые пункты меню или удалять ненужные.
Кнопка Insert используется для вставки нового пункта меню. Выберите пункт в списке меню, перед которым (или выше которого) вы хотите поместить новый пункт, и затем щелкните на кнопке Insert (Вставить). Редактор меню вставит пустой пункт в список, и вы можете определить его, используя текстовые блоки Caption (Надпись) и Name (Имя).
Для удаления ненужного пункта меню щелкните на этом пункте в списке меню и затем щелкните на кнопке Delete.
В типичном приложении для Windows не все команды меню доступны одновременно. В типичном меню Edit (Правка), например, команда Paste (Вставить) доступна только тогда, когда имеются данные в буфере обмена. Когда команда меню запрещена, она появляется строке меню тусклым шрифтом.
Для того чтобы запретить пункт меню, необходимо очистить контрольный блок Enabled для такого пункта меню.
Одной из приятных особенностей Visual Basic является поддержка быстрых клавиш для меню и команд меню.
Быстрая клавиша для команды - это клавиша на клавиатуре, которую пользователь может нажать для выполнения команды. Когда пользователь открывает меню при работе программы, быстрая клавиша для команды обозначена подчеркнутой буквой в имени команды.
Для добавления быстрой клавиши в пункт меню необходимо поставить перед буквой быстрой клавиши в названии пункта меню амперсенд (&).
Вы определяете быструю - клавишу помещением амперсенда (&) перед буквой.
Редактор меню также позволяет вам назначать «быстрые клавиши» для ваших меню. Быстрые клавиши для меню - это комбинации клавиш, которые пользователь может нажать для активизации команды без использования строки меню. Такая комбинация клавиш задается в выпадающем списке Shortсut.
Следует различать клавиши помеченные & и указанные в окне Shortсut. Первые работают только в активном меню, вторые без активизации меню. Примером «быстрых клавиш» для меню может служить комбинация [Ctrl] [C] и [Ctrl] [V].
После того как пункты меню помещены на строку меню, они становятся объектами в программе. Чтобы заставить объекты меню делать осмысленную работу, вам нужно написать для них процедуры событий. Процедуры событий меню обычно содержат программные утверждения, которые выводят или обрабатывают информацию на формате и модифицируют одно или несколько свойств меню. Если от пользователя нужна дополнительная информация для обработки выбранной команды, процедура события будет чаще всего показывать диалоговое окно с помощью объекта общих диалогов или одного из объектов ввода.
Команда меню обрабатывается процедурой события, связанной с командой.
- Свойства меню и события связанные с меню.
Единственным (из пяти перечисленных) не рассмотренным ранее конструктором MenuItem является конструктор по умолчанию:
new MenuItem()
Используя его, надо устанавливать свойства объекта MenuItem. Свойства, связанные с текстом пункта меню и быстрой клавишей, приведены в таблице:
Свойства MenuItem (выборочно)
Тип | Свойство | Доступ |
string | Text | Чтение/запись |
char | Mnemonic | Чтение |
Shortcut | Shortcut | Чтение/запись |
bool | ShowShortcut | Чтение/запись |
Свойство Mnemonic указывает символ, следующий за амперсандом в свойстве Text (или 0, если мнемонического символа нет). Можно установить свойство ShowShortcut в false и запретить вывод быстрой клавиши справа от текста пункта меню.
Вот большинство свойств MenuItem типа bool для чтения и записи:
Свойства MenuItem (выборочно)
Тип | Свойство | Доступ |
bool | Visible | Чтение/запись |
bool | Enable | Чтение/запись |
bool | DefaultItem | Чтение/запись |
bool | Break | Чтение/запись |
bool | BarBreak | Чтение/запись |
Если установить свойство Visible в false, пункт не будет появляться в меню. Но быстрая клавиша (если она задана) все равно будет вызывать обработчик события Click. Это свойство можно применять для установки быстрых клавиш, не связанных с каким-либо пунктом меню. Кроме того, можно делать какие-то пункты опционально невидимыми для реализации «облегченного» меню, например для новичков.
Возможно, Enabled используют чаще прочих свойств из этих пяти. Его устанавливают в false, чтобы заблокировать неприменимые в данный момент пункты.Если пункт заблокирован, текст выводится бледным шрифтом, указывая на то, что пункт меню недоступен. Для заблокированного пункта нельзя вызвать обработчик события Click ни мышью, ни быстрой клавишей.
Пункты меню File и Edit часто блокируются и разблокируются в зависимости от определенных условий. Обычно пункты Save и Save As заблокированы, когда не загружен ни один документ. Пункты Cut и Сору заблокированы, когда документ загружен, но в нем ничего не выделено. Программа блокирует пункт Paste, если в буфере обмена нет данных, которые могут быть использованы в этой программе. Ниже я объясню, как блокировать пункты меню.
Пункт, свойству DefaultItem которого присвоено значение true, называется пунктом меню по умолчанию. Текст такого пункта выводится шрифтом полужирного начертания. Для главного меню программы свойство DefaultItem имеет смысл устанавливать только для пунктов подменю. При двойном щелчке по пункту, активизирующему подменю, вызывается пункт подменю по умолчанию. Например, если и конструктор FirstMainMenu вставить:
miExit.Defaultltem = true;
двойной щелчок по пункту File приведет к закрытию программы. Чаще всего пункты по умолчанию применяются в контекстных меню.
Установка свойства Break в true приводит к тому, что пункт меню (и все последующие пункты) выводятся в новой колонке. Если свойству BarBreak задать true, эффект будет точно такой же за исключением того, что между колонками появится вертикальная линия. Хотя обычно так не делают, можно устанавливать свойства Break и BarBreak для пунктов верхнего уровня главного меню. Эффект от применения этих свойств одинаковый: пункт меню (и все последующие) выводится в новой строке.
Это еще не все свойства MenuItem. Вскоре я рассмотрю свойства Checked и RadioCheck. Кроме того, класс MenuItem, как и MainMenu и ContextMenu, наследует от класса Menu важнейший класс MenuItems (обратите внимание на множественное число), который я тоже рассмотрю ниже.
В классе MenuItem определено пять событий, важнейшее из которых — Click. Два из них связаны с прорисовкой владельцем, которую я рассмотрю в конце главы. А вот три других события (включая Click):
События MenuItem (выборочно)
Событие | Метод | Делегат | Параметры |
Click | OnClick | EventHandler | EventArgs |
Popup | OnPopup | EventHandler | EventArgs |
Select | OnSelect | EventHandler | EventArgs |
Обработчики события Popup часто устанавливают для пунктов меню верхнего уровня, например File или Edit. Событие Popup вызывается перед тем, как выводится подменю, связанное с этим пунктом. Как я уже отмечал, некоторые пункты меню, например Cut, Copy и Paste, блокируются и разблокируются в зависимости от выделенного фрагмента документа или содержимого буфера обмена. Такую блокировку/разблокировку удобно выполнять в обработчике события Popup.
Событие Select вызывается, когда курсор мыши проходит над пунктом меню или пользователь перемещается между пунктами с помощью клавиш управления курсором. Выбранный пункт обычно выводится другим цветом. Возможно, вы замечали, что некоторые приложения выводят в строке состояния текст, коротко описывающий выделенный пункт меню.
- Создание стандартных диалоговых окон в приложении с помощью объектов общих диалогов.
Общие диалоги позволяют выводить стандартные диалоговые окна в программе. Каждое окно общего диалога может быть выведено из единственного объекта общего диалога. Вы выводите частное (отдельное) окно общих диалогов с помощью метода соответствующего ему объекта общих диалогов. Вы управляете содержимым окна общих диалогов установкой связанных с ними свойств. Когда вы заполняете окно общего диалога в программе, результат возвращается через одно или более свойств в объект общего диалога, который может быть, затем использован в программе для выполнения осмысленной работы.
В следующей таблице перечислены пять окон общих диалогов, обеспеченных объектами общих диалогов, вместе с методами, которые используется для их спецификации.
Диалоговое окно | Цель | Метод |
Open | Получить имена диска, папки и файла для существующего файла. | ShowOpen |
Save As | Получить имена диска, папки и файла для нового файла. | ShowSave |
Позволить пользователю установить опции для печати. | ShowPrinter | |
Font | Позволить пользователю выбрать новый шрифт и стиль. | ShowFont |
Color | Позволить пользователю выбрать цвет из палитры. | ShowColor |
Объект общего диалога имеет стандартный размер и невидим для пользователя при работе программы. Поскольку объект не будет видимым, он может быть помещен в любое место в форме. Помещение объекта в форму позволит вам использовать любое из пяти окон общих диалогов в, вашей программе.
Объект общего диалога невидим для пользователя при работе программы
Если на панели инструментов нет управления общими диалогами, можно добавить его, щелкнув на команде Components (Компоненты) в меню Project (Проект).
Для вывода окна общего диалога в программе нужно обращаться к объекту общих диалогов с помощью соответствующего объектного метода в процедуре события. При необходимости следует установить одно или больше свойств общего диалога перед обращением с использованием программного кода. После того как пользователь произвел выделения в окне общего диалога, происходит обработка выбора с помощью программного кода в процедуре события.
Мы рассмотрели стандартные диалоговые окна, используемые в программах на Visual Basic. Но как быть, если вам нужно добавить к программе диалоговое окно, которое не является одним из пяти типов окон общих диалогов? Это несложно, но потребует некоторых оформительских работ. Программа Visual Basic может использовать не одну форму для приема и отображения информации. Для создания нестандартных диалоговых окон вам потребуется добавить новые формы в вашу программу, добавить объекты ввода и вывода и обработать щелчки мышью диалоговых окон в вашем программном коде.
- Создание диалогового окна с предупреждающим сообщением.
Для вывода различных сообщений используется стандартное диалоговое окно MsgBox. Вид этого окна может быть различным, не оно всегда включает следующие компоненты:
текст сообщения;
заголовок;
пиктограмма;
набор кнопок.
MsgBox можно вызывать как процедуру и как функцию. Процедура выводит на экран заданное пользователем текстовое сообщение. Синтаксис вызова процедуры следующий:
MsgBox текст[, опция] [, заголовок] [, файл справки, контекст].
Функция выводит на экран диалоговое окно, содержащее сообщение, устанавливает режим ожидания нажатия кнопки пользователем, а затем возвращает значение типа Integer, указывающее, какая кнопка была нажата. Синтаксис вызова функции следующий:
переменная = MsgBox(TeKcr[, опция] [, заголовок] [, файл справки, контекст]).
Текст — строковое выражение, отображаемое как сообщение в диалоговом окне (максимальная длина 1024 символа)
Опция — дополнительная информация. Эта опция представляет собой числовое значение, составленное как сумма значений, которые указывают число и тип отображаемых кнопок, тип используемого значка, основную кнопку. Таким образом, опция = Button + Icon + Default. Каждому из параметров соответствует числовое значение, узнать которое можно, вызвав справочную систему Visual Basic. Редактор программного кода позволяет сформировать значение опции, выбирая нужные значения из предлагаемого списка.
Заголовок — строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, то в строку заголовка помещается имя приложения.
Файл справки — строковое выражение, определяющее имя файла справки, содержащего справочные сведения о данном диалоговом окне. Если этот аргумент указан, необходимо также указать аргумент «контекст».
Контекст — числовое выражение, определяющее номер соответствующего раздела справочной системы. Если этот аргумент указан, то необходимо указывать аргумент «файл справки».
Функцию MsgBox с двумя и более аргументами можно использовать только в выражении (присваивать переменной). Наличие запятых, соответствующих отсутствующим аргументам, является обязательным.
- Окно ввода и его использование в разрабатываемом приложении.
Часто в диалоговом окне необходимо не только нажать кнопки выбора действия, но и ввести определенную информацию в программу. Для этого в VB можно использовать окно ввода информации InputBox .
Синтаксис:
InputBox (prompt [,title] [,default] [,xpos] [,ypos] [,helpfile, context])
где:
prompt - текст сообщения в окне
title - текст заголовка диалогового окна
default - значение текстового поля ввода по умолчанию. Если параметр отсутствует, строка остается пустой
xpos - позиция по горизонтали левого верхнего угла диалогового окна относительно левого верхнего угла экрана. По умолчанию соответствует середине экрана.
ypos - позиция по вертикали левого верхнего угла диалогового окна относительно левого верхнего угла экрана. По умолчанию соответствует середине экрана.
helpfile, context - это как выше.
В окне InputBox есть всегда только 2 кнопки управления:OK и Cancel.
- Алфавит и правила лексики языка Visual Basic.
Как и любой другой язык Visual Basic имеет свой алфавит. В него входят:
· прописные и строчные буквы латинского алфавита (A, B, ..., Z, a, b, ..., z);
· прописные и строчные буквы кириллицы (А – Я, а –я);
· цифры от 0 до 9;
· Символ подчеркивания “_”.
Из этих символов конструируются идентификаторы – имена переменных, констант, процедур, функций, меток переходов, а также имена типов. Кроме этих символов в состав алфавита также входят:
· не изображаемые символы (“обобщенные пробельные символы”), используемые для отделения лексем друг от друга (пробел, табуляция, переход на новую строку);
· специальные символы, участвующие в построении конструкций языка:
· составные символы, воспринимаемые как один символ: <= >= <> .
Разделители в составных символах недопустимы.
Программный код Visual Basic представляет собой последовательность лексических единиц (лексем), записанных в соответствии с принятыми синтаксическими правилами, которая реализует некоторую семантическую конструкцию. Для обеспечения читаемости и понятности в тексте программы помещаются комментарии. В Visual Basic определен однострочный комментарий. Комментарий представляет собой последовательность любых символов, размещаемых на одной строке исходного текста программы, которая начинается со знака “ ‘ “(апостроф) или с ключевого слова Rem:
‘ Это комментарий
Rem Это тоже комментарий
Лексема – это единица текста программы, которая имеет определенный смысл для компилятора и которая не может быть разбита в дальнейшем. В Visual Basic различают шесть классов лексем: свободно выбираемые и используемые идентификаторы; служебные (зарезервированные) слова; константы; строки (строковые константы); операции (знаки операций); разделители (знаки пунктуации).
Посредством идентификаторов обозначают имена переменных, констант, процедур и функций. Идентификатор представляет собой последовательность букв, цифр и символов подчеркивания. Выбирая идентификатор для имени, следует учитывать два обстоятельства. Во-первых, имя должно быть содержательным, т.е. отражать назначение переменной, что делает программу более читабельной. Во-вторых, Visual Basic накладывает на имена следующие ограничения:
· имя должно начинаться с буквы;
· имя не должно содержать точки, пробела, разделительных символов, знаков операций, а также специальных символов;
· имя должно быть уникальным, оно не должно совпадать с зарезервированными словами Visual Basic или с другими именами;
· длина имени может включать до 255 символов, но следует иметь в виду, что Visual Basic учитывает только первые 31 символов от начала имени.
Примеры правильных имен:
strMyName, i, intNumOne, StrInputValue, intNumber2, strФамилия, Номер, Адрес _Организации и т.п.
Примеры неправильных имен:
2Week - имя начинается с цифры;
_Номер – имя начинается со знака подчеркивания;
Second . Week - в имени есть точка;
Dim, As, Private - эти слова являются зарезервированными;
Number One - в имени есть пробел.
В Visual Basic, как и в других языках программирования, есть зарезервированные (ключевые) слова, которые нельзя выбирать в качестве идентификаторов имен. Перечень зарезервированных слов приведен в таблице.
All | Else | Is | ON | SELECT |
As | Empty | JOIN | On | Set |
ASC | Error | Len | Option | Static |
Binary | False | Let | Optional | Step |
BY | For | Lock | ParamArray | String |
ByRef | Friend | Me | TABLE | |
ByVal | Get | Mid | Private | Then |
CREATE | IN | New | Property | Time |
Date | INDEX | Next | Public | To |
DESC | Input | Nothing | Resume | WITH |
DROP | INTO | Null | Seek | WithEvents |
Имена могут быть простыми или составными. Имена следует выбирать такими, чтобы они несли в себе больше информации о назначении переменной, процедуры или функции.
Примеры простых и составных имен переменных:
N, I, Number, Номер - простые имена переменных;
ФамилияСтудента, - составное имя переменной, оно несет в себе информацию о фамилии студента.
Существуют соглашения по стилю имен, которых желательно придерживаться:
· идентификатор должен понятным образом отражать назначение переменной, это правило способствует пониманию программы;
· лучше использовать строчные имена, в случае составных названий нужно отделять друг от друга составляющие их слова подчеркиванием или начинать новое слово с прописной буквы;
· имена из прописных букв используются для определения констант.
- Понятие переменной языка Visual Basic и правила их наименования.
Переменные используются в любом языке программирования. Чтобы использовать переменную в программе, ее необходимо объявить. Хотя все данные на компьютере, в сущности, имеют одинаковый вид (наборы нулей и единиц), переменные бывают разных видов, называемых в их случае типами. Если снова провести аналогию с полочками, то они могут быть разными по высоте, из-за чего некоторые предметы могут умещаться только на определенных полочках. Например, длинные пакеты с молоком на нижней полке, а колбаска на верхней. Это очень важный момент, который нужно запомнить, так как типы играют важную роль в программировании.
Чтобы использовать переменные, их нужно объявлять. Это означает, что им необходимо назначать имя и указать тип. После объявления их можно начинать использовать в качестве единиц хранения для данных. Переменные объявляются с помощью оператора, имеющим следующий синтаксис:
type varName;
Вместо type вы указываете тип переменной, а в varName - название переменной. Тип переменной определяет ее поведение (об этом чуть позже), а имя переменной позволит вам не запутаться среди придуманных вами переменных. Предположим, нам поручили подсчитать число всех попугаев и котов, живущих в Москве:
int parrots; // мы объявили переменную parrots типа int
int cats; // мы объявили переменную cats тоже типа int
Используя понятные имена, мы не ошибемся в выборе переменных после подсчета всех попугаев и котов.
При попытке использовать переменную, которая не была объявлена, код не будет компилироваться, о чем вас предупредит компилятор. Поэтому пугаться не нужно, а вернитесь в редактор кода и объявите переменную.
Правила объявления переменных
Следует запомнить несколько несложных правил.
Переменная должна быть объявлена до ее использования
Переменную можно объявлять только внутри класса, как часть определения функции или внутри тела функции. (Переменные, объявленные внутри класса, называются полями. Переменные, используемые для определения функции, называются параметрами. Переменные, объявленные внутри функции, называются локальными переменными)
Переменные должны начинаться с буквы или символа подчеркивания
Имена переменных могут содержать в себе буквы цифры и значки подчеркивания
Нельзя использовать в качестве имен переменных ключевые слова
Вот несколько примеров
// Правильные переменные
_cat = "кот";
Kitten3 = "Котенку 3 года";
Cat_Name = "Кота зовут Рыжик";
// Неправильные переменные
3Kitten = "кошка"; //начинается с цифры
Cat,Me = "Meow"; //нельзя использовать запятую
Можно объявлять более одной переменной в одном операторе присваивания. В этом случае все переменные отделяются запятыми и принадлежат к одному типу
int Cats, Kittens, Dogs;
Кроме того, можно сразу инициализировать объявляемую переменную
int Cats = 7;
Можно также инициализировать переменную динамически, используя любое действительное выражение. Например, мы хотим вычислить периметр квадрата:
int widthSquare = 5; // ширина квадрата
// динамически инициализируем переменную perimeter
int perimeter = widthSqare * 4;
Еще раз напомню, что язык С# чувствителен регистру (я действительно это говорил?), поэтому будьте аккуратны при создании переменных. Если вы ошибетесь в одной буковке, то программа может работать, но выдавать совсем неправильные результаты. Например, все перечисленные ниже имена переменных будут являться совершенно разными именами:
· cat
· Cat
· CAT
· cAt
- Базовые типы данных языка Visual Basic.
· Boolean - логический тип. Для хранения переменной отводятся 2 байта. Переменная может принимать только 2 значения True(Истина) и False(Ложь).
· Byte - числовой тип. Для хранения переменной отводиться 1 байт. Значения переменной может находиться в промежутке от 0 до 255. Знак не используется.
· Char - символьный тип. Для хранения переменной отводиться 2 байта. В качестве значения переменной обычно применяются символы, так как используются теперь 2 байта. Разработчики могут применять символы Unicode.
· Date - предназначен для хранения дат. Переменная занимает 8 байт. Возможные значения находятся в промежутке от 1 января 100 года нашей эры до 31 декабря 9999 года.
· Decimal - самый мощный числовой тип. Для хранения переменной подобного типа отводиться 16 байт. Отрицательная и положительная границы промежутка, в котором располагаются возможные значения этой переменной, одинаковы по модулю и равны +/- 79 228 162 514 264 337 593 543 950 335, если использовать целые числа. Если же необходимо хранить дробные величины, то границы возможных значений будут смещены на несколько порядков в зависимости от того, сколько знаков после запятой использует разработчик. Подобный тип может использоваться только для хранения десятичных дробей. Разработчик может использовать до 28 знаков после запятой.
· Double - это числовой тип. Применятся для хранения чисел в экспоненциальной форме. Для хранения переменной отводится 8 байт. Отрицательные значения находятся в промежутке от - 1,79769313486231E+308 до -4,94065645841247E-324. Положительные значения входят в промежуток от 4,94065645841247E-324 до 1,79769313486231E+308.
· Integer - предназначен для обработки целочисленных значений. Переменная подобного типа занимает 4 байта. Возможные значения находятся в промежутке от - 2 147 483 648 до 2 147 483 647.
· Long - предназначен для целочисленных значений. Для хранения переменной отводится байт. Возможные значения переменной подобного типа находятся в промежутке от - 9 223 372 036 854 775 808 до 9 223 372 036 854 775 807.
· Object - по сути, переменная подобного типа является всего лишь ссылкой на некий конкретный экземпляр какого либо объекта. Для хранения переменной отводятся 4 байта.
· Short - облегченный целочисленный тип. Для хранения переменной отводятся 2 байта. Возможные значения переменной данного типа находятся в промежутке от - 32 768 до 32 767.
· Single - предназначен для хранения чисел в экспоненциальной форме. Для хранения переменной отводятся 4 байта. Отрицательные возможные значения переменной такого типа расположены в промежутке от - 3,402823E+38 до -1,401298E-45. Положительные значения укладываются в промежуток от 1,401298E-45 до 3,402823E+38.
· String - строковый тип. Предназначен для хранения строк различной длинны. Возможная длинна строки, может, доходит до 2-х миллионов символов кодировки Unicode. Объем памяти для хранения переменной выделяется в зависимости от длинны строки.
- Различие между переменной и константой в языке Visual Basic.
Переменная— это именованная область памяти, предназначенная для хранения данных, изменяющихся в процессе выполнения программы. Для доступа к содержимому этой области памяти достаточно знать имя переменной.
Имя переменной (идентификатор) — это строка символов, которая отличает эту переменную от других объектов программы (идентифицирует переменную в программе).
При задании имен переменным нужно соблюдать следующие правила:
первым символом имени должна быть буква. Остальные символы — буквы и цифры (прописные и строчные буквы различаются). Можно использовать символ «_»;
в имени нельзя использовать символ «.»;
число символов в имени не должно превышать 255;
имя переменной не должно совпадать с зарезервированными (служебными) словами языка.
В Visual Basic существуют следующие возможности . объявления типа переменной.
Переменная может вообще не объявляться. В этом случае будет установлен по умолчанию тип Variant. Однако это может привести к медленной неэффективной работе программы и нерациональному использованию памяти.
Переменная может объявляться явно с помощью оператора определения переменной:
Dim имяПеременной [ As типПеременной],
например: Dim d as Long.
Чтобы переменные всегда объявлялись явно, нужно использовать опцию Option Explicit в секции (General) (Declarations) существующих форм, модулей или классов. После установки этой опции Visual Basic требует явного описания переменных и при использовании в коде необъявленной переменной выдаст сообщение об ошибке.