История языков программирования: от BASIC к Visual Basic. Хочу всё знать

02.05.2019

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

Для языка программирования Бейсик существует система программирования Microsoft Visual Basic – коротко VB. Для языка программирования Паскаль – Borland Delphi. Для языка программирования СИ++ - это Microsoft Visual C++ и Borland C++ Builder. Из любого приложения Microsoft Office в операционной среде Windows можно запустить систему программирования Visual Basic for Applications – коротко (VBA).

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

В ОС Windows очень много стандартных элементов: окон, меню, кнопок и т.д. Для них в системе заготовлены стандартные блоки машинного кода – они хранятся в динамических библиотеках – файлах с расширением.DLL. Поэтому программа для Windows выглядит уже не как набор последовательных команд, а как бесчисленные вызовы процедур, хранящихся в Windows. Учитывая изложенное выше, для программирования в среде операционной системы Windows, необходимо приобретать программы системы программирования.

Visual Basic - это универсальный язык программирования для начинающих. Microsoft Visual Basic - средство разработки программного обеспечения, разрабатываемое корпорацией Microsoft и включающее язык программирования и среду разработки.

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

Достоинства Visual Basic

    Visual Basic выгодно отличается от других языков программирования своей простотой и наглядностью.

    Visual Basic динамично развивающийся язык.

    Visual Basic встроен в такие программы как Word, Excel и др. С его помощью можно управлять этими программами из других программ.

    Visual Basic - это объектно-ориентированный язык. Основой языка являются объекты. Например: окно, кнопка, поле со списком, с которыми работает программа.

Основы программирования в visual basic

При запуске системы визуального программирования (в этой системе объекты создаются при помощи мыши), вам станет доступным: окно стандартных классов объектов; окно свойств этих объектов; окно программного кода.

СТАНДАРТНЫЕ КЛАССЫ ОБЪЕКТОВ, например такие, как ОКНА (окно называют ФОРМА) и УПРАВЛЯЮЩИЕ ЭЛЕМЕНТЫ (кнопки, списки, поля, переключатели, флажки, командные кнопки и другие), представлены в системе визуального программирования в виде значков на инструментальной панели.

При помощи мышки программист перетаскивает управляющие элементы из панели инструментов ToolBox на ФОРМУ.

Далее программист мышкой вызывает окно СВОЙСТВ ОБЪЕКТА и настраивает свойства каждого объекта (выбирает мышкой из окна СВОЙСТВА ОБЪЕКТА), например такие как: имя, размер, цветовые характеристики, положение на форме и на экране, шрифт, надписи на объектах и так далее.

Теперь этим объектам, с заданными нами свойствами, нужно присвоить определенную СОБЫТИЙНУЮ ПРОЦЕДУРУ (или говорят – необходимо выполнить настройку методов объекта).

Присвоить объектам СОБЫТИЙНУЮ ПРОЦЕДУРУ означает написать программу, которая начинает выполняться после наступления определенного события. Например, после щелчка по командной кнопке в текстовом поле появляется текст или, например, при открытии окна раздается звук, а перед закрытием возникает запрос на подтверждение закрытия окна.

Чтобы присвоить объекту событийную процедуру программист, обычно делает двойной левый щелчок по объекту, и в появившемся окне ПРОГРАММНОГО КОДА записывает программу на языке программирования (это может быть язык Basic, Pascal или С++, в зависимости от системы программирования).

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

После размещения всех необходимых элементов управления на форме, настройке их свойств и составления событийных процедур программа готова. Остается дать команду на её трансляцию (для VB нажать Start в панели инструментов, или меню RUN – Start, или нажать F5): системы Delphi и СИ++ Builder выполняют компиляцию, а система Visual Basic – интерпретацию.

Запуск среды программирования Visual Basic

Запуск среды программирования Visual Basic:

Пуск Программы → Microsoft Visual Basic 6.0. → Microsoft Visual Basic 6.0.

Появляется окно с тремя вкладками: Новое, Прошлое, Существующее.

Рис. 1. Окно добавления объекта.

С помощью окна можно создать новый проект или открыть существующий.

Создание нового проекта: Новое → Стандартный EXE → Открыть.

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

Открыть существующий проект: Существующее → Открыть нужную папку → Выбрать нужный проект → Открыть.

Открыть объект, который ранее открывали на данном компьютере : Прошлое → Выбрать нужный проект → Открыть.

Окно среды программирования Visual Basic

Рис. 2. Окно среды программирования Visual Basic.

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

    окно проводника проекта.

    окно свойств текущего элемента управления или формы.

    окно размещения формы на экране монитора.

    окно для ввода команд. Команды выполняются сразу после ввода.

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

Вид → Панель инструментов.

Вид → Проводник проекта.

Вид → Окно свойств.

Вид → Окно Размещения Формы.

Вид → Окно Неотложного.

Окно формы можно вывести на экран дважды щелкнув в окне проводника проекта по значку или имени формы.

Приложений баз данных для операционных систем семейства Microsoft Windows . Множество готовых компонентов, поставляемых вместе со средой, призваны помочь программисту сразу же начать разрабатывать бизнес-логику приложения, не отвлекая его внимание на написание кода запуска программы, подписки на события и других механизмов, которые VB реализует автоматически.

Первое признание серьёзными разработчиками Visual Basic получил после выхода версии 3. Окончательное признание как полноценного средства программирования для Windows - при выходе версии 5. Версия VB6, входящая в состав Microsoft Visual Studio 6.0, стала по-настоящему зрелым и функционально богатым продуктом.

История развития

Visual Basic 1.0 для MS-DOS. Дизайнер форм

Visual Basic 1.0 для MS-DOS. Редактор кода

Visual Basic 1.0 для Windows

