VB.NET навсегда
Главная | | Регистрация | Вход
Воскресенье
06.07.2025
12:42
Приветствую Вас Гость | RSS
Главная » 2009 » Сентябрь » 17
Логические операции имеют один и тот же тип и операндов, и результата Boolean. Побитовые операции (как и операции сравнения) имеют числовые операнды, а в качестве результата — значение типа Boolean, но если в операциях сравнения анализируется лишь значение операнда, то в побитовых операциях задействован каждый бит операндов (или другими словами, каждая цифра двоичной записи операндов).

К логическим побитовым операциям относятся операции And, Or, AndAlso, OrElse, Xor и Not. Операция Not имеет только один операнд, остальные — по два операнда.

Операция And выполняет логическую конъюнкцию (И) двух выражений типа Boolean или побитовую конъюнкцию двух числовых выражений (точнее, их числовых результатов):
Result = Exprl And Expr2

Если Exprl и Ехрг2 — выражения типа Boolean, то результат логической операции And вычисляется в соответствии со следующей таблицей

Пример логических и побитовых операций
Dim A As Integer = 10
Dim В ... Читать дальше »
Просмотров: 2893 | Добавил: admin | Дата: 17.09.2009 | Комментарии (0)

Оператор присваивания в языке Visual Basic имеет вид переменная = выражение (три из четырех записанных нами в приложениях предыдущего урока операторов — операторы присваивания).

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

Важно представлять себе, что оператор присваивания не представляет собой равенство в алгебраическом смысле! Левую и правую части оператора
нельзя менять местами1. В языке Pascal запись оператора присваивания отличается от приведенной выше записи Visual Basic как раз тем, что вместо
знака «=» (равно) там используется знак присваивания «:=» (который в том числе подчеркивает несимметричность оператора).

Отметим, что когда-то в Visual Basic полагалось писать ключевое слово Let перед оператором присваивания. Нельзя сказать, что в VB.NET ... Читать дальше »
Просмотров: 6052 | Добавил: admin | Дата: 17.09.2009 | Комментарии (0)

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

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

Кроме того, в описании могут быть указаны:
О тип данных (Data Type);
О права доступа к переменной или константе (Accessibility);
О область видимости (Scope) — только для переменных;
О период существования или время жизни (Lifetime);
О уровень (Level).

При описании константы необходимо указывать ее значение. При описании переменно ... Читать дальше »
Просмотров: 990 | Добавил: admin | Дата: 17.09.2009 | Комментарии (0)

Конечно, при создании хоть сколько-нибудь серьезных приложений без написания кода не обойтись, и на следующем уроке мы познакомимся с основами языка Visual Basic.NET. Однако нужно четко представлять, что дает нам визуальное объектное программирование — если, скажем, лет десять назад до 90 % рабочего времени программиста могло затрачиваться на разработку пользовательского интерфейса, то теперь эти затраты, как правило, находятся в пределах 10 %.

За счет чего можно получить экономию труда разработчика при создании программ? В первую очередь, конечно, за счет повторного использования написанного кода. В 40-50 годы, на заре программирования, в эпоху первых компьютеров (которые назывались тогда электронно-вычислительными машинами, ЭВМ) повторное использование кода было весьма сложной задачей. Программирование велось в машинных кодах, а программист напоминал шифровальщика из старых шпионских фильмов — только он один чудесным образом мог превратить понят-
ную всем информацию в колон ... Читать дальше »
Просмотров: 1013 | Добавил: admin | Дата: 17.09.2009 | Комментарии (0)

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

Кроме этого, разработчики могут вводить новые функциональные возможности, создавая компоненты на основе API в других языках, например С, Fortran, Pascal и т.д.
Если созданные компоненты использовались дружественными типами данных, к ним можно обратиться из Visual Basic.
Использование компонентов, созданных на основе API, в среде .NET Framework происходит с помощью технологии Platform Invoke (P/Invoke). В языке Visual Basic.NET технология
P/Invoke, в свою очередь, реализуется с помощью хорошо знакомого оператора Declare. Обратите внимание, что в Visual Basic.NET непосредственные обращения к API Windows происходят гораздо реже ... Читать дальше »
Просмотров: 13079 | Добавил: admin | Дата: 17.09.2009 | Комментарии (38)

Для размещения исключений в языке VB.NET следует воспользоваться оператором Throw. Этот оператор имеет один обязательный параметр, который является объектом,
описываемым классом System. Exception. (В листинге 9.3 показан код, использующий исключение, размещенное в блоке Try.)

Если необходимо где-либо разместить исключение, его можно сгенерировать с помощью одного из методов

Перемещение исключений

