Среда программирования 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.
comEnglish Русский Правила
Visual Basic — диалект языка программирования Basic
Visual Basic (VB) — является языком программирования третьего поколения (событийный язык программирования) и среда разработки от Microsoft для модели программирования COM. Этот язык был получен из BASIC и допускает быструю прикладную разработку (RAD) графического интерфейса пользователя (GUI), доступ к базам данных при помощи DAO, RDO, ADO, создание элементов управления ActiveX и объектов. Языки сценариев (VBA, VBScript) синтаксически подобны Visual Basic, но отличаются от него.
Язык Visual Basic унаследовал дух, стиль и отчасти синтаксис своего предка — языка Бэйсик, у которого есть немало диалектов. В то же время Visual Basic — современный язык программирования, сочетающий процедуры и элементы объектно-ориентированных и компонетно-ориентированных языков программирования. Среда разработки VB включает инструменты для визуального конструирования пользовательского интерфейса.
Последняя версия (шестая) была выпущена в 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.
- целые числа автоматически преобразуются в вещественные при использовании деления (
/). Оператор (\) производит деление с усечением дробной части. - для переменных, которые были объявлены без указания типа, используется по умолчанию тип
. Но при использовании оператора variantDeftypeможно установить иной тип по умолчанию (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
голова>
<тело>
). Тип по умолчанию может быть отменен для переменной при использовании специального символа-суффикса в имени переменной.
Кроме того, появилась возможность писать на VB классы, а также возможность компиляции в «родной» для процессора машинный код, что значительно увеличило скорость выполнения программ
Используется в основном для автоматизации администрирования систем Windows, а также для создания страниц ASP и сценариев для Internet Explorer
.." & 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
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
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
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
WriteLine("привет, мир")
Конец сабвуфера
Конечный класс
FixedSingle
ClientSize = новый размер (466, 127)
Controls.Add(lblHelloWindows)
Конец сабвуфера
Конец класса
dll /target:winexe