Visual Basic 2.0/3.0

Visual Basic 6.0

Дата выпуска Версия Описание
Май 1991 1.0 Visual Basic 1.0 для Microsoft Windows . За основу языка был взят синтаксис QBasic , а новшеством, принесшим затем языку огромную популярность, явился принцип связи языка и графического интерфейса. Этот принцип был разработан Аланом Купером (Alan Cooper ) и реализован в прототипе Tripod (также известном как Ruby )
Сентябрь 1992 1.0 Visual Basic 1.0 под DOS . Он не был полностью совместим с Windows-версией VB, поскольку являлся следующей версией QuickBASIC и работал в текстовом режиме экрана. Интересно отметить, что в составе была специальная утилита, которая конвертировала проекты данной версии в проекты Visual Basic 1.0 для Windows. Она делала код максимально совместимым с Windows-версией, конвертировала формы (хотя результат получался неудовлетворительным из-за различий текстового и графического режима), а также давала в коде комментарии с подсказками по дальнейшему улучшению.
Ноябрь 1992 2.0 Visual Basic 2.0. Среда разработки стала проще в использовании и работала быстрее. Окно «Свойства» переместилось в отдельный список. Добавлена подсветка исходного кода.
1993 3.0 Вышел в свет Visual Basic 3.0 в версиях Standard и Professional. Ко всему прочему, в состав поставки добавился движок для работы с базами данных Access.
Август 1995 4.0 Visual Basic 4.0 - версия, которая могла создавать как 32- так и 16-разрядные Windows-приложения. Кроме того, появилась возможность писать на VB классы, а также Visual Basic наконец-то стал полноценным компилятором, что значительно увеличило скорость выполнения программ. Добавлена поддержка OLE Controls (OCX), взамен старым элементам управления VBX
Февраль 1997 5.0 Visual Basic 5.0 - начиная с этой версии, стало возможно, наряду с обычными приложениями, разрабатывать свои COM-компоненты . Скомпилировав такой компонент в OCX-файл и поставляя его, можно было предоставить свой объект управления не только конечному пользователю , но и другим разработчикам, после чего они могли интегрировать этот объект в свои приложения. В составе с интегрированной средой входят P-Code и Native компиляторы. Исполнением приложений занимается новая виртуальная машина реализованная в динамической библиотеке MSVBVM50.DLL. Также в 1 квартале этого года, Microsoft выпускает продукт в специальной редакции Visual Basic 5 Control Creation Edition (VB5CCE), который специализируется только над проектированием ActiveX элементов управления.
Середина 1998 6.0 Visual Basic 6.0 - Оптимизирована работы виртуальной машины и вынесена в MSVBVM60.dll. Улучшена работа Native-компилятора. Добавлены новые функции для работы со строками и массивами. Данная версия языка является последней в линейке классического VB. Microsoft изменила политику в отношении языков семейства Basic и вместо развития Visual Basic, был создан абсолютно новый язык Visual Basic .NET .
2002 7.0 Первый выпуск Visual Basic .NET . Наиболее важная особенность заключается в том, что код полностью управляем платформой .NET Framework Common Language Runtime . Нарушена обратная совместимость с классической версией Visual Basic.
Апрель 2003 7.1 Microsoft модернизирована Visual Basic .NET, оптимизировала работу компилятора. Выпущен совместно с обновлённой версией.NET Framework 1.1.
2005 8.0 Входит в состав Visual Studio 2005. Требует.NET Framework 2.0. После выхода Visual Basic .NET 2003, Microsoft убрала приставку «.NET» из названия продукта и следующая версия называется Visual Basic 2005.
2008 9.0 Входит в состав Visual Studio 2008. Требует.NET Framework 3.5
2010 10.0 Входит в состав Visual Studio 2010. Требует.NET Framework 4
2012 11.0 Входит в состав Visual Studio 2012. Требует.NET Framework 4.5
2013 12.0 Входит в состав Visual Studio 2013. Требует.NET Framework 4.5.1
2015 14.0 Входит в состав Visual Studio 2015. Обновлен.NET Framework до версии 4.6
2017 15.0 Входит в состав Visual Studio 2017.

После выхода Visual Basic версии 6.0, разработчики из Microsoft существенно изменили направление развития данной технологии. Visual Basic .NET не позволяет программировать по-старому, потому что по сути является совершенно другим языком, таким же, как и любой другой язык программирования для платформы .NET . Индивидуальность языка, так же как и его преимущества (простота, скорость создания программ, лёгкость использования готовых компонентов) при использовании в среде.NET не имеют такого значения, как раньше - всё сосредоточено на возможностях самой платформы.NET, на её библиотеках классов. На данный момент (июнь 2015) нужно говорить о Visual Basic, как о классических версиях языка 4.0 - 6.0, его диалектах: Visual Basic for Applications (VBA) и Visual Basic Scripting Edition (VBScript) и о языке для платформы.NET - Visual Basic .NET.

Видео по теме

Элементы языка

Типы данных

Переменные в Visual Basic объявляются оператором Dim после которого указывается имя, затем ключевое слово As и тип переменной. Если тип опущен, то ключевое слово As не указывается и переменная объявляется как Variant. Если не указать конструкцию Option Explicit в разделе деклараций, то явного объявления переменных не требуется и они автоматически будут созданы при первом использовании. Данное поведение может привести к снижению скорости выполнения программы, так как необъявленные переменные будут иметь тип Variant, а также возможны логические ошибки связанные с неверным вводом имени имеющейся переменной или риска конфликтов в приложении, когда область определения переменной не совсем ясна.