'Создание и перемещение исключения в одном операторе
Throw New System.Exception() 'Использование базового исключения
'Генерация исключения и его отдельное перемещение
Dim oIOException As System.10.EndOfStreamException
oIOException = new System.10.EndOfStreamException(
"Sample End of Stream Exception")
Throw oIOException
Просмотров: 644 | Добавил: admin | Дата: 17.09.2009 | Комментарии (1)

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

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

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

Обработка ошибок является наиболее важным аспектом создания надежных прил ... Читать дальше »
Просмотров: 748 | Добавил: admin | Дата: 17.09.2009 | Комментарии (0)

В предыдущих версиях Visual Basic существовала возможность создания определяемых пользователем типов данных {User Defined Data Types, или UDT) с помощью оператора
Туре. Определяемый пользователем тип данных, как показано в листинге 7.12, представляет собой объединение нескольких различных типов в один тип данных.

ТИП Employee в Visual Basic 6.0

Public Type Employee
FirstName as String
LastName as String
SocialSecurityNumber as String
BirthDate as Date
Dependents as Integer
End Type
В VB.NET, как показано в листинге 7.13, оператор Туре заменен оператором Structure.
ЛИСТИНГ 7.13. Структура типа Employee в VB.NET
Public Structure Employee
Public FirstName as String
Public LastName as String
Public SocialSecurityNumber as String
Public BirthDate as Date
Public Dependents as Integer
End Structure


Оператор S t r u c t u r e фактически создает численный тип. В действительности структуры пр ... Читать дальше »
Просмотров: 2781 | Добавил: admin | Дата: 17.09.2009 | Комментарии (0)

Одним из наиболее часто используемых типов переменных является целочисленный. В предыдущих версиях Visual Basic к целым числам были отнесены все целые числа из диапазона -32 768-32 767. В VB.NET этот диапазон был увеличен на несколько порядков.

Теперь к данным типа I n t e g e r относятся все целые числа в диапазоне -2 147 483 648- 2 147 483 647. Кроме этого, существует несколько вариантов типа I n t e g e r , которые также относятся к численным типам: Short, Long и Byte. Тип Integer, как и Boolean, обладает определенными методами, которые используются для обработки данных. Кроме того, тип данных Integer содержит метод Format, позволяющий заменить функцию Format, используемую в предыдущих версиях Visual Basic. Функция Format в языках Visual Basic 6.0 и VB.NET имеет соответственно следующий вид:

SFormatedNumber = Format(iNumber,"$##,###")
SFormatedNumber = iNumber.Format("$##,###")


Просмотров: 561 | Добавил: admin | Дата: 17.09.2009 | Комментарии (0)

Булевы (или логические) переменные представляют собой базовый тип данных, который может принимать только одно из значений: истина или ложь (True или False).
В среде .NET Framework данные типа Boolean являются объектами и обладают определенными методами, позволяющими манипулировать типом. В основном это методы преобразования, используемые для конвертирования данных типа Boolean в строковые, целочисленные или другие типы данных.

В Visual Basic версий 5.0 или 6.0 для преобразования данных типа Boolean в данные, например, строкового типа используется функция CSTR, синтаксис которой приведен в следующем примере:

sFlag = CSTR(bFlag)

В VB.NET для подобных целей можно обратиться к синтаксису предыдущих версий или использовать объектно-ориентированную версию языка:

SFlag = bFlag.ToString ()
Просмотров: 682 | Добавил: admin | Дата: 17.09.2009 | Комментарии (0)

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

