Учебник по Visual Basic 5.0

       

использования элемента управления коммуникациями.



Пример использования элемента управления коммуникациями.

    В качестве простейшего примера использования элемента управления коммуникациями приведем программу принимающую информацию через один из коммуникационных портов (в данном примере используется порт СОМ I):

Private Sub cmdGetData Click ()


    Dim Foo As Integer, TheData As String MsCornml. CommPort = 1 ' COM1


    '28800 baud, no parity, 8 data, and 1 stop bit.


    'the Communications control can't go faster than 28800 baud


    MsCornml.Settings = "28800,N,8,1"


    MsCornml.InputLen = 0 ' Clear the comm buffer


    MsCornml.PortOpen = True


    'Send the usual wake up signal to the modem.


    MsCornml.Output = "AT" + Chr$(13)


    Do


            Foo = DoEvents ()


            MsCornml.InputLen = 0 'clear buffer


            TheData = TheData + ComiTil .Input "TheData will contain the data


    Loop Until Commi.CommEvent = comEvEOF


    MsCornml. PortOpen = False 'close the port


End Sub





обмен значениями



Пример: обмен значениями


    Одной из распространенных задач является обмен значениями между двумя переменными. Удивительно, но разработчики Visual Basic убрали из языка оператор Swap, известный в QuickBASIC. Поэтому код придется писать самим. Предположим, что есть две переменные х и у, и попробуем поменять местами их значения:

х = у


у = х

    Такой вариант работать не будет, но важно разобраться из-за чего. Первый оператор присваивает переменной х значение переменной у, но тем самымуничтожает старое значение х.. В результате второй оператор присваивает переменной у ее же первоначальное значение. Решение состоит в использовании временной переменной:

temp = х   'Копирует старое значение х в temp


х = у         'Теперь х содержит старое значение у


у = temp   'Теперь у содержит оригинальное значение х


 



работа с панелью инструментов в процессе выполнения



Пример: работа с панелью инструментов в процессе выполнения

Управляющий элемент Toolbar содержит коллекцию из кнопок. Во время выполнения следует использовать методы Add и Remove для добавления и удаления кнопок из панели. Естественно, каждой кнопке соответствует свое событие Button Click, позволяющее производить необходимые действия при нажатии пользователем на кнопку.


    Обычно для использования метода Add необходимо объявить переменную типа Button. Синтаксис метола Add может быть записан следующим образом:

            Set ButtonObject = NameOfToolBar.Button.Add ([index], [key], [caption], [style], [image])

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


    Параметр index указывает место расположения кнопки в коллекции. Если этот параметр отсутствует, кнопка автоматически помещается в конец списка. Параметр Key (так же, как и в любой коллекции) представляет собой еще один способ создать ссылку на кнопку. Параметр Caption служит для задания выводимого текста для объекта Button. Свойство style задает способ вывода кнопки. Возможные значения этого свойства представлены в следующей таблице.


 


 


 
 



PrintQuality.



PrintQuality.

Используется для установки качества печати, если это поддерживает драйвер принтера. Синтаксис:

Printer. PrintQuality = значение где можно использовать четьгое встпоенные константы, пепечисленные в таблице ниже


 


 


 
 



Project File Text Box.



Project File Text Box.

Файлом проекта является имя файла с расширением .vbp. Можно щелкнуть на кнопке Browse, для того чтобы открыть стандартную диалоговую панель, которая позволяет осуществить поиск файла .vbp или .ctl (для элемента управления).



Работа с готовым проектом Visual Basic