Dim strMessage As String "объявление переменной символьного типа Dim iProductCount As Integer "объявление переменной целочисленного типа Dim dt70YearsOfVictory As Date "объявление переменной для хранения даты и времени Dim otherValue " тип не указан, переменная типа Variant Public Sub Main () strMessage = "Привет, Мир!" iProductCount = 125 dt70YearsOfVictory = # 5 / 9 / 2015 2 : 00 : 00 PM# " дата 9 мая 2015 14:00:00 otherValue = 12.5 " тип переменной Variant, подтип Double. otherValue = "Википедия" " тип переменной Variant, подтип String. End Sub

Таблица основных типов Visual Basic 6.0

Наименование Размер типа Описание типа данных
Byte 1 байт Байт. Предназначен для хранения целых чисел от 0 до 255. Если переменной такого типа присвоить значение, выходящее за эти пределы, то Visual Basic сгенерирует ошибку времени выполнения.
Integer 2 байта Целое. Предназначен для хранения целых чисел в диапазоне −32 768 до 32 767 . Суффикс для обозначения типа «%».
Long 4 байта Длинное целое. Предназначен для хранения целых чисел в диапазоне −2 147 483 648 до 2 147 483 647 . Суффикс для обозначения типа «&».
Single 4 байта С плавающей точкой одинарной точности. Диапазон от -3,402823E38 до -1,401298E-45 для отрицательных значений; от 1,401298E-45 до 3,402823E38 для положительных значений. Суффикс для обозначения типа «!»
Double 8 байт С плавающей точкой двойной точности. Переменные этого типа позволяют хранить числа с точностью до 16 цифр и длиной до 300 символов. Диапазон значений варьируется от −1.80E+308 до 1.80E+308. Суффиксом является «#». Вычисления с ним являются приблизительными, так как используется бинарное представление числа согласно стандарта IEEE 754 .
Decimal 16 байт Масштабируемое целое. Этот тип использует десятичное представление чисел. Вычисления с ним, также как с типом Currency являются точными. Диапазон значений от −7.92E+28 до 7.92E+28. Нельзя напрямую объявить переменную с типом Decimal. Он может использоваться только как подтип для Variant и переменную можно привести к данному типу с помощью функции кастования CDec .
Boolean 2 байта Булев тип данных может хранить только два значения: True либо False, истина или ложь. Истинное значение в VB соответствует целочисленной −1, а ложь равна 0, а при неявном приведении типа, любое численное значение отличное от нуля рассматривается как истина. Такое поведение позволяет использовать логические операторы AND , OR , NOT , XOR не только для булевой алгебры, но также и для битовых операций.
String 10 + 2*N байт Строка переменной длины. Предназначен для хранения строковой (символьной) информации. Сама строка хранится в кодировке Unicode , поэтому каждый символ кодируется 2 байтами. Если посмотреть тип изнутри, то используется дополнительно 4 байта для хранения указателя на строку, 4 байта для размера строки, а сама строка завершается нуль-символами (ещё 2 байта). Таким образом максимальный размер строки может достигать до 2 Гбайт. Суффикс типа «$».
String*N 2*N байт Строка постоянной длины. Также как и тип String хранит символьные данные, за исключением того, что размер данных фиксированный и указывается при объявлении переменной. Если значение строки слишком большое, то она усекается до необходимого размера. Если строка меньше чем требуется, то происходит выравнивание размера добавлением символа «пробела». Следует заметить, что фиксированные строки и массивы, а также структуры не могут быть больше 64 кб.
Date 8 байт Тип данных позволяет хранить значения времени и даты в промежутке от полуночи 1 января 100 года до полуночи 31 декабря 9999 года. Если переменной присвается только значение даты, то время равняется 00:00. Целочисленная единица представляет собой одни сутки. Это позволяет добавлять и вычитать даты используя только математические операторы, но для выполнения этих целей VB предоставляет специализированные функции работы с датами.
Object 4 байта Используется для хранения ссылки на объект. Присваивание переменной для этого типа происходит с помощью оператора Set . Сам тип является аналогом IDispatch, в нем хранится ссылка на интерфейс IDispatch. Для любого объекта нужно использовать IUnknown.
Currency 8 байт Денежный. Данный тип может иметь до 4 цифр после запятой, и до 14 - перед ней. Значение представляют собой числа в десятичной системе счисления, а не в двоичной, как это происходит для типов с плавающей запятой одинарной и двойной точности. Таким образом вычисления будут произведены точно. Диапазон значений от −922 337 203 685 477,5808 до 922 337 203 685 477,5807 . Данный тип является предпочтительным для проведения финансовых расчетов. Суффикс «@»
Variant 16 байт / 22 байта+N байт / N-байт Переменная типа Variant может содержать данные любого типа, включая ссылки на объекты, пользовательские типы и массивы. Visual Basic автоматически производит необходимые преобразования данных. Подтип содержащий число требует 16 байт памяти, а для хранения строковых данных 22 байта + длина самой строки. Диапазон значений равен диапазону значений подтипа. Данный тип самый медленный по скорости выполнения, так как требуется время на распаковку и упаковку значений.

Операторы

Язык Visual Basic содержит множество операторов, которые отвечают за арифметические операции, операции сравнения и присвоения, а также конкатенации.

Оператор присвоения

  • Знак равенства (=) используется для присвоения значения переменной. Также возможно использование ключевого слова Let перед именем переменной. В ранних версиях языка BASIC его наличие было обязательным, но в Visual Basic он оставлен для совместимости. Для присвоения переменной объектного типа, необходимо наличие ключевого слова Set . Примеры: nVar = 10 , Let iCount = 20 , Set refDouble = objClass .

Многократное присваивание, так как это реализовано в языке C, невозможно. A = B = C не означает, что A , B и C будут иметь равные значения. VB оценит выражение B = C и в переменную A присвоит результат True или False , 0 или −1, в зависимости от типа.