Обработка переменных и объектов осуществляется по-разному. Присвоение значения переменной в Visual Basic 6.0 происходит, например, следующим образом:
SName = sFirstName
При этом содержимое ячейки sFirstName копируется в ячейку sName. Следует заметить, что использование подобного выражения для объявления объектов приведет к
тому, что объекты oSalariedEmployee и oEmployee будут ссылаться на один и тот же объект. В этом случае при изменении свойств одного из объектов (например,
oSalariedEmployee.FirstName ="НовоеЗначение" или oEmployee.FirstName = "НовоеЗначение", где НовоеЗначение — произвольное зна ... Читать дальше »
Просмотров: 763 | Добавил: admin | Дата: 17.09.2009 | Комментарии (0)

В предыдущих версиях Visual Basic существовал только один способ создания обработчика событий — разработка процедуры

Синтаксис обработчика события в предыдущих версиях Visual Basic
ObjectName_EventName(Event Parameters)

Например, событие, происходящее при щелчке мышью на кнопке, которой присваивалось имя Buttonl, определялось как событие Buttonl_Click. Синтаксис событий в
среде .NET Framework и определяется так:
SuB EventHandlerNaine(ByVal sender As Object,
ByVal e As System.EventArgs) Handles Object.Event

В предыдущих версиях Visual Basic параметры событий передавались явно. В .NET Framework параметры включены во второй параметр, который фактически представля-
ет собой коллекцию. В листинге 4.20 приведен пример обработчика события Form MouseDown приложения Windows Form. Класс System. EventArgs является подклас-
сом, который вводит значения координат X и Y, а также свойства кнопки, позволяющие обеспечить функциональные возможности мыши.

Об ... Читать дальше »
Просмотров: 3843 | Добавил: admin | Дата: 17.09.2009 | Комментарии (0)

Теперь модель события в Visual Basic.NET выполнена на основе концепции делегатов.

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

Пример делегата

Delegate Function MyCompareDelegate(ByVal x As Integer,
ByVal у As Integer) As Boolean
Sub MySub(ByVal MyDelegate as MyCompareDelegate)
MyDelegate.Invoke(5,3)
End Sub
Function CompareLow(ByVal X as Integer, ByVal Y as Integer) as Boolean
If X > Y then
Return True
Else
Return False
End If
End Function
Function CompareHigh(ByVal X as Integer, ByVal Y as Integer)
as Boolean >
If X < Y then
Return True
Else
Return False
End If
End Function
Sub Main()
Call MySub(AddressOf Me.CompareLow)
Call MySub(AddressOf Me.CompareHigh)
End Sub
... Читать дальше »
Просмотров: 1762 | Добавил: admin | Дата: 17.09.2009 | Комментарии (0)

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

Сигнатуры функций

Public Function FunctionOne(ByVal companyName as String,
ByVal companylD as Integer) as String
End Function
Public Function FunctionTwo.(ByVal firstName as String,
ByVal employeeID as Integer) as String
End Function


Перегрузка функций является мощным средством, позволяющим с ... Читать дальше »
Просмотров: 1044 | Добавил: admin | Дата: 17.09.2009 | Комментарии (0)

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

Сигнатуры функций

Public Function FunctionOne(ByVal companyName as String,
ByVal companylD as Integer) as String
End Function
Public Function FunctionTwo.(ByVal firstName as String,
ByVal employeeID as Integer) as String
End Function


Перегрузка функций является мощным средством, позволяющим с ... Читать дальше »
Просмотров: 1561 | Добавил: admin | Дата: 17.09.2009 | Комментарии (0)

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

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

В чем же причина? Чтобы улучшить качество функционирования, разработчики предпочитают использовать ранее связывание, что позволяет им связывать компоненты
во время компиляции. В свою очередь, для того чтобы воспользоваться ран ... Читать дальше »
Просмотров: 1398 | Добавил: admin | Дата: 17.09.2009 | Комментарии (0)

Сущность наследования выражается в том, что один класс, называемый подклассом (или дочерним классом), может быть создан на основе другого класса, который,
в свою очередь, называется базовым (или родительским) классом. Наследование обеспечивает механизм для создания иерархий объектов. Например, собака (dog)
принадлежит классу млекопитающих (mammal), а колли ( c o l l i e ) является представителем класса собак. Таким образом, класс dog наследует свойства и методы класса
mammal, а класс c o l l i e , соответственно, наследует свойства и методы классов dog и
mammal.

В объектно-ориентированном языке существует два типа связей между объектами иерархии — HasA (имеет) и IsA (является). Например, колли IsA собакой и HasA хвост. Реализация наследования является объектно-ориентированным свойством, поддерживающим связи типа IsA, и представляет собой еще один способ, используемый в VB.NET для поддержки полиморфизма. Функция может принимать параметр mammal, после чего объект, поро ... Читать дальше »
Просмотров: 1517 | Добавил: admin | Дата: 17.09.2009 | Комментарии (0)

Сущность полиморфизма (polymorphism) заключается в том, что разные объекты могут иметь различные реализации одной и той же характеристики. В качестве примера
рассмотрим два объекта, один из которых является автомобилем Porsche 911, а Другой — Toyota Corolla. Оба объекта — автомобили; т.е. оба происходят из класса Саг и
содержат метод d r i v e . Но реализации методов, как видите, могут разительно отличаться друг от друга.

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

В Visual Basic 4.0 была реализована достаточно ограниченная поддержка полиморфизма, осуществленная с помощью динамического связывания. Динамическое или позднее
связывание (late binding) представляет собой определенную технологию, позволяющую определять во время выполнения ... Читать дальше »
Просмотров: 2192 | Добавил: admin | Дата: 17.09.2009 | Комментарии (0)

Объект должен скрывать детали своей реализации, открывая "внешнему миру" лишь методы и свойства. Инкапсуляция (encapsulation) представляет собой доступность свойств и
методов объекта," в то время как сам объект фактически скрыт от внешнего мира. Другими словами, объект подобен "черному ящику", т.е. те разработчики, которые с ним работают,
могут даже не знать о том, что в действительности происходит внутри данного объекта. Инкапсуляция позволяет разработчикам создавать объекты, которые могут быть из-
менены без какого-либо воздействия на использующий их клиентский код. Самое главное в том, что интерфейс (interface) объекта, т.е. набор его доступных свойств и методов,
не меняется даже при изменении внутренней реализации объекта. Visual Basic поддерживает инкапсуляцию начиная с версии 4.0.
Рассмотрим два простых примера. В листингах 3.5 и 3.6 представлены две реализации класса Person, выполненные двумя различными способами.

ЛИСТИНГ 3.5. Первый способ реализации класс ... Читать дальше »
Просмотров: 1455 | Добавил: admin | Дата: 17.09.2009 | Комментарии (1)

Абстрагирование (abstraction) — это возможность обобщения представлений объекта в виде типа данных, имеющего определенный набор характеристик и способного выполнить какой-либо набор действий. Например, абстрагирование объекта "собака" содержит характеристики c o l o r (цвет), height (рост) и weight (вес), а также набор действий, таких как run (бежать) и b i t e (кусать). В данном случае характеристики собаки называются свойствами {properties), а действия — методами (methods).

В объектно-ориентированных языках абстрагирование обеспечивается посредством классов (classes). Классы определяют свойства и методы объекта, но старайтесь не забывать о том, что разработчик не может использовать класс непосредственно; напротив, объект должен быть создан из класса — он должен быть реализован (instantiated).

В Visual Basic поддержка классов существует начиная с версии 4.0. Вплоть до появления VB.NET каждый класс был выполнен в виде отдельного файла, абстрагирующего
данный объект. Пр ... Читать дальше »
Просмотров: 1507 | Добавил: admin | Дата: 17.09.2009 | Комментарии (0)

За время своего существования Visual Basic превратился из объектного {object-based) в объектно-ориентированное (object-oriented) средство разработки. В ранних версиях Visual Basic некоторые ключевые особенности языка не были реализованы.

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

К Visual Basic.NET это не относится. Объектно-ориентированное программирование в .NET Framework фактически является необходимым условием, поэтому Visual Basic превратился в многофункциональный объектно-ориентированный язык.

Новыми свойствами языка являются поддержка наследования, новые методы объявления объектов, а также возможности атрибутивного программ ... Читать дальше »
Просмотров: 1142 | Добавил: admin | Дата: 17.09.2009 | Комментарии (1)

Обеспечивает многократное выполнение одной или нескольких операций.

Описание.
Цикл Do...Loop позволяет выполнять группу операций, пока заданное условие выполняется (While) или пока это условие не будет нарушено (Until).

Синтаксис:

При проверке условия в начале цикла

Do [While | Until condition]
[statements] [Exit Do] [statements]
Loop
При проверке условия в конце цикла
Do
[statements] [Exit Do] [statements]
Loop [While | Until condition]


Аргументы:
condition - условное выражение.
Возвращает Значение недоступно.

Пример:

DimiAslnteger = 0
DoWhilei<5
Console.WriteLine(i)
i+=1
Loop
l = 0
Do Until i > 5
Console.WriteLJne(i)
i = i+1
Loop


Просмотров: 584 | Добавил: admin | Дата: 17.09.2009 | Комментарии (0)

Программы, запускаемые из среды Windows, могут включать параметры
командной строки или имена файлов, перетащенных на значок исполня-
емого файла. Функция Command возвращает строку параметров, пере-
данных файлу типа ЕХЕ. Этот пример извлекает строку параметров, пре-
образует ее в массив с помощью функции Split() и выдает сообщение, в
котором указано число переданных параметров.
1. Создайте новый проект Windows Application в Visual Basic.
2. Введите следующий код для события Load для главной формы:


Private Sub Form_Load()
Dim fieldDelim As String = "
Dim myCommands As String
Dim myArgs() As String
myCommands = Command()
myArgs = myCommands.Split( _
fieldDelim.ToCharArray)
МздВох("Исполняемому файлу был передано " & Umbound(myArgs) & _
" параметров")
End Sub


3. Воспользуйтесь командой Build в меню Build, чтобы создать исполняе-
мый файл.

4. В Windows перетащите любой фа ... Читать дальше »
Просмотров: 1823 | Добавил: admin | Дата: 17.09.2009 | Комментарии (0)

Форма входа
Меню
Поиск
Наш опрос
Оцените мой сайт
Всего ответов: 8
Copyright MyCorp © 2025
Создать бесплатный сайт с uCoz