Работа с готовым проектом Visual Basic

    Следующим шагом в освоении Visual Basic станет запуск одного из примеров программ, поставляемых вмете с ним. (Все версии Visual Basic, за исключением Control Creation edition, поставляются с сотнями примеров программ.



Работа с Visual Basic



Работа с Visual Basic

    В данном разделе будет описано создание двух приложений. Первое мы создадим буквально вручную, оно представляет собой обычное окно с кнопками Maximize, Minimize и Exit. Для второго приложения будет использован Application Wizard (мастер приложений), поставляемый с Visual Basic, применяемый при построении интерфейсов к программам. Такой тип приложений носит название MDI (multiple document interface). Как и в обычной среде разработки, поставляемой с Visual Basic, данные приложения позволяют добавлять окна внутри родительского окна.



Rebuild the Protect.



Rebuild the Protect.

Файлы, дистрибутивы которых создаются, являются автономно выполняемыми. Если необходимо создать, отдельный продукт заново, надо пометить эту опцию. Мастер будет автоматически создавать новый .ехе-файл, или .осх —если .ехе не найден.



Типичный список программ



Простое приложение

    Как отмечалось ранее, при запуске Visual Basic его первый экран будет выглядеть так, как на Рисунок 1-2. В диалоговой панели New Project, показанной на Рисунок 1 -2, следует дважды щелкнуть на значку Standard EXE (она первая на рисунке).


    Программа тут же перейдет в режим, показанный на Рисунок 1 -3. Отметим, что пустое окно носит имя Projecti-Form1 (Form). Внутри него находится другое окно с названием Form1, в котором видна сетка из точек. Это и есть форма, которую можно модифицировать. Сетка используется для выравнивания элементов управления на экране, таких, как командные кнопки и списки.


    При запуске проекта (или его компиляции с целью независимого запуска от среды разработки Visual Basic), формы, наподобие Form1, становятся окнами, которые и видит пользователь. Вверху пустой формы размещается строка заголовка (title bar) с заголовком формы (caption). Заголовком в Visual Basic называется текст в строке заголовка конкретного окна. В настоящий момент форма озаглавлена по умолчанию как Form1; такой заголовок Visual Basic присваивает форме в начале работы над новым проектом. Слева от окна Form1 на Рисунок 1-3 размещается окно панели инструментов (toolbox), в котором видны элементы управления, доступные к размещению на форме. (Как было отмечено до этого, элемент управления представляет собой термин, используемый в Visual Basic для объектов, размещаемых на форме при ее создании.) Справа от окна формы размещаются еще три окна. Верхнее носит название Project Explorer. Непосредственно под ним находится окно Properties, где устанавливаются различные свойства формы и элементов управления на ней.  Справа внизу размещается окно Form Layout, рассказать о функциях которого можно за несколько секунд.



Экран с меню построителя



Последовательность действий при разработке приложений Visual Basic (краткий обзор)

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



Диалоговое окно Make Project.



Рисунок 23-1.


Диалоговое окно Make Project. .

    Только версии Professional и Enterprise имеют возможность создавать действительно исполняемые файлы. Этого можно достичь выбором пунктов File|Make Exe или File|Make осх и последующим нажатием кнопки Options в диалоговой панели Make Project, показанной на Рисунок 23-1.

Cтраница Make. То



Compile to P-Code

. Позволяет скомпилировать проект в р-код. Хотя он выполняется медленнее, но необходимое дисковое пространство может быть значительно меньшим по сравнению с кодом, скомпилированным в машинный код микропроцессора.



Сохраняем значения


h2>/h2>


Рисунок 5-4


. Области видимости переменных.



Совместное использование значений процедурами.



Совместное использование значений процедурами.

Иногда требуется разделять значения переменных между процедурами обработки событий. Например, если приложение выполняет вычисления, всегда используя одинаковую процентную ставку, ее значение должно быть доступно всем процедурам формы. Такие переменные называют переменными уровня формы или уровня модуля (form-level, module-level). На Рисунок 5-4 показаны области видимости для переменных в проекте Visual Basic с одной формой. Как и оператор Option Explicit, объявление переменных уровня формы происходит в разделе Declarations. Например, если открыто окно Code, можно выбрать (Declarations) для объекта (General) и ввести:

Dim InterestRate As Currency

 Значение переменной InterestRate будет доступно всем процедурам, связанным с данной формой.

 Все изменения этой переменной, внесенные в любую из процедур, будут сохраняться.

    Очевидно, что последний пункт призывает к осторожному изменению значений переменных уровня формы. Любая информация, передаваемая между процедурами обработки событий, является благодатной почвой для программных ошибок. Более того, зачастую такие ошибки тяжело исправлять.


    В принципе, для локальных переменных и переменных уровня формы можно использовать одинаковые имена, хотя это не совсем хорошая идея. Любой оператор Dim на уровне процедуры имеет преимущество перед аналогичным на уровне формы, поэтому такие переменные будут локальными. Но при этом теряется возможность использования информации, содержащейся в переменных уровня формы. То есть дублирование имен приводит к недоступности для процедуры значения переменной уровня формы. Visual Basic, в свою очередь, не сообщает об этом программисту. Вот еще одна причина, по которой рекомендуется явно объявлять локальные переменные при помощи оператора Dim.

Совет:


Совет:

Некоторые программисты любят использовать префикс f (например, flnterest) для переменных уровня формы, а букву g - при обозначении глобальных переменных (например, ginterest). Это позволяет распознавать область видимости для конкретной переменной буквально с одного взгляда.



Создание дистрибутива для проекта калькулятора



Создание дистрибутива для проекта калькулятора



Создание дистрибутива элемента управления



Создание дистрибутива элемента управления

    Создание дистрибутива элемента управления в мастере установки для использования на отдельной системе по существу аналогично созданию дистрибутива приложения. Так что в этом разделе сосредоточимся на использовании мастера для создания файла установки Internet Download Setup таким образом, чтобы элемент управления мог быть использован в Internet Explorer.


      Запустим мастер. Необходимо заметить, что мы хотим создать дистрибутив элемента управления таким образом, чтобы он мог быть загружен из Internet или в интрасеть. После принятия решения сделать Interenet-установку щелкнем по кнопке Next и перейдем к следующему экрану.


    Щелкнем по кнопке Next. Появится следующий экран. Microsoft предоставляет опцию, которая позволяет пользователю загружать только определенные стандартные файлы, как, например, огромный файл виртуальной машины Visual Basic, необходимый для элемента управления, прямо с сайта Microsoft при первом использовании элемента управления в Internet Explorer. Это действительно очень полезная опция, так как если пользователи уже имеют какие-либо из необходимых файлов на своей машине, то Internet Explorer достаточно разумен для того, чтобы не загружать их заново.  


    В основном это все. Оставшиеся экраны мастера подобны тем, что мы уже обсуждали.


 



Создание дистрибутива приложения:мастер установки.



Создание дистрибутива приложения:мастер установки.



Создание и компиляция файла справки



Создание и компиляция файла справки

Файл проекта справочной системы содержит всю информацию, необходимую для корректной работы компилятора. Кроме этого, он содержит таблицу (карчу) соответствий для установления связей между контекстной строкой и контекстным номером ID, которая будет использоваться в проекте (еще раз напомним, что должно существовать строгое соответствие между информацией, содержащейся в файле проекта справочной системы, и кодом приложения).


    Файл проекта справочной системы представляет собой обычный текст в формате ASCII. В качестве расширения для всех подобных файлов проекта используется.hpj. Файл проекта справочной системы содержит список всех файлов с тематическими разделами, а также может содержать растровое изображение или таблицу соответствия между контекстными строками и контекстными номерами ID. Можно также назначить две контекстные строки одному и тому же тематическому разделу, модифицировав файл проекта.


    Для установления соответствий между контекстным номером ID и определенным тематическим разделом необходимо указать имя раздела после ключевого слова [MAP], после чего через пробел (т.е. после нажатия клавиши SPACE или TAB) следует указать контекстный номер справки. Например, секция [МАР]-файла проекта справочной системы может содержать следующую информацию:

    [MAP]


    FILE_MENU 5 ;5 is the context number


                    ;Comments follow semicolons


    EDIT_MENU 10 ;10 is context number


    VIEW_MENU 15 ;15 is context number

    Теперь, если вызвать инструмент создания справочной системы со значением HelpContextID, установленным в 5, получим экран помощи для тематического раздела FILE_MENU; установив HelpContextID в 10 и вызвав инструмент создания справочной системы, получим экран EDIT MENU и т.д.


    После создания файла проекта справочной системы остается только вызвать компилятор системы помощи. (Заметим, что директорий, в котором находится компилятор, должен содержаться в системной переменной PATH, в противном случае необходимо будет указать полный путь.) Например, в системе Windws 95 можно использовать для этого диалоговую панель Run, доступную из меню Start, в которой нужно написать нечто подобное:

    C:\VB\HC\HC Named fHelpPi-ojectFile

если компилятор находится в назначенном по умолчанию директории (для версии Professional). Или же можно написать:

НС NameOfHelpProjectFile

в IUM случае, когда директорий, содержащий компилятор, содержится в переменной PATH.


    Компилятор справочной системы имеет большое количество возможностей, не рассматриваемых здесь. Например, можно компилировать только определенные части файла или управлять размерами и видом его окон. Кроме этого, можно использовать всю мощь макроопределений, написанных фирмой Microsoft, для расширения возможностей компилятора справочной системы. Эта и другая информация содержатся в Visual Basic Books Online. Также можно почерпнуть большое количество информации, внимательно изучив содержание файла Iconwrks.rtf.



Создание исполняемого файла



Создание исполняемого файла

Тот, кто перед покупкой своей копии Visual Basic читал какую либо рекламу о нем, возможно, слышал, что Visual Basic 5-первая версия Visual Basic, которая позволяет создавать действительно исполняемые файлы. Кто-то возможно, удивится, что же это значит. Прежде всего, предыдущие версии Visual Basic всегда транслировали код Visual Basic в некий р-код. Это промежуточный язык, который отличается от машинного кода микропроцессора Intel. А затем полученный р-код построчно интерпретировался в машинный код Intel. Но это не эффективно. Например, для циклов явно легче выполнить перобразование в машинный код один раз и не преобразовывать код каждый раз при выполнении тела цикла.



Создание контекстно-зависимой справочной системы.



Создание контекстно-зависимой справочной системы.

Свойство, ссылающееся на файл справочной системы, является базовым свойством любого объекта типа Арр (application). Для того чтобы связать это свойство с соответствующим слайдом, необходимо выполнить следующее:

Выбрать пункт Tools\0ptions. а затем щелкнуть мышкой по странице Project.

Ввести имя скомпилированного файла справочной системы в текстовой панели HelpFile. (Если файл находится в отличном от базового для приложения директории, то следует указать полный путь.)

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


 

Ключевым моментом для программиста при создании контекстно-зависимой справочной системы является установка соответствующих значений HelpContextJD для рабочей формы или элементов управления. Все управляющие элементы, за исключением теневых линий, изображений и элементов управления метками, имеют в своем составе свойство HelpContextID.

Ключевым моментом для создателя справочной системы является проверка того. чтобы значения HelpContextID соответствовали различным элементам, для которых необходима контекстно-зависимая подсказка.

    Например, если программист установит значение 5 для свойства HelpContextID меню File, то создатель справочной системы должен об этом знать. После этого он (или она) должен сообщить компилятору, как следует соотносить значение свойства HelpContextID с соответствующим тематическим разделом (более подробно эта операция описана в следующем разделе). В нашем случае тематический раздел FILE MENU должен иметь контекстный номер 5.

Совет:


Совет:

Если требуется назначить элементу управления изображением контекстно-зависимую подсказку (это невозможно сделать обычным способом по причине отсутствия свойства HelpContextID у такого элемента), следует заменить подобный элемент панелью с изображением.



Создание тематических разделов справочной системы



Создание тематических разделов справочной системы

Базовой операцией при создании справочной системы является определение набора тематических разделов помощи. В идеале это должен быть короткий список (не более одного - двух экранов) тем помощи, объединенных общим принципом классификации. Обычно тематические разделы организуются в виде иерархической системы. Это позволяет пользователю легко перемещаться от общих тем к более специфическим. Тем не менее каждый раздел должен содержать достаточное количество ссылок для перехода к другим темам без необходимости подниматься на самый верхний уровень иерархии.


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


 

Всплывающее окно может содержать описания используемых терминов. Время от времени такое окно может использоваться для вывода дополнительной информации. Те места справочной системы, для которых доступно всплывающее окно, изображаются как текст, подчеркнутый прерывистой линией.

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


 



Справочная система



Справочная система


    Любое профессиональное приложение для операционной системы Windows должно содержать справочную систему стандартного вида, позволяющую пользователю получить дополнительную информацию по любому вопросу. Если внешний вид и принципы работы справочной системы будут отличаться от принятых в среде Windows, то это означает, что пользователь будет вынужден затратить дополнительное время на обучение. Обе версии Visual Basic (Professional и Enterprise) поставляются с компилятором файловой системы Windows, который позволяет легко встраивать справочную систему в приложения.

Примечание:


Примечание:

Полное рассмотрение всех средств справочной системы Windows заняло бы слишком мною места, поэтому в данной главе рассказывается в основном только о взаимодействии справочной системы Windows с приложением. Справочное руководство Visual Basic Books Online для обоих версий Professional и Enterprise включает полную информацию, необходимую для построения справочной системы.

    Грубо говоря, метод использования компилятора справочной системы достаточно прост: создается текстовый файл, содержащий соответствующие коды формата, которые компилятор преобразует во внутренние ссылки, выпадающие окна и т.д. Текстовый файл должен создаваться в текстовом редакторе, поддерживающем формат RTF (rich text format) фирмы Microsoft. Большинство современных текстовых редакторов поддерживают этот формат.

Совет:


Совет:

Некоторые инструменты независимых поставщиков существенно облегчают процесс создания справочной системы. Один из них, который постоянно используется автором в его работе, это "RoboHelp" фирмы BlueSky Software. Если нужно создать сложную справочную систему, то пакет RoboHelp окажет в этом неоценимую помощь. Для создания более простых справочных систем можно воспользоваться продуктами, распространяемыми по принципу shareware. Список подобных систем приведен в WINDSK forum системы CompuServe. Инструменты WHAT (Windows Help Authoring Templates) и WHPE (Windows Help Project Editor), которые можно найти на компакт-диске Microsoft Software Developers, также отличается простотой в использовании.

    Система помощи Windows также включает в себя меню с дополнительными средствами. (При работе с Windows 95 может понадобиться создать многоуровневую систему меню.) Подобное меню содержит такие пункты, как Search, который выводит список ключевых слов и позволяет пользователю перемещаться по списку, вводя первые буквы интересующего его слова. Далее, при помощи ключевого слова можно сразу перейти к нужному разделу. Также различные части приложения (как и в Visual Basic) могут содержать контекстно-зависимую подсказку. Этот способ получения подсказки доступен при нажатии клавиши F 1 (или при помощи кнопки WhatsThisHelp в среде Windows 95) и выдает информацию о том инструменте среды, который задействован в настоящий момент.


 



Справочная система What's This



Справочная система What's This

Операционная система Windows 95 имеет новый тип контекстно-зависимой подсказки, который вызывается щелчком мышки над изображением небольшого вопросительного знака, расположенного на заголовке экранной формы. При этом указатель мыши изменяет свой внешний вид на вопросительный знак, после чего пользователь может щелкнуть мышкой по любому объекту. В результате этих действий на экран выводится контекстно-зависимая информация о выбранном объекте. Точно так же, как и в других вариантах контекстно-зависимой подсказки, для корректной работы подсказки "What's This" надо установить соответствие между приложением и секцией MAP в файле проекта справочной системы.

Примечание:


Примечание:

Для использования этого варианта контекстно-зависимой подсказки необходимо установить значение True для свойства WhatsThisHelp. Кроме этого, надо установить для свойства WhatsThisHelpID значение соответствующего контекстного номера ID.


 


 

    Для встраивания контекстно-зависимой подсказки What's This в приложение доступны три способа. Но в любом случае свойство WhatsThisHelp должно быть установлено в True.

Создать кнопку What's This на заголовке вашей формы, установив свойство WhatsThisButton в True. Теперь, если пользователь нажмет эту кнопку, указатель мышки изменит свой внешний вид на стрелку с вопросительным знаком, а после выбора объекта система Windows автоматически вызовет тематический раздел, чей контекстный номер ID соответствует свойству WhatsThisHelpID выбранного элемента.

Вызвать метод WhatsThisMode. Синтаксис метода следующий:

                    FormObject.ShowWhatThis

Вызвать метод ShowWhatsThis управляющего элемента. Точно так же пользователю будет выведен экран помощи, чей контекстный номер ID соответствует значению свойства WhatsThisHelpID управляющего элемента.

    И, наконец, можно вызывать систему помощи напрямую из приложения при помощи метода WhatsThisMode. Эффект вызова при этом такой же, как и в случае, когда пользователь щелкает по кнопке What's This на полосе заголовка. (Подобный метод вызова может использоваться для запуска приложения в режиме обучения, когда пользователь будет видеть описание каждого выбираемого им пункта меню.)



String



String


    Строковые переменные хранят символы. Один из способов обозначить данный тип переменной состоит в добавлении символа "$" к концу ее имени, например: AStringVariable$. Теоретически такая переменная может содержать до 2 миллиардов символов. В любом случае на конкретном компьютере это число будет гораздо меньше из-за ограниченных объемов оперативной памяти, ресурсов Windows или числа символов, используемых в форме.


    Одно из наиболее основных применений строковых переменных состоит в выборе информации из полей ввода. Например, если есть поле ввода с именем Textl, то тогда оператор ContentOfTextlS = Textl.Text присваивает строку из поля ввода переменной в левой части данного оператора.



Строки.



Строки.


    Поскольку информация в полях ввода Visual Basic всегда хранится в текстовом формате, работа со строками представляется здесь более важной, чем в обычном BASIC. Для того чтобы сложить две строки вместе (т. н. конкатенация), можно использовать операторы & или +. Например:

Titles = "Queen "


Name$ = "Elizabeth "


Numeral$ = "I"


Title$ & Name$ &. Numeral$ = "Queen Elizabeth I"


Title$ 6 Name$ & Numeral$ & Numeral$ = "Queen Elizabeth II"

    Оператор & объединяет строки в том порядке, как они представлены. Поэтому, в отличие от суммирования чисел, для слияния строк важен их порядок следования. С помощью & можно складывать сколько угодно строковых значении. Ниже приведен пример с использованием уже объявленных выше переменных:

CurrentQueen$ = Title$ & Name$ & Numeral$ & Numeral$

Совет:


Совет:

Основным отличием оператора & от + является возможность использования & для объединения строковых данных с другими их типами. Например, выражение С=А% & В$ объединяет целочисленную и строковую переменные, изменяя тип их значений на variant.



Строки фиксированной длины



Строки фиксированной длины

 

    Строки фиксированной длины представляют собой специальный тип строки, в дальнейшем часто используемый. Подобные переменные создаются при помощи оператора Dim. Вот пример:

Dim ShortString As String * 10


Dim strShort As String * 10


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 



Не подходит, так как начинается



Таблица 1


Base1_Ball Подходит
1Base_Ball Не подходит, так как начинается не с буквы.
Base.1 Не подходит, так как используется точка.
Base&1 Не подходит, так как используется амперсанд.
ThisIsLongButOK Не подходит, так как длина всего 15 символов.

 
      

 

    Все символы в имени переменной являются значимыми, но их регистр не имеет значения. BASE обозначает ту же переменную, что и base. С другой стороны, Base отличается от Base 1, и оба они - от Base_ I. Однако Visual Basic всегда изменяет первую букву переменной на заглавную при ее определении.

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

    В качестве имен новых переменных нельзя использовать зарезервированные слова; например. Print не подходит для этого. Однако такие слова могут присутствовать как часть имени переменной, например, Printlt. Visual Basic будет выдавать сообщение об ошибке, если программист попытается использовать зарезервированное слово в качестве названия своей переменной, причем обычно сразу после нажатия клавиши ENTER.

    Одно из наиболее общих соглашений об именах переменных состоит в использовании заглавных букв в начале каждого из слов, составляющих данное имя (например, Printlt, а не Printit). Это соглашение носит название "имена переменных со смешанным регистром". Оно используется и в данной книге, поскольку большинство людей находят такие имена переменных более читабельными. Некоторые еще используют и символ подчеркивания (например, Print_It), но здесь данный стиль не используется, поскольку отнимает много места и иногда вызывает проблемы при отладке.

 


Типы переменных



Типы переменных

Visual Basic работает с 14 стандартными типами переменных. Кроме того, программист может определить собственный тип данных. В данном разделе описаны те из них, которые в основном применяются при работе с данными.



Управляющие элементы Microsoft Windows Common



Управляющие элементы Microsoft Windows Common Controls 5.0

Можно одним действием добавить к панели инструментов восемь управляющих элементов. Для этого необходимо выбрать из диалоговой панели Project|Components соответствующую строку. В этом разделе мы вкратце опишем эти управляющие элементы.


Управляющий элемент Image List



Управляющий элемент Image List

    Использование элемента Image List -это еще один способ размещения группы изображений в одном месте. Эти изображения могут использоваться в любой части приложения (например, в качестве изображений для панели инструментов). Ключевым моментом при работе с элементом Image List является понимание принципов работы объектов List Image (а также коллекции элементов List Image), которые определяют изображения, используемые в управляющем элементе. (Можно рассматривать элемент Image List как контейнер для коллекции List Image.) Проще всего работать с элементом Image List при помощи его свойства (Custom), появляющегося из диалоговой панели Property Pages.


    Закладка Image на этой панели позволяет добавить изображения при создании элемента.


    (В процессе работы можно добавлять изображения в коллекцию List Image при помощи метода Add).


    Управляющий элемент Image List может хранить одновременно как растровые изображения, так и иконки. Так же, как и для других коллекций, можно ссылаться на хранящиеся изображения при помощи индекса или ключа. Например, если назначить изображение ImageListI. Listlmages(l), то команда

Set Picturel. Picture = ImageListI. Listlmages (1) .Picture


' set Picture.

    заполнит панель рисунка первым изображением из коллекции. (Нумерация в коллекции List Images начинается с 1.)


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

Совет:


Совет:

Управляющий элемент List Image не обязательно использовать в качестве пассивного контейнера. Использование метода Overlay позволит создать одно изображение из двух других.



Управляющий элемент List View



Управляющий элемент List View

Управляющий элемент List View позволяет выводить элементы на дисплей различными путями - по существу, это те же пути, которые можно было наблюдать, работая с рабочим столом системы Windows 95. Например, можно использовать List View для выравнивания элементов по столбцам (с заголовком каждого столбца или без него). Элементы при этом состоят из иконки и текста. Различные методы представления элемента описываются свойством View, возможные значения которого приведены в таблице.


 


 


 


 
 



При помощи элементов управления коммуникациями



Управляющий элемент Microsoft Comm 5.0

    При помощи элементов управления коммуникациями можно легко создать собственный коммуникационный пакет, работающий через модем с телефонной линией (не с сетью Internet). Также можно самостоятельно изменить его настройки при помощи многочисленных свойств. На настоящий момент максимальной доступной скоростью обмена является 28 800 бод. Кроме скорости обмена можно изменять такие настройки, как число бит данных, наличие бита четности и др. Элемент управления коммуникациями служит блестящим примером, демонстрирующим достоинства событийно-управляемого языка программирования. К примеру, можно создать элемент управления, вызываемый только при приходе сигнала активности от коммуникационного порта.

Примечание:

Примечание:

Для построения коммуникационных средств работы с сетью Internet можно воспользоваться элементом Microsoft Web Browser Control 5.0.

Приведенная ниже таблица содержит ключевые свойства элементов управления коммуникациями.

 

 

 

 
 


Управляющий элемент Progress Bаr



Управляющий элемент Progress Bаr

Использование управляющего элемента Progress Bar (.линейка прогресса) аналогично использованию вертикальной линейки в элементе управления размерами. Он представляет собой линейку, заполненную прямоугольными блоками. Далее описываются ключевые свойства этого элемента.


    Свойство Align предназначено для автоматического выравнивания положения элемента на экране. Возможные значения этого свойства сведены в следующую таблицу.


 


 


 


 
 



с маской ввода Masked Edit



    Управляющий элемент редактирования с маской ввода Masked Edit Control 5.0

    Применение элемента редактирования с маской ввода позволит управлять информацией, вводимой в панель текста, без написания дополнительного кода. Использование элемента редактирования с маской ввода напоминает использование обычной текстовой панели с той лишь разницей, что можно ограничивать вводимые символы без написания дополнительного кода в поле Key Events. Также можно использовать определенные символы для указания пользователю о типе и внешнем виде вводимых данных (например, телефонного номера или номера социальной страховки). Управляющий элемент редактирования с маской ввода относится к классу элементов с определенными данными (data - aware controls).

    При работе с элементами редактирования с маской ввода наиболее важным является свойство Mask. Можно устанавливать это свойство как при создании элемента, так и во время выполнения. Это свойство предназначено для задания маски, по которой пользователь вводит данные. Например, если надо получить номер телефона в формате, принятом в США, то необходимо установить свойство Mask следующим образом:

    MaskEdBoxl.Mask = " (###) -###-####"

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

    (Естественно, при создании этого элемента не надо использовать поле ограничений в окне Properties.)

    Элемент редактирования с маской ввода имеет собственную диалоговую панель со списком свойств.

    В общем случае строка, задаваемая свойством Mask, работает аналогично строке формата в выражении Format. Так, в предыдущем примере символ "#" обозначает цифру, а символ " - " используется как разделитель.

Наиболее часто употребляемые символы маски приведены в следующей таблице.

 

 

 

 
 


Управляющий элемент Slider Control



Управляющий элемент Slider Control

Управляющий элемент Slider (бегунок) работает аналогично линейке прокрутки. Он представляет собой небольшую линейку с делениями, по которой может перемещаться бегунок.


    Пользователь может перемещать бегунок обычным перетягиванием или же щелкая мышкой с соответствующей стороны линейки. Для этой пели можно также применять клавиатуру. Так же, как и для линейки прокрутки, ключевыми свойствами являются Мах, Min и Value, что, соответственно, определяет максимальную, минимальную и текущую позицию бегунка. Ключевое событие Scroll возникает всякий раз, когда пользователь перемещает бегунок.



Управляющий элемент Status Bar (строка состояния)



Управляющий элемент Status Bar (строка состояния)

    Управляющий элемент Status Bar представляет собой строку (обычно расположенную в нижней части формы), в которой выводится текущее состояние приложения. (Например, текстовый редактор Microsoft Word использует строку состояния для указания номера текущей страницы, а также для информации о наличии режима вставки или замены, и т.д.). Свойство Align указывает метод выравнивания для строки состояния. Значения этого свойства такие же как и для управляющего элемента Progress Bar. Каждая строка состояния может быть разделена максимум на 16 областей (панелей). При создании строки состояния можно добавлять области, используя страницу Panels.


    При помощи диалоговой панели можно добавить текст или картинку к любой области строки состояния. В процессе работы при использовании метода Add обычно сначала объявляют переменную, описывающую тип панели, а затем используют метод Add, синтаксис которого представлен ниже:

Set PanelObject = NamedfStatusBar.Panels.Add{[index], [key], [text], [style], [picture])

где все параметры являются необязательными. (В силу того, что этот метод не поддерживает именованные аргументы, необходимо использовать кавычки для указания невключаемых элементов.) Параметр index используется для нумерования области. Если этот параметр отсутствует, то по умолчанию данный элемент будет добавлен в конец списка существующих областей. (Так как можно использовать не более 16 областей, то значение параметра index должно находиться в промежутке 1-16). Параметр Key (так же, как и в любой коллекции) представляет собой еще один способ установить ссылку на элемент. Параметр text задает текст для области. Параметр style устанавливает метод вывода информации в строке состояния. Возможные значения этого параметра собраны в следующей таблице.


 


 


 


 
 



Управляющий элемент Tab Strip



Управляющий элемент Tab Strip

Элемент Tab Strip является еще одним способом создания компонентов, внешний вид которых похож на элемент управления с закладками. Однако в силу того, что он не является контейнером, его использование лишено гибкости, присущей элементу управления с закладками. По этой причине данный элемент здесь не рассматривается.



Управляющий элемент Toolbar



Управляющий элемент Toolbar

    Элемент Toolbar дает возможность легко встраивать панели инструментов в приложения. Возможности данного средства аналогичны по своему содержанию возможностям элемента Tool Tips (данный элемент будет описан в одном из следующих разделов). Во-первых, свойство Align задает месторасположение панели инструментов. По умолчанию значение свойства Align равно 1 (Top), что помещает панель в верхнюю часть формы.


    Далее, если надо поместить изображение на панель инструментов, то сначала необходимо сохранить его в элементе Image List (это действие доступно как во время проектирования, так и во время выполнения приложения). Следует учесть, что для назначения изображений во время проектирования необходимо, чтобы элемент Image List и панель инструментов были ассоциированы с одной и той же рабочей формой.


    После сохранения изображений в элементе Image List необходимо в качестве значения свойства Image List использовать имя соответствующего элемента. Например, добавим панель инструментов и управляющий элемент Image List на пустую рабочую форму, оставив установленные по умолчанию имена. Теперь, если посмотреть на первую страницу из диалоговой панели Property Pages панели инструментов, то можно увидеть, что выпадающий список Image List показывает элемент Image List 1.


    После того как установлено соответствие для элемента Image List, можно назначить изображение из элемента Image List любым кнопкам, используя страницу (Buttons) диалоговой панели. Это можно сделать, установив нужный номер изображения из Image List в текстовой панели Image. Например, в примере справа второй колонке назначается первое изображение из элемента Image List.


 



Управляющий элемент TreeView (просмотр дерева)



Управляющий элемент TreeView (просмотр дерева)

    Управляющий элемент TreeView, судя по его названию, позволяет создавать дерево, похожее на используемое в Windows Explorer. Отдельные объекты, составляющие дерево, называются узлами (nodes), и, соответственно, управляющий элемент TreeView содержит коллекцию Nodes. Верхний узел указывается при помощи свойства Root. За дополнительной информацией об управляющем элементе TreeView мы отправляем читателя к справочной системе.



Установка Visual Basic



Установка Visual Basic

Visual Basic обычно поставляется на CD. Бесплатную версию Control Creation edition можно загрузить из Интернет (это около 8 Мбайт). Если Вы приобрели Visual Basic 5, рекомендуем заполнить и выслать регистрационную карточку. Несомненно, что по электронной почте придет определенное количество ненужных писем, но зато так проще получить техническую поддержку и извещения об обновленных версиях от Microsoft.



Variant



Variant


    Данный тип добавлен в Visual Basic 5 из версии 2.0. Переменная типа variant может содержать данные любого типа. Если Visual Basic не знает тип принимаемых данных, необходимо использовать variant.


Тип информации не имеет значения, поскольку variant может содержать любой тип данных (численный, дата/ время, строковый). Visual Basic автоматически производит необходимые преобразования данных, поэтому не стоит беспокоиться об этом. С другой стороны, можно использовать встроенные функции для проверки типа данных, хранящихся в переменной типа variant. Они позволяют легко проверить, правильно ли пользователь вводит информацию.


    Использование такого типа данных, как variant, замедляет работу программы, так как требуется время и ресурсы для операций преобразования типов. Кроме того, многие программисты понимают, что использование автоматических преобразований типов данных приводит к неаккуратному виду программ. Единственная причина в использовании variant состоит в возможных ошибках при преобразовании типов непосредственно программистом.


 



Данная глава представляет собой обзор



Введение.

 

 

 

 

 

 

 

 
    Данная глава представляет собой обзор Microsoft Visual Basic версии 5 (Далее мы будем называть ее Visual Basic или просто VB, чтобы отличить текущую версию от более ранних, будем использовать сокращения VB4 или VB3). В настоящее время доступны 4 версии данного языка, значительно отличающиеся по возможностям.




Введение.

    Все что пишется  в Visual Basic должно выполняться вне среды разработчика Visual Basic, требут файла Msvbvm.dll. Этот файл содержит все подпрограммы поддержки и существенные элементы управления, которые необходимы Visual Basic, чтобы выполнять все что угодно. Это довольно большой файл (1,3 М). Но, к счастью, не имеет значения, сколько приложений Visual Basic выполняет пользователь в одно и тоже время, все равно в памяти необходима только одна копия этого файла.

    Для каждого пользовательского элемента управления в приложении и для того, что является частью вашего элемента управления, необходим файл пользовательского элемента управления. Эти файлы относительно малы- часто менне 30К каждый. В результате то, что оказывается необходимым для инсталляции исполняемых файлов не находится на машине, куда производится инсталляция, то даже простейший исполняемый файл Visual Basic, даже подвергнутый сжатию при помощи мастера установки потребует 2 или более дисков.
Примечание:

Примечание:

Разработчику действительно нужно убедиться, что пользователи его проекта или элемента управления не имеют файла Msvbvm50.dll и других файлов поддержки, т.к. многие пользователи Windows 95 и Windows NT уже будут иметь на своих машинах эти файлы. Например, большинство пользоваптелей Internet Explorer уже будут их иметь, и можно предположить, что вскоре Microsoft будет просто инсталлировать этот файл вместе с инсталляцией файлов операционной системы. Это сильно уменьшит дисковое пространство, необходимое джля создания дистрибутивов проектов Visual Basic.
    И, наконец, когда выполняет исполняемый файл, который содержит пользовательский элемент управления, .ocx-файл должен находиться в системном каталоге или в одном каталоге с .exe-файлом. Мастер установки автоматически размещает файлы в соотвествующем месте. (Если соотвествующий .ocx файлне может быть найден, то виртуальная машина Visual Basic выведет сообщение об ошибке и завершит выполнение.)

 



Заключительные штрихи интерфейса



Заключительные штрихи интерфейса



 
 
 
 

Примечание:


Примечание:

Фирма Microsoft недавно анонсировала планы по переводу обычной справочной системы Windows в формат HTML (формат, используемый в Web-документах).


 


 


 


 



Запуск программы установки



Запуск программы установки

    Компакт-диск или дискеты с Visual Basic содержат программу установки Setup. Версия Control Creation edition представляет собой самораспаковывающийся ЕХЕ-файл. Все версии требуют наличия на компьютере Microsoft Windows 95 или Windows NT 3.51 (или их более новые версии).


    Запустить программу Setup можно столько раз, сколько необходимо, что означает отсутствие ограничений на выбор различных вариантов установки (неплохая идея для начинающих пользователей - применять установки по умолчанию). При первой установке программа Setup запрашивает имя пользователя и наименование компании. Программа сохраняет данную информацию и выводит ее каждый раз при запуске среды разработки Visual Basic.


    Мы полагаем, что Вы за свою жизнь инсталлировали достаточно программ Windows. Если используется одна из коммерческих версий Visual Basic, нужно перейти к программе Setup.ехе на компакт-диске или на первой дискете и просто запустить ее на выполнение. Если устанавливается версия Control creation Edition, нужно дважды щелкнуть по названию файла VB5Ccein.exe из Windows Explorer. Здесь нодо следовать инструкциям на экране.


    После завершения процедуры инсталляции Visual Basic будет установлен со своей собственной группой программ. Для перемещения Visual Basic из одной группы программ в другую либо на рабочий стол можно использовать Windows Explorer или технологию drag-and-drop. Для этого требуется изучить документацию по Windows или прочитать книгу типа "Windows 95 Made Easy" Тома Шелдона.


    Если имеются какие-либо дополнения или исправления к документации, их можно обнаружить в файле типа Readme. txt. Если данный файл есть на дистрибутивных дискетах или CD, программа установки автоматически копирует его на винчестер и размещает значок на рабочем столе Windows в группе программ Visual Basic. Теперь, если дважды щелкнуть по этому значку, Microsoft Windows загружает данный файл в редакторе WordPad. Это помогает легко изучить его содержимое.

Примечание:


Примечание:

Для Visual Basic не требуется явной установки принтера, так как он использует информацию о текущем принтере в Windows.



Запуск Visual Basic



Запуск Visual Basic

Самый простой способ запустить Visual Basic в Windows 95 или Windows NT 4.0 состоит в использовании пункта Программы главного меню Пуск. (Программа установки автоматически добавляет Visual Basic в главное меню Пуск.) На Рисунок 1-1 приведен примерный вид того, что будет видно на экране. Кроме того, запустить Visual Basic можно, перейдя в его каталог при помощи значка "Мой компьютер на рабочем столе Windows". Затем необходимо дважды щелкнуть по значку Visual Basic. Запустить Visual Basic можно, открыв диалоговую панель "Выполнить" из главного меню и введя путь к Visual Basic. (В Windows 95 или в Windows NT 4.0 существует множество различных вариантов запуска программ.)


    Когда Visual Basic начинает загружаться, пользователь видит экран с информацией об авторских правах, где указывается, кем лицензирована данная копия программы. После этого на экране появится картина, примерно соответствующая Рисунок 1 -2. (Точный вид экрана зависит от версии Visual Basic.) Диалоговая панель New Project позволяет начать работу по созданию приложения Visual Basic любого типа. В данной главе рассматривается только один тип приложения - Standard ЕХЕ - сокращение от наименования "обычная автономная программа".



Зарезервированное слово Private.



Зарезервированное слово Private.

Visual Basic 5 использует это новое слово Private для обозначения переменных уровня формы. Private работает аналогично оператору Dim, и его можно использовать вместо этого оператора в разделе (General) для формы. Смысл состоит в том, чтобы отделить переменные уровня формы от так называемых глобальных (или public) переменных.



Значение


Значение

vbPRSMMonochrome

1

vbPRSMColor

2