Арифметические операторы

  • сложение (+), вычитание (-), умножение (*), деление (/)
  • возведение в степень (^). Пример: 2 ^ 3 = 8
  • целочисленное деление (\). Делит первое число на второе, отбрасывая (не округляя) дробную часть. Пример: 5 \ 2 = 2
  • деление по модулю (Mod). Делит первое число на второе, возвращая только остаток от деления. Пример: 5 Mod 2 = 1

Операторы сравнения

  • равенство (=). Пример: If nVar = 10 Then
  • больше, чем и меньше, чем (> и <). Пример: If nVar > 10 Then
  • больше или равно и меньше или равно (>= и <=). Пример: If nVar >= 10 Then
  • не равно (<>). Пример: If nVar <> 10 Then
  • сравнение объектов (Is). Определяет, ссылаются объектные переменные на тот же объект или на разные. Пример: If obj1 Is obj2 Then
  • оператор подобия (Like). Сравнивает строковый объект с шаблоном и определяет, подходит ли шаблон. Пример: If strEmail Like "*@*.*" Then

Логические операторы

  • логическое И (And) - Обе части выражения должны быть истинными, чтобы всё выражение стало истинным. Пример: If (2 * 2 = 4) And (2 * 3 = 6) Then
  • логическое ИЛИ (Or) - должно быть истинным хотя бы одно из выражений. Пример: If (2 * 2 = 5) Or (2 * 2 = 4) Then
  • логическое отрицание (Not) - возвращает True , если условие ложно и наоборот. Пример: If Not(2 * 2 = 5) Then
  • логическое исключение (Xor) - в выражении E1 Xor E2 возвращает True , если только E1 = True или только E2 = True , иначе - False .
  • эквивалентность (Eqv) - оценивает эквивалентность двух выражений, возвращает True , если они имеют одинаковое значение.
  • импликация (Imp) - возвращает False , если E1 = True и E2 = False , иначе - True .

Операторы конкатенации

  • Оператор (+) используется для конкатенации строк. Если обе части выражения имеют символьный тип, то операция склеивания строк будет успешной. Если одна из частей выражения, имеет числовой тип, но другая часть не может быть корректно преобразована к числу, то возникает ошибка приведения типов. Чтобы не допустить таких ситуаций, рекомендуется использовать соответствующие операторы для конвертации типов или применять оператор (&) для соединения строк.
  • Оператор (&) производит автоматическое преобразование выражений и значений в строковой тип. Например, выражение str = "10" & 20 даёт результат «1020», а не «30». Если бы использовали оператор (+) в данном выражении, то VB привел бы выражение «10» к числовому типу 10, и в случае успеха, произвёл бы арифметическое сложение.

Управляющие конструкции

В Visual Basic, как и во многих языках программирования, существуют конструкции, предназначенные для управления порядком выполнения действий. Некоторые из конструкций, такие как GoSub и Return , оставлены для совместимости с ранними версиями языка BASIC, но реализация в виде отдельных процедур может обеспечить более структурированный код.

Оператор ветвления

Общий синтаксис:

"Запись оператора ветвления в одну строку If < условие > Then "Такая запись позволит выполнить действия в зависимости от истинности условия If < условие > Then [ действие_когда_условие_истинно ] Else [ действие_когда_условие_ложно ] "Запись оператора ветвления в несколько строк If < условие > Then [ действие_когда_условие_истинно ] ElseIf < условие2 > Then [ действие_когда_условие2_истинно ] ElseIf < условиеN > Then [ действие_когда_условиеN_истинно ] Else [ действие_когда_условие_ложно ] End If

Оператор выбора

Общий синтаксис:

Select Case < проверяемое_значение > "Переменная или выражение, которое требуется проверить по одному или нескольким условиям Case < значение_1 > "Выполняется действие, если проверяемое значение будет соответствовать значению 1 [ действие_1 ] Case < значение_2 > , < значение_3 > , < значение_4 > "Проверяет список значений. Если найдено соответствие, то выполняется действие [ действие_2 ] Case < значение_5 > To < значение_6 > "Проверяет диапазон значений [ действие_3 ] Case Is >= < значение_7 > "Проверяет значение на истинность с условием [ действие_4 ] Case Else "Выполняется действие, если ни одно из условий не выполнится [ действие_5 ] End Select

Пример: вывод различных сообщений в зависимости от значения переменной

"Введём переменную и дадим ей значение вручную Dim X As Double X = InputBox ("Введите числовое значение переменной Х" ) Select Case X "Проверим, подходит ли некоторой воображаемой функции наше значение Case Is < 5 , Is >= 20 , 12 To 15 "Диапазон подходящих значений MsgBox "Действительное значение для некоторой функции" Case Else "Не подходящие значения MsgBox "Значение не может быть использовано в некоторой функции" End Select

Цикл со счётчиком

Общий синтаксис:

For < переменная > = < значение > To < конечное_значение > [ Step < шаговое_значение >] [ блок_операторов ] [ Exit For ] "Выход из цикла Next [ переменная ]

Пример: подсчёт суммы чётных чисел от 1 до 100

For I = 0 To 100 Step 2 Sum = Sum + I Next

Совместный цикл

Общий синтаксис:

For Each < переменная > In < коллекция > [ блок_операторов ] [ Exit For ] Next [ переменная ]

Пример: выводит на экран каждый элемент из массива

Dim strItem As Variant For Each strItem In Array ("Яблоко" , "Груша" , "Слива" ) Print strItem Next

Цикл с условием

Общий синтаксис:

