Среда программирования Visual C++ — презентация онлайн
Похожие презентации:
Интегрированная среда разработки программного обеспечения Microsoft Visual Studio. Платформа.NET. Среда Visual Studio.NET
Язык программирования C#
Основы программирования на C#. Раздел № 4
Платформа .NET и ее применение для объектно-ориентированного подхода к программированию
Язык C#
Системное программирование для Microsoft.NET на языке C#. Лекция 1
Технологии программирования. (Задание 1)
Начало работы с C#. (Модуль 1)
Основы С#. Платформа Microsoft.NET. Основные понятия. Пространство имен. (Лекция 1)
Разработка приложений Windows Forms в среде .NET
Среда
программирования Visual
C++
Выполнил: Евгений Токарев
Среда программирования (IDE)
IDE( Integrated development environment, Интегрированная среда разработки) комплекс программных средств, используемый программистами для разработки
программного обеспечения (ПО).
Среда разработки включает в себя:
текстовый редактор,
компилятор и/или интерпретатор,
средства автоматизации сборки,
отладчик.
Примеры
Для нескольких языков программирования:
Microsoft Visual Studio
Eclipse
Xcode
Embarcadero RAD Studio
Для одного языка программирования:
Delphi
Dev-C
Microsoft Visual Studio
Microsoft Visual Studio — линейка продуктов компании Microsoft,
включающих интегрированную среду разработки программного
обеспечения и ряд других инструментальных средств. Данные
продукты позволяют разрабатывать как консольные приложения,
так и приложения с графическим интерфейсом, в том числе с
поддержкой технологии Windows Forms, а также веб-сайты, вебприложения и веб-службы.
Компоненты
Visual Studio включает один или несколько компонентов из следующих:
Visual Basic .NET, а до его появления — Visual Basic
Visual C++
Visual C# (включен начиная с Visual Studio .NET)
Visual F# (включен начиная с Visual Studio 2010)
Многие варианты поставки также включают:
Microsoft SQL Server либо Microsoft SQL Server Express
Пример рабочего окна Visual C++
. NET Framework
.NET Framework — программная платформа, выпущенная
компанией Microsoft в 2002 году. Основой платформы является
общеязыковая среда исполнения Common Language Runtime (CLR),
которая подходит для разных языков программирования.
Функциональные возможности CLR доступны в любых языках
программирования, использующих эту среду.
Практически все компоненты Visual Studio работают на этой
платформе.
Архитектура .NET
Программа для .NET Framework, написанная на любом
поддерживаемом языке программирования, сначала переводится
компилятором в единый для .NET промежуточный байт-код
Common Intermediate Language (CIL). В терминах .NET получается
машиной Common Language Runtime (CLR), либо транслируется
утилитой NGen.exe в исполняемый код для конкретного целевого
процессора.
Архитектура .NET
Спасибо за внимание
Источники:
www.wikipedia.org
www.visualstudio. com
English Русский Правила
Visual Basic — диалект языка программирования Basic
Visual Basic (VB) — является языком программирования третьего поколения (событийный язык программирования) и среда разработки от Microsoft для модели программирования COM. Этот язык был получен из BASIC и допускает быструю прикладную разработку (RAD) графического интерфейса пользователя (GUI), доступ к базам данных при помощи DAO, RDO, ADO, создание элементов управления ActiveX и объектов. Языки сценариев (VBA, VBScript) синтаксически подобны Visual Basic, но отличаются от него.
Язык Visual Basic унаследовал дух, стиль и отчасти синтаксис своего предка — языка Бэйсик, у которого есть немало диалектов. В то же время Visual Basic — современный язык программирования, сочетающий процедуры и элементы объектно-ориентированных и компонетно-ориентированных языков программирования. Среда разработки VB включает инструменты для визуального конструирования пользовательского интерфейса.
Программист может создавать приложение, используя компоненты предоставленные в Visual Basic. Программы, написанные в Visual Basic, могут также использовать Windows API (требует объявление внешних функций).Последняя версия (шестая) была выпущена в 1998 году. Корпорация Microsoft продлила поддержку продукта до 2008, и объявила преемника — Visual Basic.NET.
Языковые особенности
Visual Basic легко использовать для изучения и использования. Он позволяет разрабатывать не только простые приложения с графическим интерфейсом, но и создавать сложные приложения. Программирование в VB представляет собой сочетание визуальных компонентов и контролов, определение атрибутов и действий для компонентов, написание дополнительного кода для расширения функциональных возможностей. Определенные по умолчанию значения и действия для компонентов позволяют создать простую программу без написания кода программистом. Ранние версии имели определенные проблемы с производительностью программ, но с использованием современных компьютеров и компиляцией собственного кода данная проблема стала менее значимой.
Компиляция программ была введена в Visual Basic 5, но при этом исполняемые программы до сих пор требуют наличия определенных библиотек для запуска. Эти библиотеки включены в Windows, начиная с Windows 2000, но для более ранних версий Windows они должны поставляться вместе с программой.
Формы создаются при помощи технологии «перетащи и брось» (drag and drop). Элементы управления просто размещаются на форме (например, поля ввода, кнопки, и т.д.). Элементы управления имеют свои атрибуты и обработчики событий. Многие атрибуты могут быть изменены во время исполнения программы, что позволяет создавать программы, динамически реагирующие на действия пользователя.
Visual Basic может создать исполняемые программы (EXE файлы), элементы управления ActiveX, библиотеки DLL, но, прежде всего, используется для разработки Windows приложений. Диалоговые окна с ограниченными функциональными возможностями могут использоваться для обеспечения подсказок. Элементы управления обеспечивают основные функциональные возможности приложения, а программист может расширить логику программы при помощи обработчиков событий. Например, выпадающий список автоматически отображает список и позволяет пользователю выбрать элемент. Обработчик событий вызывается для исполнения дополнительного кода в зависимости от выбранного элемента.
Язык использует справочную информацию для сбора мусора, имеет большую библиотеку сервисных объектов, объектно-ориентированную разработку. В отличие от многих других языков программирования, Visual Basic не зависим от регистра. Сравнение строк зависит от регистра, но может быть выполнено без учета регистра.
Компилятор Visual Basic поставляется вместе с другими языками Visual Studio (C, C++), но ограничения в интегрированной среде разработки не позволяют создание некоторых видов приложений.
Характеристики Visual Basic
Visual Basic обладает следующими чертами:
- булевская постоянная «истина» имеет числовое значение −1 и «ложь» значение 0, потому что тип Boolean хранится как 16-разрядное целое число со знаком. Они взаимосвязаны между собой через логическую операцию Not иначе говоря Истина = Не Ложь.
- логические и битовые операторы объединены. Этим он непохож ни на один C подобный язык (Java, Perl).
- массивы объявляются с определением верхней и нижней границ, как это делается в Pascal и Fortran. Возможно, при использовании оператора Option Base, установить нижнюю границу по умолчанию, но это приводит к запутанности программ. Нижняя граница массивов не ограничена 0 или 1 и можно устанавливать более низкие границы. В Visual Basic .NET и VBScript нижняя граница фиксирована.
- сильная интеграция с операционной системой Windows и COM.
- целые числа автоматически преобразуются в вещественные при использовании деления (
/
). Оператор (\
) производит деление с усечением дробной части. - для переменных, которые были объявлены без указания типа, используется по умолчанию тип
. Но при использовании оператораDeftype
можно установить иной тип по умолчанию (DefInt
,DefBool
,DefVar
,DefObj
,DefStr
и др. ). Тип по умолчанию может быть отменен для переменной при использовании специального символа-суффикса в имени переменной.
Эволюция Visual Basic
VB 1.0 появился в 1991 году. Используемый в нём принцип связи языка и графического интерфейса был разработан Аланом Купером (Alan Cooper) и реализован в прототипе Tripod (также известном как Ruby).
- май 1991 — выпущен Visual Basic 1.0 для Microsoft Windows
- сентябрь 1992 — выпущен Visual Basic 1.0 под DOS. Он не был полностью совместим с Windows-версией VB, поскольку по сути являлся следующей версией QuickBASIC и работал в текстовом режиме экрана
- ноябрь 1992 — выпущен Visual Basic 2.0. Среда разработки стала проще в использовании и работала быстрее
- летом 1993 — вышел в свет Visual Basic 3.0 в версиях Standard и Professional. В состав поставки входил движок для работы с базами данных Access
- август 1995 — Visual Basic 4.0 — версия, которая могла создавать как 32-х так и 16-разрядные Windows-программы. Кроме того, появилась возможность писать на VB классы, а также возможность компиляции в «родной» для процессора машинный код, что значительно увеличило скорость выполнения программ
- февраль 1997 — Visual Basic 5.0 — версия, в которой стало возможно делать свои компоненты
- 1998 — версия 6.0 — 6.3 — появилась русская версия, с возможностью писать имена переменных и процедур кириллицей.
- 2001 — Visual Basic .NET, вместе с .NET Framework
- 2003 — Visual Basic .NET 2003, вместе с .NET Framework 1.1
- конец октября 2005 — выпущена Visual Studio 2005, включающая Visual Basic .NET 2005. В это же время выпущен .NET Framework 2.0 и Microsoft SQL Server 2005. Немногим позже появилась версия Visual Basic Express — бесплатная редакция VB.NET 2005
Основные разновидности Visual Basic
Корпорация Microsoft разработала разновидности Visual Basic для создания сценариев. Со временем оригинальный Visual Basic был заменен версией . NET.
- Классический Visual Basic (версии 5-6) — язык очень сильно привязан к своей среде разработки и к операционной системе Windows, являясь исключительно инструментом написания Windows-приложений. Привязка к среде заключается в том, что существует большое количество средств, предназначенных для помощи и удобства программирования: встроенный отладчик, просмотр переменных и структур данных на лету, окно отладки, всплывающая подсказка при наборе текста программы. Все эти преимущества делают бесполезным и даже невозможным использование Visual Basic вне среды разработки, например в обычном текстовом редакторе
- Visual Basic for Applications (VBA) —средство программирования, практически ничем не отличающееся от классического Visual Basic, которое предназначено для написания макросов и других прикладных программ для конкретных приложений. Наибольшую популярность получил благодаря своему использованию в пакете Microsoft Office. Широкое распространение Visual Basic for Applications в сочетании с изначально недостаточным вниманием к вопросам безопасности привело к широкому распространению макровирусов
- Visual Basic Scripting Edition (VBScript) — скриптовый язык, являющийся несколько усечённой версией обычного Visual Basic. Используется в основном для автоматизации администрирования систем Windows, а также для создания страниц ASP и сценариев для Internet Explorer
- Visual Basic .NET — преемник Visual Basic 6.0 и часть платформы Microsoft .NET
CamelCase:
Пример для версий VBA 6.3, VBA 6.5
Sub CamelCase() Dim Text As String Text = LCase(Application.InputBox("Enter Text")) For i = 1 To Len(Text) Step 1 If InStr("abcdefghijklmnopqrstuvwxyz", Mid(Text, i, 1)) = 0 Then Text = Replace(Text, Mid(Text, i, 1), " ") End If Next i MsgBox (Replace(StrConv(Text, vbProperCase), " ", "")) End Sub
Hello, World!:
Пример для версий VBA 6.3, VBA 6.5
Этот код создает макрос под названием “Hello”, выполнение которого выводит окно с сообщением “Hello, World!” и единственной кнопкой “OK”.
Sub Hello() MsgBox ("Hello, World!") End Sub
Факториал:
Пример для версий VBA 6.3, VBA 6.5
Факториал вычисляется итеративно; значения накапливаются в строковой переменной и затем выводятся в одном окне. &
— оператор конкатенации, CStr
преобразует число в строку (несмотря на то, что факториал хранится как число с плавающей точкой, выводится он без дробной части), Chr
возвращает символ с заданным ASCII-кодом.
Sub Factorial() Dim f As Double Dim res As String f = 1 For i = 0 To 16 res = res & CStr(i) & "! = " & CStr(f) & Chr(10) f = f * (i + 1) Next i MsgBox (res) End Sub
Числа Фибоначчи:
Пример для версий VBA 6.3, VBA 6.5
Используется рекурсивное вычисление чисел Фибоначчи. Отметим, что в этом случае тип счетчика цикла i
приходятся объявлять в явном виде, иначе он принимает тип Variant
и не может быть передан в функцию вместо типа Integer
.
Public Function Fibonacci(N As Integer) As Integer If N < 2 Then Fibonacci = N Else Fibonacci = Fibonacci(N - 1) + Fibonacci(N - 2) End If End Function Sub Fib() Dim res As String Dim i As Integer For i = 1 To 16 res = res & CStr(Fibonacci(i)) & ", " Next i MsgBox (res & "...") End Sub
Hello, World!:
Пример для версий VBScript 5.7, VBScript 5.8
Программа выводит сообщение в консоль и запускается командой cscript.exe
.
WScript.Echo("Hello, World!")
Факториал:
Пример для версий VBScript 5.7, VBScript 5. 8
Факториал вычисляется итеративно. Обратите внимание на то, что переполнения переменной-факториала не происходит, несмотря на то, что ее тип определяется автоматически.
f = 1 For i = 0 To 16 WScript.Echo(i & "! = " & f) f = f * (i + 1) Next
Числа Фибоначчи:
Пример для версий VBScript 5.7, VBScript 5.8
Числа Фибоначчи вычисляются рекурсивно. Обратите внимание на то, что многие элементы, типичные для Visual Basic, здесь отсутствуют: объявление переменных и типа значения, возвращаемого функцией, явное преобразование чисел в строку для конкатенации и т.д.
Function Fibonacci(N) If N < 2 Then Fibonacci = N Else Fibonacci = Fibonacci(N - 1) + Fibonacci(N - 2) End If End Function For i = 1 To 16 res = res & Fibonacci(i) & ", " Next WScript.Echo (res & "...")
CamelCase:
Пример для версий VBScript 5. 7, VBScript 5.8
В отличие от многих других реализаций Visual Basic, в VBScript нет функции StrConv
. Поэтому проще всего выполнить нужное преобразование строки посимвольно.
Text = LCase(WScript.StdIn.ReadLine) CamelCase = "" WasSpace = True For i = 1 To Len(Text) Ch = Mid(Text, i, 1) If InStr("abcdefghijklmnopqrstuvwxyz", Ch) = 0 Then WasSpace = True Else If WasSpace Then CamelCase = CamelCase & UCase(Ch) Else CamelCase = CamelCase & Ch End If WasSpace = False End If Next WScript.Echo CamelCase
Hello, World!:
Пример для версий VB.NET 9 (2008), vbnc 2.4.2
Module Module1 Sub Main() Console.WriteLine("Hello, World!") End Sub End Module
Hello, World!:
Пример для версий Microsoft Visual Basic 6
Microsoft Visual Basic предназначен для разработки приложений с оконным интерфейсом, поэтому создание простейшего консольного приложения является нетривиальной задачей. В примере показаны: импорт нужных функций из стандартной библиотеки, создание консоли, получение указателя на ее стандартный поток вывода, собственно вывод сообщения в этот поток и освобождение использованных объектов.
Option Explicit Declare Function AllocConsole Lib "kernel32" () As Long Declare Function FreeConsole Lib "kernel32" () As Long Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) As Long Declare Function WriteConsole Lib "kernel32" Alias "WriteConsoleA" _ (ByVal hConsoleOutput As Long, lpBuffer As Any, ByVal _ nNumberOfCharsToWrite As Long, lpNumberOfCharsWritten As Long, _ lpReserved As Any) As Long Declare Function Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) As Long Private Sub Main() 'create a console instance AllocConsole 'get handle of console output Dim hOut As Long hOut = GetStdHandle(-11&) 'output string to console output Dim s As String s = "Hello, World!" & vbCrLf WriteConsole hOut, ByVal s, Len(s), vbNull, vbNull 'make a pause to look at the output Sleep 2000 'close the handle and destroy the console CloseHandle hOut FreeConsole End Sub
Факториал:
Пример для версий VB. NET 9 (2008), vbnc 2.4.2
Используется рекурсивное определение факториала.
Module Module1 Function Factorial(ByVal n As Integer) As Long If n = 0 Then Return 1 Else Return n * Factorial(n - 1) End If End Function Sub Main() For i As Integer = 0 To 16 Console.WriteLine(i & "! = " & Factorial(i)) Next End Sub End Module
Факториал:
Пример для версий Microsoft Visual Basic 6
Используется итеративное определение факториала.
Option Explicit Declare Function AllocConsole Lib "kernel32" () As Long Declare Function FreeConsole Lib "kernel32" () As Long Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) As Long Declare Function WriteConsole Lib "kernel32" Alias "WriteConsoleA" _ (ByVal hConsoleOutput As Long, lpBuffer As Any, ByVal _ nNumberOfCharsToWrite As Long, lpNumberOfCharsWritten As Long, _ lpReserved As Any) As Long Declare Function Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) As Long Private Sub Main() 'create a console instance AllocConsole 'get handle of console output Dim hOut As Long hOut = GetStdHandle(-11&) 'output string to console output Dim s As String Dim i As Integer Dim f As Long f = 1 s = "0! = 1" & vbCrLf WriteConsole hOut, ByVal s, Len(s), vbNull, vbNull For i = 1 To 16 Step 1 f = f * i s = i & "! = " & f & vbCrLf WriteConsole hOut, ByVal s, Len(s), vbNull, vbNull Next i 'make a pause to look at the output Sleep 2000 'close the handle and destroy the console CloseHandle hOut FreeConsole End Sub
Факториал:
Пример для версий Microsoft Visual Basic 6
Используется рекурсивное определение факториала. Из-за арифметического переполнения при вычислении факториалов 13-16 вывод программы заканчивается на строке “12! = …”, после чего в отдельном не-консольном окне выдается сообщение “Run-time error ‘6’: Overflow”.
Option Explicit Declare Function AllocConsole Lib "kernel32" () As Long Declare Function FreeConsole Lib "kernel32" () As Long Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) As Long Declare Function WriteConsole Lib "kernel32" Alias "WriteConsoleA" _ (ByVal hConsoleOutput As Long, lpBuffer As Any, ByVal _ nNumberOfCharsToWrite As Long, lpNumberOfCharsWritten As Long, _ lpReserved As Any) As Long Declare Function Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) As Long Public Function Factorial(ByVal n As Integer) As Long If (n = 0) Then Factorial = 1 Else Factorial = n * Factorial(n - 1) End If End Function Private Sub Main() 'create a console instance AllocConsole 'get handle of console output Dim hOut As Long hOut = GetStdHandle(-11&) 'output string to console output Dim s As String Dim i As Integer For i = 0 To 16 Step 1 s = i & "! = " & Factorial(i) & vbCrLf WriteConsole hOut, ByVal s, Len(s), vbNull, vbNull Next i 'make a pause to look at the output Sleep 2000 'close the handle and destroy the console CloseHandle hOut FreeConsole End Sub
Числа Фибоначчи:
Пример для версий VB. NET 9 (2008), vbnc 2.4.2
Используется рекурсивное определение чисел Фибоначчи.
Module Module1 Function Fibonacci(ByVal n As Integer) As Long If n < 3 Then Return 1 Else Return Fibonacci(n - 1) + Fibonacci(n - 2) End If End Function Sub Main() For i As Integer = 1 To 16 Console.Write(Fibonacci(i) & ", ") Next Console.WriteLine("...") End Sub End Module
Числа Фибоначчи:
Пример для версий Microsoft Visual Basic 6
Используется рекурсивное определение чисел Фибоначчи.
Option Explicit Declare Function AllocConsole Lib "kernel32" () As Long Declare Function FreeConsole Lib "kernel32" () As Long Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) As Long Declare Function WriteConsole Lib "kernel32" Alias "WriteConsoleA" _ (ByVal hConsoleOutput As Long, lpBuffer As Any, ByVal _ nNumberOfCharsToWrite As Long, lpNumberOfCharsWritten As Long, _ lpReserved As Any) As Long Declare Function Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) As Long Public Function Fibonacci(ByVal n As Integer) As Integer If (n <= 2) Then Fibonacci = 1 Else Fibonacci = Fibonacci(n - 1) + Fibonacci(n - 2) End If End Function Private Sub Main() 'create a console instance AllocConsole 'get handle of console output Dim hOut As Long hOut = GetStdHandle(-11&) 'output string to console output Dim s As String Dim i As Integer For i = 1 To 16 Step 1 s = Fibonacci(i) & ", " WriteConsole hOut, ByVal s, Len(s), vbNull, vbNull Next i s = ". .." & vbCrLf WriteConsole hOut, ByVal s, Len(s), vbNull, vbNull 'make a pause to look at the output Sleep 2000 'close the handle and destroy the console CloseHandle hOut FreeConsole End Sub
Квадратное уравнение:
Пример для версий VB.NET 9 (2008), vbnc 2.4.2
Module Module1 Sub Main() Dim A, B, C, D As Integer Dim p1, p2 As Double Try Console.Write("A = ") A = Val(Console.ReadLine()) Console.Write("B = ") B = Val(Console.ReadLine()) Console.Write("C = ") C = Val(Console.ReadLine()) Catch ex As Exception Console.WriteLine("Invalid input.") Return End Try If A = 0 Then Console.WriteLine("Not a quadratic equation.") Return End If D = B * B - 4 * A * C p1 = -B / 2. 0 / A p2 = Math.Sqrt(Math.Abs(D)) / 2.0 / A If D = 0 Then Console.Write("x = " & p1.ToString()) ElseIf D > 0 Then Console.WriteLine("x1 = " & (p1 + p2).ToString()) Console.WriteLine("x2 = " & (p1 - p2).ToString()) Else Console.WriteLine("x1 = (" & p1.ToString() & "," & p2.ToString() & ")") Console.WriteLine("x2 = (" & p1.ToString() & ",-" & p2.ToString() & ")") End If End Sub End Module
CamelCase:
Пример для версий vbnc 2.4.2
В этом примере каждый символ строки проверяется на принадлежность к латинскому алфавиту и в случае отрицательного результата заменяется на пробел. После этого строка переводится в Proper Case (все слова пишутся прописными буквами и начинаются с заглавной), и наконец, все пробелы убираются из строки.
Module Module1 Sub Main() Dim Text As String Dim i As Long Try Text = LCase(Console. ReadLine()) Catch ex As Exception Console.WriteLine("Invalid input.") Return End Try For i = 1 To Len(Text) Step 1 If InStr("abcdefghijklmnopqrstuvwxyz", GetChar(Text, i)) = 0 Then Text = Replace(Text, GetChar(Text, i), " ") End If Next Console.WriteLine(Replace(StrConv(Text, vbProperCase), " ", "")) End Sub End Module
Квадратное уравнение:
Пример для версий VBScript 5.7, VBScript 5.8
Function GetInt() Input = WScript.StdIn.ReadLine If not IsNumeric(Input) Then WScript.Echo "Coefficient is not a number." WScript.Quit End If GetInt = CInt(Input) End Function A = GetInt() If A = 0 Then WScript.Echo "Not a quadratic equation." WScript.Quit End If B = GetInt() C = GetInt() D = B * B - 4 * A * C p1 = -B / 2.0 / A p2 = Sqr(Abs(D)) / 2.0 / A If D = 0 Then WScript. Echo "x = " & p1 Else If D > 0 Then WScript.Echo "x1 = " & (p1 + p2) WScript.Echo "x2 = " & (p1 - p2) Else WScript.Echo "x1 = (" & p1 & ", " & p2 & ")" WScript.Echo "x2 = (" & p1 & ", " & -p2 & ")" End If End If
Квадратное уравнение:
Пример для версий VBA 6.3, VBA 6.5
Function GetInt(Name As String) As Integer Dim Coef As String Coef = Application.InputBox("Enter Coefficient " & Name) GetInt = CInt(Coef) End Function Sub Quadratic() Dim A As Integer, B As Integer, C As Integer, D As Integer A = GetInt("A") If A = 0 Then MsgBox ("Not a quadratic equation.") Exit Sub End If B = GetInt("B") C = GetInt("C") D = B * B - 4 * A * C Dim p1 As Double, p2 As Double p1 = -B / 2# / A p2 = Sqr(Abs(D)) / 2# / A If D = 0 Then MsgBox ("x = " & CStr(p1)) Else If D > 0 Then MsgBox ("x1 = " & CStr(p1 + p2) & Chr(10) & "x2 = " & CStr(p1 - p2)) Else MsgBox ("x1 = (" & CStr(p1) & ", " & CStr(p2) & ")" & Chr(10) & "x2 = (" & CStr(p1) & ", " & CStr(-p2) & ")") End If End If End Sub
Пример программы Visual Basic .
NETПервая программа, которую нужно написать, одинакова для всех языков: распечатайте слова привет мир
— Брайан В. Керниган и Деннис М. Ритчи, Язык программирования C
По традиции книги по программированию начинаются с привет, мир пример. Идея состоит в том, что вход и запуск программы — любой программы — может быть самым большим препятствие, с которым сталкиваются опытные программисты, приближающиеся к новой платформе или язык. Без преодоления этого препятствия ничто другое не может последовать. Эта глава содержит три таких примера: один создает консоль приложение, которое создает приложение с графическим интерфейсом, и одно, которое создает браузерное приложение. Каждый пример стоит отдельно и может быть запущен как есть. Консольное приложение и приложение с графическим интерфейсом могут быть скомпилированы из командной строки (да, Visual Basic .NET имеет компилятор командной строки!). Для браузерного приложения требуется компьютер с выходом в Интернет. Информационный сервер (IIS).
привет, мир
Это любимая программа в мире пример, переведенный на Visual Basic .NET:
Система импорта Общий модуль Привет Публичная вспомогательная основная( ) Console.WriteLine("привет, мир") Конец сабвуфера Конечный модуль
Эта версия привет, мир является консольное приложение — это
отображает свой вывод в окне командной строки Windows. Компилировать
эту программу, введите ее с помощью любого текстового редактора, например Windows
Блокнот, сохраните его в файле, имя которого заканчивается на .vb
, например Hello.vb
, и
скомпилируйте его из командной строки Windows с помощью этой команды:
vbc Hello.vb
Команда vbc
вызывает Visual Basic .NET
компилятор командной строки, который поставляется с .NET Framework SDK, и
указывает ему скомпилировать файл, указанный в аргументе командной строки. Компиляция Hello.vb
создает файл Hello.exe
. После компиляции введите Hello
в командной строке для запуска вашей программы.
На рис. 1-1 показаны результаты компиляции и
запуск этой программы.
Рис. 1-1. Компиляция и запуск hello, world
Если вы привыкли программировать на Visual Basic 6, вы можете увидеть даже из этой маленькой программы, что Visual Basic изменился резко. Вот разбивка того, что происходит в этот код.
Первая строка:
Imports System
указывает, что программа может использовать один или несколько типов, определенных в
Система пространство имен .
(Типы сгруппированы в пространства имен, чтобы избежать конфликтов имен и
для группировки родственных типов вместе.) В частности, привет, программа world использует класс Console, который определен в
пространство имен системы. Оператор Imports
просто удобство. Это не нужно, если разработчик готов
уточните имена типов с их именами пространств имен. Например, привет, мир программа могла бы быть написана
Сюда:
Общий модуль Hello Публичная вспомогательная основная( ) System.Console.WriteLine("привет, мир") Конец сабвуфера Конечный модуль
Однако обычно используется Импорт
заявление, чтобы уменьшить количество нажатий клавиш и визуальный беспорядок.
Важным пространством имен для разработчиков Visual Basic является
Microsoft.VisualBasic. Типы в этом пространстве имен предоставляют члены
которые образуют встроенные функции и подпрограммы Visual Basic.
Например, функция Visual Basic Trim
представляет собой
член класса Microsoft.VisualBasic.Strings, а Функция MsgBox
является членом
Класс Microsoft.VisualBasic.Interaction. Кроме того, Визуальный
Внутренние константы Basic берутся из перечислений внутри этого
пространство имен. Большая часть функций, доступных в этом пространстве имен,
однако он также дублируется в базе данных .NET Framework. Классная библиотека. Разработчики, не знакомые с Visual Basic 6
скорее всего, предпочтут игнорировать это пространство имен, предпочитая
функциональные возможности, предоставляемые .NET Framework. .NET Framework — это
представлены позже в этой главе и подробно объясняются в главе 3.
Далее рассмотрим эту строку:
Public Module Hello
Эта строка начинается с объявления стандартного модуля с именем Привет
. Объявление стандартного модуля заканчивается
эта строка:
Конечный модуль
В Visual Basic 6 различные программные объекты определялись размещением
исходный код в файлах с различными расширениями имен файлов. Например,
код, который определял классы, был помещен в .cls
файлы, код, определяющий стандартные модули, был помещен в .bas
файлы и так далее. В Visual Basic .NET все
исходные файлы имеют расширения .vb
и
программные объекты определяются с явным синтаксисом. Например,
классы определяются с помощью Class. ..End Class
конструкции, а стандартные модули определяются с помощью Модуль...Конечный модуль
конструкция. Любой конкретный .vb
файл может содержать столько таких
декларации по желанию.
Целью стандартных модулей в Visual Basic 6 было хранение кода это было вне любого определения класса. Например, глобальный константы, глобальные переменные и библиотеки процедур часто размещаются в стандартных модулях. Стандартные модули в Visual Basic .NET служат той же цели и могут использоваться почти таким же образом. Однако в Visual Basic .NET они определяют типы данных, которые нельзя создан и все члены которого являются статическими. Это будет обсуждаться более подробно в главе 2.
Следующая строка в примере начинается с определения подпрограммы
названный Основной
:
Public Sub Main()
Заканчивается на:
End Sub
Этот синтаксис похож на Visual Basic 6. Sub
утверждение начинается с определения подпрограмма — а
метод, который не имеет возвращаемого значения.
Основная подпрограмма
является точкой входа для
приложение. При вызове компилятора Visual Basic .NET он выглядит
для подпрограммы с именем Основной
в одном из
классы или стандартные модули, предоставляемые приложением. Если Main
объявлен в классе, а не в
стандартный модуль, подпрограмма должна быть объявлена с Общий модификатор
. Этот модификатор указывает, что
класс не должен быть создан для того, чтобы подпрограмма была
вызывается. В любом случае подпрограмма Main
должен быть Общедоступный
. Пример оформления Основная подпрограмма
в классе, а не в
стандартный модуль приведен в конце этого раздела.
Если подпрограмма Main
не найдена или если более
один найден, генерируется ошибка компилятора. Командная строка
компилятор имеет переключатель
( /главная:
адрес
), что
позволяет вам указать, какой класс или стандартный модуль содержит Основная подпрограмма
, которая должна использоваться в случае
что их больше одного.
Наконец, есть строка, которая выполняет работу:
Console.WriteLine("hello, world")
Этот код вызывает метод WriteLine класса Console, который выводит аргумент на консоль. Метод WriteLine определен как общий (также известный как статический ) метод. Общие методы не требуют экземпляр объекта для вызова; неразделяемые методы делать. Общие методы вызываются путем их квалификации с помощью их класса. имя (в данном случае Консоль).
Вот программа, которая использует класс вместо стандартного модуля для
дом его Основная подпрограмма
. Обратите внимание, что Основной
объявлен с Общий модификатор
. Он компилируется и запускается в
так же, как в примере со стандартным модулем, и он производит то же самое
выход. Нет технических причин для выбора одной реализации
над другим.
Система импорта Публичный класс привет Общедоступный общий вспомогательный основной ( ) Console. WriteLine("привет, мир") Конец сабвуфера Конечный класс
Здравствуйте, Windows
Вот версия с графическим интерфейсом привет, мир
:
Система импорта Импортирует System.Drawing Импортирует System.Windows.Forms Открытый класс HelloWindows Наследует форму Частный lblHelloWindows как метка Общедоступный общий вспомогательный основной ( ) Application.Run(Новый HelloWindows()) Конец сабвуфера Публичная подписка Новая( ) lblHelloWindows = Новая метка() С помощью lblHelloWindows .Расположение = Новая точка (37, 31) .Размер = Новый Размер(392, 64) .Font = Новый шрифт ("Arial", 36) .Text = "Привет, Windows!" .TabIndex = 0 .TextAlign = ContentAlignment.TopCenter Конец с Me.Text = "Программирование Visual Basic .NET" AutoScaleBaseSize = Новый размер (5, 13) FormBorderStyle = FormBorderStyle. FixedSingle ClientSize = новый размер (466, 127) Controls.Add(lblHelloWindows) Конец сабвуфера Конец класса
Это похоже на консоль hello, world приложение, но с дополнительными вещами, необходимыми, так как это графический интерфейс
приложение. Два дополнительных оператора Imports
нужно для отрисовки окна приложения:
Импорт System.Drawing Imports System.Windows.Forms
В классе HelloWindows есть то, что есть в программах Visual Basic
никогда ранее не встречавшийся оператор наследует
:
Наследует форму
Язык Visual Basic .NET имеет наследование классов. Класс HelloWindows наследуется от класса Form, который определен в пространство имен System.Windows.Forms. Наследование классов и 9Оператор 0027 Inherits обсуждается в главе 2.
В следующей строке объявляется элемент управления меткой, который будет использоваться для
отображение текста Здравствуйте,
Windows
:
Private lblHelloWindows As Label
Класс Label определен в пространстве имен System. Windows.Forms.
Как и в случае с консольными приложениями, приложения с графическим интерфейсом должны иметь
общая подпрограмма с именем Main
:
Общедоступная вспомогательная основная( ) Application.Run(Новый HelloWindows()) Конец суб
Этот метод Main создает экземпляр класса HelloWindows и передает его методу Run класса Application (определенному в пространство имен System.Windows.Forms). Метод Run заботится о обслуживание настройки цикла сообщений Windows и подключив форму HelloWindows к это.
Next — еще один специальный метод:
Public Sub New()
Like Main
, New
имеет специальный
значение для компилятора Visual Basic .NET. Подпрограммы с именем Новые
компилируются в конструкторы .
Конструктор — это метод, который не имеет возвращаемого значения (но может иметь
аргументы) и автоматически вызывается всякий раз, когда появляется новый объект
конкретизируется данный тип. Конструкторы объясняются далее в
Глава 2.
Конструктор в классе HelloWindows создает экземпляр метки
объект, задает некоторые его свойства, задает некоторые свойства объекта
формы, а затем добавляет объект Label в элементы управления формы.
коллекция. Интересно отметить, насколько это отличается
от того, как Visual Basic 6 представляет дизайн форм. В Visual Basic 6,
макет формы был представлен данными в .frm
файлы. Эти данные были не кодом, а списком свойств.
и значения различных элементов формы. В Visual Basic .NET,
этот подход ушел. Вместо этого операторы Visual Basic .NET должны
явно создавать визуальные объекты и задавать их свойства. Когда
формы разрабатываются в Visual Studio .NET с использованием технологии перетаскивания.
Designer, Visual Studio .NET создает этот код от вашего имени.
Командная строка для компиляции Hello, Windows программа:
vbc HelloWindows.vb /reference:System.dll,System.Drawing.dll,System.Windows.Forms. dll /target:winexe
(Обратите внимание, что в этой строке нет разрыва.)
В командной строке для компиляции программы Hello, Windows больше материала, чем в строке для
консольная программа hello, world . Кроме того
указание имени файла .vb , это
командная строка использует переключатель /references
для
указать три .dll
s, которые содержат
реализации библиотечных классов, используемых в программе (Form, Label,
Точка и др.). Консоль привет, мир
приложение не требовало ссылок при компиляции
потому что он использовал только класс Console, определенный в System.
пространство имен. Компилятор командной строки Visual Basic .NET включает два
неявно ссылается: mscorlib.dll
(который
содержит пространство имен System) и Microsoft.VisualBasic.dll
(содержит вспомогательную
классы, используемые для реализации некоторых функций Visual Basic
.СЕТЬ).
Помимо переключателя /references
, командная строка
для компиляции программы Hello, Windows
включает переключатель /target
. Переключатель /target
определяет тип исполняемого файла.
создается кодовый файл. Возможные значения
Переключатель /target
:
-
исполняемый файл
Создает консольное приложение. Сгенерированный файл имеет расширение
.exe
. Это значение по умолчанию.-
winexe
Создает приложение с графическим интерфейсом. Сгенерированный файл имеет расширение
.exe
.-
библиотека
Создает библиотеку классов. Сгенерированный файл имеет расширение
.dll
.
Результат Hello, Windows
показан на рис. 1-2.
Рис. 1-2. Привет, Виндовс!
Приложения с графическим интерфейсом подробно описаны в главах 4 и 5.
Привет, Браузер
Вот браузерная версия привет, мир
приложение. Потому что самый простой
версия такого приложения может быть выполнена только с помощью HTML,
Я добавил немного специй. Эта веб-страница содержит три кнопки
которые позволяют конечному пользователю изменять цвет текста.
<язык сценария = "VB" runat = "сервер"> Sub Page_Load (отправитель как объект, E как EventArgs) lblMsg.Text = "Привет, Браузер!" Конец сабвуфера Sub btnBlack_Click (отправитель как объект, E как EventArgs) lblMsg.ForeColor = System.Drawing.Color.Black Конец сабвуфера Sub btnGreen_Click (отправитель как объект, E как EventArgs) lblMsg.ForeColor = System.Drawing.Color.Green Конец сабвуфера Sub btnBlue_Click (отправитель как объект, E как EventArgs) lblMsg.ForeColor = System.Drawing.Color.Blue Конец сабвуфера скрипт> <голова>Программирование Visual Basic .NET голова> <тело>