Ранние версии Visual Basic (до версии 5.0) генерировали только P-код или псевдокод. Visual Basic 5 и 6 могут компилироваться в P-код или собственный код по выбору программиста. P-код интерпретируется средой выполнения языка, также называемой виртуальной машиной . Преимущество заключается в портативности и небольшом размере кода. Однако это обычно замедляет выполнение программы, так как добавляет дополнительный уровень интерпретации. Можно создавать небольшие части кода или определенные алгоритмы, которые работают быстрее в P-коде, чем в машинном коде .
Приложения Visual Basic требуют наличия среды выполнения Microsoft Visual Basic MSVBVMxx.DLL, где xx — номер версии, 50 или 60. MSVBVM60.DLL входит в стандартную комплектацию всех версий Windows после Windows 98 , а MSVBVM50. DLL присутствует во всех выпуски Windows после Windows 95 . Таким образом, для машины под Windows 95 было обязательным, чтобы программы Visual Basic распространялись с соответствующей DLL .
Visual Basic критикуют за неэффективное управление памятью и за возможность создания кода с использованием необразовательных конструкций, что может привести к плохим привычкам программирования и позволить писать плохо работающий код. В Visual Basic иногда бывает сложно определить, является ли переменная ссылкой на объект или на сам объект.
Точно так же иногда трудно сказать, скопирует ли операция ссылку на объект или скопирует весь объект. Эта неоднозначность может быть причиной непреднамеренного поведения или привести к некачественной работе программы.
Примеры кода
Вот несколько примеров кода Visual Basic:
Функция, которая возвращает (вычисляет) площадь круга:
Private Function AireDuCercle ( Radius Как Double ) Как Double
Const PI = 3.14159265358979
AireDuCercle = PI * ( радиус ^ 2 )
End Function
Программа, отображающая окно со словами «» «»
Sub Main ()
MsgBox ( «Hello World» )
End Sub
Запустите стороннее приложение из Visual Basic:
Private Sub Run_Notepad ()
Shell «% SystemRoot% \ notepad.exe» , vbMinimizedNoFocus
‘открывает Блокнот, потому что Блокнот находится в системном каталоге
‘% SystemRoot% — это переменная среды, содержащая путь к системному каталогу Windows.
Конец подписки
Объектное программирование:
System.Net.Mail Импорт
Открытый класс Form1
Private Sub CheckBox1_CheckedChanged ( отправитель как объект , e как EventArgs ) обрабатывает CBaccept . CheckedChanged
Button1 . Visible = True,
если CBaccept . Проверено = False, затем
Button1 . Visible = False
End If
End Sub
Частная подпрограмма Button1_Click ( отправитель как объект , e как EventArgs ) обрабатывает Button1 . Щелкните
Если TBname . Text = «» Или TBmail . Text = «» Или TBpass . Text = «» Или TBcpass . Text = «» Или TBfirstname . Text = «» Или TBpseudo . Текст = «» Или TBcandidature . Text = «» Или CBaccept . Checked = False Then
MsgBox ( «Вы должны заполнить все правильно» )
Exit Sub
End If
Если TBpasses . Текст <> TBcpass . Text Then
MsgBox ( «пароль не совпадает» )
Exit Sub
End If
Dim Name = TBname . Текст
Dim Firstname = TBfirstname . Текст
Dim Mail = TBmail . Text
Dim Pass = TBpasse
Dim Application = TBcandidature
Dim Nickname = TBpasse
Dim Message = «Test» & Nickname & vbCrLf & «application» & Application & vbCrLf & «first name» & First name
Dim MyMailMessage как новое MailMessage ()
Dim SMTPServer как новый SmtpClient ( «example@gmail.com» )
MyMailMessage . From = New MailAddress ( «example@gmail.com» )
MyMailMessage . Для . Добавьте ( «example@gmail.com» )
MyMailMessage . Subject = ( «тема сообщения» )
MyMailMessage . Body = ( «Сообщение» )
SMTPServer . Порт = ( «587» ) ‘Порт
SMTPServer . Учетные данные = Новая система . Нетто . NetworkCredential ( «Sender_Address» , «Sender_password» )
SMTPServer . EnableSsl = True
SMTPServer . Отправить ( MyMailMessage ) ‘Отправить
End Sub
End Class
Разработка графических пользовательских интерфейсов в Visual Basic 6.0
Visual Basic позволяет разрабатывать очень богатые графические пользовательские интерфейсы. Многие типы программного обеспечения могут быть созданы быстро, например (неполный список): программное обеспечение для редактирования изображений, текстовые редакторы и приложения для баз данных.