Do While < условие > [ блок_операторов ] [ Exit Do ] "Принудительный выход из цикла Loop Do Until < условие > "Цикл выполняется, когда условие ложно [ блок_операторов ] [ Exit Do ] Loop While < условие > "Цикл выполняется, когда условие истинно [ блок_операторов ] Wend

Пример: Построчное чтение текстового файла

Open "file.txt" For Input As # 1 Do While Not EOF (1 ) "Возвратит True, если ожидается конец файла Line Input # 1 , strBuffer "Чтение строки в переменную Debug . Print strBuffer "Вывод в окно отладки Loop Close # 1

Цикл с постусловием

Общий синтаксис:

Do [ блок_операторов ] [ Exit Do ] Loop While < условие > Do [ блок операторов ] [ Exit Do ] Loop Until < условие >

Процедуры и функции

Создание нового объекта из класса возможно ранним или поздним связыванием. Для раннего связывания используется ключевое слово New перед именем класса. Для позднего связывания используется функция CreateObject возвращающая ссылку на созданный объект. Присваивание ссылок осуществляется в переменные с типом Object , используя оператор Set . Доступ к методам и свойствам класса происходит через оператор - точку. , который ставится сразу после имени переменной объектного типа. Если класс содержит события, то переменные объявляются с ключевым словом WithEvents , тем самым будут доступны процедуры обработки событий.

Пример показывает взаимодействие программы с библиотекой Microsoft Scripting Runtime , предоставляющая объекты для работы с файловой системой:

Public Sub Main () Dim objFSO As New FileSystemObject "Создаём экземпляр класса, используя оператор New Dim objWindows As Folder Set objWindows = objFSO . GetFolder (Environ ("SYSTEMROOT" )) "Вызываем метод класса GetFolder и присваиваем ссылку на полученный объект MsgBox "Папка Windows: " & objWindows . Path "Читаем свойства класса MsgBox "Дата создания: " & Format (objWindows . DateCreated , "YYYY-MM-DD H:mm:ss" ) Dim sTextFilePath As String Dim objTS As TextStream sTextFilePath = objFSO . BuildPath (Environ ("TEMP" ), "Тестовый файл.txt" ) "Метод с двумя параметрам возвращает значение типа String Set objTS = objFSO . CreateTextFile (sTextFilePath , True ) objTS . Write "Привет, Википедия!" objTS . Close objFSO . DeleteFile sTextFilePath , True Set objFSO = Nothing "Присваивая Nothing, происходит освобождение ссылки, и объект может вызвать процедуру деструктора Set objWindows = Nothing "VB автоматически вызывает деструктор, если на объект больше не ссылаются Set objTS = Nothing End Sub

Visual Basic позволяет разработчику самому создавать новые классы. В отличие от других языков программирования, таких как Java и C++, Visual Basic имеет неполную поддержку ООП.

  • P-код позволяет выполняться приложению на аппаратно-независимой виртуальной машине, которая в реальном времени будет транслировать псевдо-код программы в машинный код процессора. Теоретически, такой подход позволяет осуществить переносимость приложений на новые аппаратные платформы не требуя доработки исходного кода самих программ. Одно из главных преимуществ, связанное с компиляцией в P-Code, является «горячее» изменение исходного кода в режиме отладки . Visual Basic, находясь в режиме отладки, всегда компилирует программу в P-код, далее выполнение может быть приостановлено, программистом вносятся значительные изменения в исходный код, а затем продолжается выполнение: полная перекомпиляция и перезапуск приложения при этом не требуется. Компилятор создаёт исполняемый файл в формате , но вместо инструкций для реального процессора, содержится код инициализирующий виртуальную машину и байт-код приложения. Главным недостатком компиляции в P-код является низкая скорость выполнения программ, так как большая часть времени тратится на трансляцию программы в машинный код.
  • Native-компиляция стала возможна с выходом Visual Basic 5.0. Данный компилятор позволяет создавать высокопроизводительный код по сравнению с приложениями, которые были собраны в P-код. В машинный код компилируются большинство инструкций: арифметические операции, управляющие конструкции, но такие действия, как вызов встроенных функций языка, работа со строками, обработка ошибок будут выполняться библиотекой времени выполнения Visual Basic. Таким образом, несмотря на компиляцию в машинный код, приложение для своего выполнения будет требовать виртуальную машину Visual Basic. Также частый вызов функций из библиотеки времени выполнения приводит к ухудшению скорости выполнения приложения. Но несмотря на все недостатки, Native-компилятор обеспечивает приемлемую скорость выполнения кода. Компилятор содержит несколько параметров оптимизации. На вкладке компиляции проекта можно отключить некоторые проверочные операции: выход за пределы массива, целочисленное переполнение и др. Правильная настройка этих параметров позволяет разработчику получить дополнительный прирост производительности в разрабатываемом приложении.

Развёртывание

Совместно с Microsoft Visual Basic 6.0 поставляется Package & Deployment Wizard , предназначенный для создания установочных пакетов на основе проекта Visual Basic. В сравнении со своим хорошо известным предшественником - Setup Wizard, P&D Wizard предоставляет новую функциональность, но, к сожалению, новый инструмент содержит некоторые ошибки. Одной из проблем данного приложения является ошибка преобразования даты, если локаль установленная в операционной системе пользователя будет отличной от американской. Существуют сторонние приложения, которые предоставляют более продвинутые средства для управления установочными пакетами.

Также возможен вариант установки VB-приложений простым копированием, который сводится к выполнению нескольких шагов:

  • Если в системном каталоге операционной системы отсутствует файл времени выполнения приложений Visual Basic (MSVBVM60.DLL), то необходимо предварительно его скопировать туда.
  • Если приложение содержит нестандартные элементы управления, такие как ActiveX Controls, то предварительно необходимо их скопировать в системный каталог и произвести регистрацию в системном реестре Microsoft Windows. Регистрацию компонент можно автоматизировать, например, выполнить команду regsvr32.exe и передать полный путь к файлу или программным способом, непосредственно вызвав метод DllRegisterServer , который реализует COM -совместимая компонента.
  • Создать программную папку, скопировать исполняемый файл, при необходимости создать ярлык приложения на рабочем столе пользователя.

Дополнительные возможности

ActiveX (Элементы управления OCX)

Начиная с версии VB 5.0 разработчику предоставляется возможность не только использовать готовые компоненты ActiveX , но и создавать свои. VB берёт на себя всю работу по созданию вспомогательного кода, который предназначен для регистрации информации о компоненте в системном реестре, реализации интерфейса IDispatch, создания уникальных GUID , используемых в качестве идентификаторов для классов (CLSID), интерфейсов (IID) и библиотек типов (LIBID). Благодаря такому подходу от программиста потребуется только создать классы с необходимым функционалом.

Создание новых GUID класса и интерфейса зависит от установленного параметра совместимости на вкладке свойств проекта. Он может принимать одно из трех состояний:

После завершения компиляции на выходе будет двоичный файл библиотеки по спецификации COM . Данный компонент реализует как минимум 2 интерфейса : IUnknown и IDispatch. Библиотека типов (TLB) будет интегрированна внутри ресурсов исполняемого файла. Также дополнительно создаются файлы с полезной информацией, такие как EXP и LIB.

Windows API (Прикладной интерфейс программирования)

Visual Basic предоставляет языковые средства для декларации и вызова функции из библиотек динамической компоновки (DLL). Данный механизм позволяет расширять приложения, за счёт использования дополнительных библиотек предоставляемых другими разработчиками, в том числе написанные на различных языках программирования. Один из таких наборов библиотек предоставляется операционной системой Microsoft Windows.

Общий синтаксис декларации функции и процедуры выглядит следующим образом:

[ Public | Private ] Declare Sub < имя_процедуры > lib [ Alias "псевдоним" ] [ (параметры ) ] [ Public | Private ] Declare Function < имя_функциии > lib "имя_динамической_библиотеки" [ Alias "псевдоним" ] [ (параметры ) ] [ As тип_возврата ]

Псевдонимы необходимо задавать в ряде случаев: использование в названии функции зарезервированных идентификаторов Visual Basic, название содержат недопустимые символы или не могут быть правильно интерпретированы средой. Вызываемые функции должны поддерживать соглашение о вызове StdCall .

При передаче параметра с типом String в функцию WINAPI, VB осуществляет автоматическую конвертацию кодировки из Unicode в ANSI, после выполнения функции, происходит обратная конвертация из ANSI в Unicode. Чтобы исключить автоматическую конвертацию строк, аргументы функции необходимо задекларировать с типом Long, и передавать указатель на строку, используя функцию StrPtr , таким образом можно оптимизировать производительность приложения выполняющее множественные вызовы функций.

Пример вызова Windows API для получение полного пути к каталогу Windows и вывода сообщения на экран:

Private Declare Function GetWindowsDirectory Lib "kernel32.dll" Alias "GetWindowsDirectoryA" (ByVal buffer As String , ByVal nSize As Long ) As Long Private Declare Function MessageBox Lib "user32.dll" Alias "MessageBoxA" (ByVal hWnd As Long , ByVal lpText As String , ByVal lpCaption As String , ByVal wType As Long ) As Long Private Const MB_ICONASTERISK As Long = 64 Public Sub Main () Dim buffer As String "Переменная в которую будет получен результат функции. Dim retLen As Long buffer = String (256 , vbNullChar ) lens = GetWindowsDirectory (buffer , Len (buffer )) "Вызов функции buffer = Left (buffer , lens ) MessageBox 0 & , "ОС установлена в каталог: " & buffer , "Информация" , MB_ICONASTERISK "Вызов функции End Sub

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

Достоинства и недостатки

Достоинства

Недостатки

Язык сильно привязан к своей среде разработки и к операционной системе Microsoft Windows, являясь исключительно инструментом написания Windows-приложений. Привязка к среде заключается в том, что существует большое количество средств, предназначенных для помощи и удобства программирования: встроенный отладчик, просмотр переменных и структур данных на лету, окно отладки, всплывающие подсказки при наборе текста программы (IntelliSense). Все эти преимущества делают бесполезным и даже невозможным использование Visual Basic вне среды разработки, например в обычном текстовом редакторе

Низкоуровневого доступа к памяти, ASM -вставок, невозможность экспорта функций в нативных библиотеках, отсутствие стандартных средств разработки консольных приложений. Несмотря на то, что парадигма Visual Basic позволяет среднему VB-программисту обходиться без всего этого, перечисленные вещи также нередко становятся объектами критики. И хотя, используя недокументированные возможности и определённые ухищрения, всё это можно реализовать и на VB (например, с помощью функций для получения указателей VarPtr , StrPtr и ObjPtr); пользоваться этими трюками иногда сложнее, чем, например, на С++ .

Однако стоит отметить, что все недостатки языка вытекают из его основного достоинства - простоты разработки графического интерфейса. Поэтому многие программисты используют Visual Basic для разработки интерфейса пользователя, а функциональность программы реализуют в виде динамически подключаемых библиотек (DLL), написанных на других языках (например, C++).

Реализации и диалекты

Visual Basic for Applications (VBA)

Это среда разработки практически не отличается от классического Visual Basic, которая предназначена для написания макросов и других прикладных программ для конкретных приложений. Наибольшую популярность получил благодаря своему использованию в пакете Microsoft Office . Широкое распространение Visual Basic for Applications в сочетании с изначально недостаточным вниманием к вопросам безопасности привело к широкому распространению макровирусов .

Особенности:

  • Не позволяет компилировать приложения в исполняемые файлы EXE/DLL
  • Для выполнения приложений в современной среде требуются корректные настройки безопасности макросов в приложении, которое является хостом для VBA
  • Отсутствуют некоторые объекты, такие как: Clipboard , App , Form , Timer , Data . Вместо них предоставляются другие классы, реализованные в объектной модели конкретного приложения.

Visual Basic Scripting Edition (VBScript)

Особенности:

  • Отсутствуют операторы для работы с файловой системой
  • Нет возможности объявить переменную с конкретным типом данных. Все переменные имеют тип Variant
  • Возможно использовать только позднее связывание для работы с внешними библиотеками
  • Компиляция кода в исполняемые файлы отсутствует
  • Исходный код хранится в текстовых файлах с расширением.vbs или.vbe

eMbedded Visual Basic (eVB)

Данный инструмент используется для разработки программного обеспечения под операционные системы Windows CE и Windows Mobile . Включает в себя интегрированную среду разработки, отладчик и эмулятор для тестирования приложений. eMbedded Visual Basic базируется не на полнофункциональном языке программирования Visual Basic, а на языке описания сценариев Visual Basic Scripting Edition

  • Maureen Williams Zimmerman. Microsoft Visual Basic 6.0 Reference Library. - Redmond, WA, USA: Microsoft Press, 1998. - 3344 с. - ISBN 1-57231-864-3 .
  • Microsoft Official Academic Course Staff. Microsoft Visual Basic 6.0: Programmer"s Guide. - Redmond, WA, USA: Microsoft Press, 1998. - 976 с. - ISBN 1-57231-863-5 .
  • Джон Кларк Крейг, Уэбб Джефф. Microsoft Visual Basic 6.0. Мастерская разработчика. - «Русская Редакция», 2001. - 720 с. - ISBN 1-57231-883-X . Брайан Сайлер, Джефф Споттс. Использование Visual Basic 6. Классическое издание = Special Edition Using Visual Basic 6. - М. : «Вильямс», 2007. - 832 с. - ISBN 0-7897-1542-2 .

Перед начинающими программистами всегда встаёт один и тот же вопрос, а именно, какой язык программирования выбрать? На чём программировать? Могу сказать, что лучше начинать с лёгкого и в то же время мощного языка - Visual Basic. Изучив приёмы программирования на VB, вы сможете без особых усилий изучить другие языки, такие как Pascal, C++ и др.

Слово "БЕЙСИК" (BASIC) - "базовый, основной" - образовано из начальных букв английского выражения "Универсальный язык символического кодирования для начинающих". Это "для начинающих" долго вызывало пренебрежение программистов, причём подобное пренебрежение не исчезло до сих пор, несмотря на наличие префессиональных изданий VB.

Первый IMB PC имел 16-разрядный бейсик - BASICA, разработанный IBM, а затем вытесненный миктософтским GW-BASIC и QUICK-BASIC. В последнем была убрана нумерация строк и добавлен компилятор, превращающий бейсик програму в полноценный exe файл. Наконец в 1992г. фирмой Microsoft был выпущен VB 1.0 - очень простой язык программирования для Windows 3.1. Затем были выпущены VB 3.0, VB 4.0, VB 5.0 и наконец VB 6.0. Последние две версии мало чем отличаются, в шестой версии улучшено ядро и добавлены несколько новых функций. Существует ещё язык макросов для приложений Microsoft Office (Word, Excel и т.п.). Он называется VBA (Visual Basic for Application). С его помощью можно манипулировать приложениями Office.

Приложения написанные на Visual Basic отличаются от обычных приложений тем, что требуют для своей работы библиотеку msvbvmX0.dll, которая должна присутсвовать в каталоге Windows\System. В роли X выступает версия компилятора VB. Для VB5 - msvbvm50.dll, для VB6 - msvbvm60.dll. Эти библиотеки идут в комплекте с WinME (обе) и Win98 (только msvbvm50.dll), и естественно с более новыми версиями этих ОС. Вы не должны бояться того, что вместе с вашим приложением, вам придётся таскать за собой эту библиотеку. Она есть уже у 90% пользователей. Но если вы всё-таки боитесь за аудиторию, то можете зашить библиотеку прямо в EXE файл. Правда для этого придётся использовать средства не входящие в состав VB. Например, это можно сделать с помощью программы Fusion (фирмы BitArts).

Некоторые также считают, что приложения VB - это не полноценные программы, а лишь псевдокод, который при запуске выполняется интерпретатором. Это не совсем так. Если вы компилируете программу в Native Code, то полученный EXE - полноценное приложение Win32, которое просто использует функции msvbvm библиотеки. А вот P-Code является псевдокодом. Вид компиляции вы можете указать в меню Project->ProjectX Properties...

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

Visual Basic доступен в трех редакциях, каждая из которых обеспечивает определенный набор инструментов разработки. Это

Standard Edition

Visual Basic Standard Edition позволяет создавать достаточно мощные приложения для Microsoft Windows 95 и Windows NT. Эта редакция включает все встроенные элементы управления Visual Basic, включая связанные (data-bound) элементы управления.

Professional Edition

Редакция Professional обеспечивает полно-функциональный набор инструментальных средств для разработки профессиональных решений, предназначенных для тиражирования. Она включает все возможности Standard Edition плюс дополнительные элементы управления ActiveX, включая элементы управления для Internet и генератор отчетов Crystal Reports для Visual Basic (рассматривается в главе 5).

Примечание: Элемент управления ActiveX - подключаемый объект, который можно помещать в форму, чтобы активировать или расширить взаимодействие пользователя с приложением. С элементами управления ActiveX ассоциируются события, и они могут быть включены в другие элементы управления. Эти элементы управления имеют расширение имени файла.осх.

Enterprise Edition

Редакция Enterprise позволяет создавать распределенные приложения силами группы разработчиков. Она обеспечивает все возможности редакции Professional и включает также дополнительные функции, такие, как Automation Manager, Component Manager, инструментальные средства управления базами данных и Microsoft Visual SourceSafe - проект-ориентированная система управления версиями продуктов.

У которого есть немало диалектов. В то же время Visual Basic сочетает в себе процедуры и элементы объектно-ориентированных и компонентно-ориентированных языков программирования. Среда разработки VB включает инструменты для визуального конструирования пользовательского интерфейса.

Первое признание серьёзными разработчиками Visual Basic получил после выхода версии 3 - VB3. Окончательное признание как полноценного средства программирования для Windows - при выходе версии 5 - VB5. Версия VB6, входящая в состав Microsoft Visual Studio 6.0, стала по-настоящему зрелым и функционально богатым продуктом. После этого разработчики из Microsoft существенно изменили направление развития данной технологии.

Особенности:

  • Оператор \ - деление нацело, любая дробная часть отсекается.
  • Перед выполнением операции a\b a и b округляются до целого.

Округление происходит до ближайшего целого числа, но, если дробная часть в точности равна 0,5, то округление происходит до ближайшего четного целого. Примеры:

  • 19.5\1=20
  • 2.5\1=2
  • −3.5\1=-4
  • 19.5\2.5=10
  • 19.5\1.5=10
  • 21.4\2.5=10

Visual Basic Scripting Edition (VBScript)

Достоинства и недостатки

Достоинства

  • Высокая скорость создания приложений с графическим интерфейсом для MS Windows .
  • Простой синтаксис , позволяющий очень быстро освоить язык.
  • Возможность компиляции как в машинный код , так и в P-код (по выбору программиста). В режиме отладки программа всегда (вне зависимости от выбора) компилируется в P-код, что позволяет приостанавливать выполнение программы, вносить значительные изменения в исходный код, а затем продолжать выполнение: полная перекомпиляция и перезапуск программы при этом не требуется.
  • Защита от ошибок, связанных с применением указателей и доступом к памяти. Этот аспект делает Visual Basic приложения более стабильными, но также является объектом критики.
  • Возможность использования большинства WinAPI функций для расширения функциональных возможностей приложения. Данный вопрос наиболее полно исследован Дэном Эпплманом , написавшим книгу «Visual Basic Programmer’s Guide to the Win32 API».

NET Basisdaten Paradigmen: prozedural, vollständig objektorientiert Erscheinungsjahr … Deutsch Wikipedia

Visual Basic 6.0 - Visual Basic .NET Basisdaten Paradigmen: prozedural, vollständig objektorientiert Erscheinungsjahr: 2002 Entwickle … Deutsch Wikipedia

Visual Basic - Desarrollador(es) Microsoft msdn.microsoft.com/en us/vbasic/default.aspx Información general Extensiones comunes .bas … Wikipedia Español

Visual Basic - Visual Basic, Programmiersprache zur Entwicklung von Windows Anwendungen, die 1991 von Microsoft vorgestellt wurde. Mit Visual Basic wurden zum ersten Mal Konzepte der objektorientierten Programmierung einem großen Kreis von Entwicklern… … Universal-Lexikon

Visual Basic - es un lenguaje de programación desarrollado por Microsoft. Visual Basic es un lenguaje visual que desciende del lenguaje de programación BASIC. Su primera versión fue presentada en 1991 con la intención de simplificar la programación utilizando… … Enciclopedia Universal

Visual Basic - noun (computing) A form of the programming language BASIC, widely used in creating graphics and software (abbrev VB) Main Entry: visual … Useful english dictionary

Visual Basic - (izg. vìžjuel bèjzik) m DEFINICIJA inform. vrsta računalnog jezika za razvoj namjenskih programa koji rade u MS Windows grafičkoj okolini ETIMOLOGIJA engl. prema nazivu proizvoda© … Hrvatski jezični portal

Visual Basic - This article is about the Visual Basic language shipping with Microsoft Visual Studio 6.0 or earlier. For the Visual Basic language shipping with Microsoft Visual Studio .NET or later, see Visual Basic .NET. Visual Basic Paradigm(s) Object based… … Wikipedia

Visual Basic - Cet article concerne le langage Visual Basic, commercialisé avec Microsoft Visual Studio 6.0 et antérieur. Pour la version de Visual Basic commercialisée avec Microsoft Visual Studio .Net, voir Visual Basic .NET. Visual Basic Auteur … Wikipédia en Français

visual basic - {{#}}{{LM V43109}}{{〓}} {{[}}visual basic{{]}} {{■}}(ing.){{□}} {{《}}▍ s.m.{{》}} Véase {{B04866}}{{}}basic{{↓}}. {{★}}{{\}}PRONUNCIACIÓN:{{/}} . {{★}}{{\}}ORTOGRAFÍA:{{/}} Por ser un extranjerismo debe escribirse con cursiva u… … Diccionario de uso del español actual con sinónimos y antónimos

Книги

  • Visual Basic 2012 Programmer"s Reference , Rod Stephens. The comprehensive guide to Visual Basic 2012 Microsoft Visual Basic (VB) is the most popular programming language in the world, with millions of lines of code used in businesses and… электронная книга
  • Visual Basic 2008 For Dummies , Bill Sempf. Visual Basic is a favorite programming language, so if you’re new to programming, it’s a great place to start. Visual Basic 2008 For Dummies is the fun and easy way to begin creating…
Похожие статьи