Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВМИП.doc
Скачиваний:
17
Добавлен:
11.07.2019
Размер:
359.94 Кб
Скачать

Тема 2 Особенности программирования в оконных операционных средах

Для программирования в оконных операционных средах обычно используется интегрированная среда разработки IDE (Integrated Development Environment). Такие среды входят в состав наиболее распространенных сегодня систем программирования Borland Delphi и Microsoft Visual Studio. IDE позволяет создавать, компилировать, тестировать и редактировать проект в единой среде программирования. Для этого в нее интегрирован набор визуальных инструментов, облегчающих и значительно ускоряющих процесс разработки готового приложения. В процессе работы разработчик использует готовые компоненты и проектирует в среде будущее приложение. Такая реализация указанных систем программирования позволяет отнести их к средствам быстрой разработки приложений – RAD (Rapid Application Development).

Так как и Delphi и Visual Studio относятся к системам визуального программирования, поэтому разработка приложения в них включает три этапа:

– построение интерфейсной части (установка свойств главной формы, размещение на ней необходимых интерфейсных компонентов и задание их свойств);

– написание кода обработчиков событий и процедур, определяющих функциональность приложения;

– компиляция программы – преобразование исходной программы в машинный код.

При конструировании интерфейса приложения используется принцип WYSIWYG (What You See Is What You Get – Что видите, то и получите).

Общие сведения о технологии .Net

Как уже говорилось выше в 2000 году компания Microsoft предложила принципиально новую идеологию – «.NET», суть которой состоит в том, что программирование постепенно перемещается от отдельного компьютера в сеть (NET по-английски – «сеть») и в Интернет, а значит нужно делать упор на программирование в сетях, Интернете. Отсюда также следует, что особое внимание нужно обращать на безопасность выполнения программ. Одной из основных идей Microsoft .NET является совместимость различных служб (классов, методов, процедур и т.д.), написанных на разных языках.

Претворяя в жизнь идеологию .NET, фирма Microsoft разработала комплекс программных средств для ее осуществления. Этот всеобъемлющий комплекс принято называть «платформой .NET». Предполагается, что эта платформа будет поддерживаться не только Windows, но и другими операционными системами.

Важной составной частью платформы .NET является программный комплекс .NET Framework. Он предназначен специально для разработки программ и для поддержки их выполнения на компьютере, и при этом упрощается разработка приложений в сильно распределенном окружении Интернета. Вы не сможете программировать ни на одном из языков Visual Studio, если на компьютере не установлен .NET Framework.

.NET Framework включает две основные части:

Библиотеку классов .NET Framework, которая является всесторонней, объектно-ориентированной коллекцией типов и содержит большое количество классов, достаточное для разработки практически любой программы, начиная с традиционных приложений с командной строкой и с использованием графического пользовательского интерфейса и заканчивая приложениями, использующими Web-формы и XML Web-сервисы;

Единую среду исполнения CLR (Common Language Runtime) – это часть .NET Framework, которая управляет выполнением кода вашей программы на компьютере, памятью и обеспечивает надежность и безопасность этого выполнения. Код, генерируемый CLR, называется управляемым кодом, а код, не использующий возможности CLR, называется неуправляемым. Вы не сможете выполнить на чужом компьютере программу, созданную в среде Visual Studio .NET, если на нем не установлен CLR. Компания Microsoft планирует включить .NET Framework в будущие версии Windows, так что вскоре проблемы с выполнением программ в указанном случае должны исчезнуть.

Чтобы программировать для платформы .NET фирма Microsoft разработала в качестве инструментов серию тесно взаимосвязанных языков программирования:

– Visual Basic .NET;

– Visual C++ .NET;

– Visual C# .NET;

– Visual J# .NET.

Все они включены в единую программную систему, которая называется Visual Studio .NET. Она включает в качестве своей неотъемлемой части единую среду разработки для всех этих языков и единые вспомогательные средства. Это удобно и должно способствовать легкости переучивания с языка на язык. Инсталляционный пакет Visual Studio .NET включает в себя .NET Framework и все другие необходимые системные программы.

Так как исполнительная среда CLR из состава Visual Studio .NET является общей для всех языков .NET, то код, предназначенный для выполнения в CLR, может быть написан на любом языке и с одинаковым успехом использоваться во всех языках, соответствующих спецификации CLR. Например, код на Visual Basic может использоваться в программах, написанных на С#, и наоборот, причем это не потребует дополнительных усилий со стороны программиста.

Принципиальное новшество Visual Studio .NET – общий формат исполняемого кода .NET, так называемый Microsoft Intermediate Language (промежуточный язык Microsoft, MSIL), или просто IL. Он представляет собой частично откомпилированный код, в дальнейшем преобразуемый в машинный код средой .NET во время выполнения. Т.е. в языках .NET используется двухшаговая схема компиляции: сначала программа, написанная на любом языке, компилируется в IL, а затем полученный IL-код преобразуется в машинный код. Подобная схема относительно легко обеспечивает межъязыковую совместимость, а итоговое использование машинного кода обеспечивает хорошее быстродействие.

Событийно-управляемое программирование

Ориентирование на события – это стержень создания виндов с приложением в Visual Basic (VB). При этом разработка выполняется не только в Windows (W), но и как в W. MS – это система, базирующаяся на сообщениях и событиях. Это значит, что каждое действие в W вызывает событие, которое в виде сообщения передается в приложение. Приложение анализирует это сообщение и выполняет соответствующие действия. Приложения, созданные с помощью VB, также работают по этому принципу. Но при этом система Visual Basic.Net (VB.N) берет на себя часть работы. Она перехватывает сообщения и передает его соответствующему объекту (например, какой-либо кнопки), где затем вызывает соответствующее событие (например, событие click).

События

Когда вы в некоторой программе щелкаете мышью по какой-либо кнопке, происходит событие. VB.N перехватывает соответствующее сообщение от W и вызывает событие click для объекта command 1 (командная кнопка). В результате вызывается для выполнения процедура обработки данного события. Отсюда главный вывод: для выполнения программного кода всегда необходимо событие. Ни один код не выполняется без события. В программах управляемых событиями, нет сплошного кода, который выполняется от начала и до конца. Это значит, что после запуска программы, у пользователя больше нет четко определенного пути. Он может в любое время нажать какую-нибудь кнопку в приложении, может выполнить ввод текста в поле, может в любое время прекратить обработку и вызвать другую программу (например, любое приложение W). W и VB.N предоставляют ряд различных событий. Поэтому приложению следует ждать, пока не наступит какое-либо событие, предусмотренное в программе, и только потом выполнять соответствующий ему код.

Объекты

Объекты являются причиной использования в VBN понятий из объектно-ориентированного программирования (ООП). Многое или почти все из того, с чем мы работаем в VBN, является объектами. Например, командная кнопка, текстовое поле, раскрывающиеся списки, меню и команды в нем и т.д. Каждый объект характеризуется определенными параметрами, которые можно разделить на 3 категории: события, методы и свойства. Например, звонит телефон – это событие, поднятие трубки – метод, свойства – цвет телефона. Объекты объединяются в классы. А классы – в пространства имен. К одному классу принадлежат объекты с одинаковым набором свойств, методов и событий. События связаны с определенными действиями пользователя и могут вызывать код VB.N. Методы – рабочие операторы объекта. Например, метод move позволяет переместить элемент управления в заданную позицию. Свойства отвечают за внешний вид и поведение объекта. Например, свойство text определяет текст надписи на объекте.

Каждый объект имеет свой специфический набор свойств. Часто границы между свойствами и методами являются расплывчатыми. Например, имеется метод move, который изменяет позицию объекта, но есть и некоторые свойства: такие как location.X и location.Y, выполняющие аналогичные действия. Основное различие между методами и свойствами заключается в том, что со свойствами можно работать, как во время разработки проекта, так и во время выполнения приложения. Тогда как методы доступны только при выполнении.

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

В VB.N как и во многих других современных языках программирования весь программный код находится внутри процедур. Собственно процедура – это подпрограмма, оформленная особым образом и содержащая программный код. Такие процедуры могут вызываться ми самими. При этом обработка событий реализуется как процедуры. создавать и собственные процедуры. Так называемые – общие. Функция построена точно так же, как процедура, но имеется 1 отличие: как и в математике, результатом работы функции является возвращаемое значение.

Понятие проекта

Visual Studio.Net (VS.N) принадлежит к так называемым средам визуальной разработки программ. Это значит, что она берет на себя значительную часть работы по написанию скучных команд, предоставляя программисту вместо этого «собирать домик из кубиков». Современный программист, работающий в средах визуальной разработки программ (ВРП), выполняет 3 этапа: 1 – вручную выставляет на экране компьютера необходимые объекты, которые будут выполнять программу; 2 – пишет программу; 3 – запускает ее. Именно из-за первого этапа работа программиста теперь напоминает работу конструктора-проектировщика, поэтому продукт работы программиста теперь называют не программой, а проектом. Хотя часто пользуются и прежней терминологией. Готовый проект будем называть приложением. Создавая любое приложение, даже самое простое, мы всегда работаем с проектом.

Приложения VB строятся по модульному принципу, т.е. могут состоять из различных компонентов. Поэтому в VB проект – это контейнер, в котором находятся все требуемые формы приложения и другие визуальные элементы вместе с программным кодом. Кроме того к проекту можно подключать библиотеки (dll) и компоненты сторонних разработчиков. Проекты по умолчанию сохраняются в каталоге my documents. Эту опцию можно изменить в диалоговом окне options.

Файловая структура нового проекта обычно содержит:

*.sln содержит сведения об отдельных проектах и файлах решения, а также их расположении. Эта информация необходима для компиляции решения.

*.vbproj – файл проекта VB.N, написанный на языке xml и содержащий информацию обо всех файлах проекта, в том числе значения различных свойств.

*.suo – файл с настройками решения, используемый проектом. В нем в частности содержатся сведения об установленных точках прерывания и открытых документах.

*.vb – файл формы проекта. По умолчанию form1.vb – это текстовый файл с исходным текстом программы, который можно редактировать любым редактором.

*.resx – файл метаданных xml, содержащий ссылки проекта.

Bin – каталог, содержащий двоичные файлы, полученные при компиляции (exe).

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

Интегрированная среда разработки VB

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

Windows Application (WA) предназначен для создания традиционного винда с приложением и приложения типа «клиент-сервер». Пользовательский интерфейс для которых ориентируется с помощью форм W. Для формы можно задать определенные характеристики и располагать на ней различные элементы управления.

Class Library (CL)

Console Application (CA)

Device Application (DA) для интеллектуальных устройств.

Excel Workbook

Word Document

Windows Control Library и др.

Интегрированная среда разработки может быть активирована стандартным для ОС Windows образом.

Компиляция проекта, отладка и оптимизация приложений

Для компиляции проекта обычно используются программы: Build и Rebuild. При выборе первой команды компилятор ограничивается построением частей проекта, изменившихся с момента последнего построения; а вторая всегда строит заново. Результаты компиляции и построения проекта отображаются в окне вывода. При работе над большим и сложным проектом ошибки неизбежны, поэтому важна отладка приложения. Отладка – проверка работы и исправление ошибок программистом перед передачей проекта на тестирование. Ошибки в программе могут быть синтаксическими и смысловыми. Синтаксические наиболее очевидны. Они возникают, если код написан без соблюдения правил языка программирования. Эти ошибки обычно обнаруживаются компилятором, который выдает соответствующее сообщение в окне вывода (output). В этих сообщениях указаны номер строки, файл, в котором обнаружена ошибка, и краткое ее описание. Обнаруживаются и исправляются эти ошибки достаточно легко и быстро. Смысловые являются более серьезными. Они возникают, когда синтаксический код корректен, но выполняемые им действия отличаются от задуманных программистом. Эти ошибки не обнаруживаются компилятором. Именно для обнаружения ошибок данного вида и проводится отладка. В набор инструментария для отладки входят следующие основные инструменты: панели инструментов (Standard, Debug – отладка), диалоговое окно (Break points), окно непосредственного выполнения (Immediate), окно наблюдения (Watch), окно локальные переменные (Locals), редактор кода и др. В VS 2005 и далее в режиме отладки можно просматривать значения различных переменных и непосредственно в редакторе кода на всплывающих подсказках просто подведя к ним указатель мыши.

Оптимизация приложений

Целью любой разработки является создание максимально эффективного приложения. Однако некоторые параметры приложений могут быть противоречивыми (например, размер приложения и скорость его работы). Именно в таких случаях и производится поиск эффективного решения в условиях противоречий и ограничений, т.е. оптимизация. Целью оптимизации является создание приложения, выполняющего все поставленные перед ним функциональные задачи максимально быстро и при этом с использованием минимального количества ресурсов системы (например, место на диске или в памяти компьютера при загрузке приложения). Поэтому перед проведением оптимизации необходимо ясно представлять, какие параметры являются наиболее важными: скорость или ресурсы (в зависимости от назначения приложения). Для оптимизации скорости работы приложения рекомендуется: избегать использования приложения типа object и присваивать переменным соответствующие их использованию типы; применять для арифметических вычислений переменные типа (Long, Integer), т.к. они наиболее соответствуют машинному коду; присваивать значения часто используемого свойства объекта переменным, т.к. назначение и чтение переменных работает быстрее в 10-20 раз. Для хранения одинаковых значений в процедурах вместо переменных типа статик используйте переменные уровня модуля, поскольку они работают быстрее, однако код программы чуть-чуть увеличивается; для критичных по времени вычислений код процедур приводите непосредственно в месте их использованиях вместо вызова этих процедур, который занимает определенное время; вместо переменных насколько это возможно используйте const, т.к. const при компиляции включаются в текст программы, а значения переменных нужно извлекать из памяти.

Для оптимизации размера приложения рекомендуется:

  1. уменьшить количество загружаемых форм и элементов управления в них

  2. максимально применять для вывода текстовых значений объекты Label место Textbox

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

  4. избегать «мертвого кода»

Частично оптимизацию размера кода выполняет сам VB. Например, пустые строки и комментарии в текст программы не вставляются. Не рекомендуется экономить на длине имен идентификаторов, они оптимизируются компилятором.

20.09.11

ТЕМА 3

+ от 13.09.11

Константы

Константой называют данное, значение которого не изменяется в процессе выполнения программы.

Например,

108 – целая числовая константа

75,07 – целая вещественная константа

2,7е+6 – целая вещественная константа в экспоненциальном формате

«Ошибка» – строковая константа

#8/12/2009# – константа типа «дата»

False – логическая константа.

Встроенные константы VB.N

VB.N содержит огромное количество встроенных констант практически для всех возможных случаев: для обозначения цвета нажимаемой клавиши, стандартных сообщений, некоторых свойств и т.д. Встроенные константы имеют префикс vb. Для поиска констант определенной категории используют браузер объектов, который вызывается нажатием кнопки object browser на стандартной панели инструментов или в меню «вид».

Объявление констант

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

Const имяКонст [As типДанных] = выражение

Например,

Const PI = 3,1415926535 (числовая вещественная)

Const strErrAsString = «Ошибка».

При объявлении константы, глобальной или локальной на уровне модуля, нужно дополнительно указать область ее действия, указав в самом начале модуля или формы (перед ключевым словом const) соответственно ключевое слово public или private.

Public Const имяКонст [As типДанных] = выражение

Операторы и функции, используемые в выражениях

Сайт Майкрософта …/fl5ea9k8.aspx

Присваивание значений переменным

Прежде чем использовать переменную в программе, ей необходимо присвоить некоторое значение. Самый простой способ присваивания заключается в использовании оператора присваивания (=), которая имеет следующий синтаксис: «переменная=выражение».

В схемах алгоритмов оператор присваивания изображается алгоритмической конструкцией «процесс».

Например, sngFirst=10.1.

Справа от знака равенства может стоять как константа, так и целое выражение.

Например,

Result = sngFirst + 1,2e-1

strName = «Иванов»& «: »&strTeam.

(& - обозначение смешения строк)

VB.N допускает использование сокращенных записей операций с присваиванием:

A^ = B

A = A^B

A*=B

A = A*B

A/=B

A = A/B

A\=B

A = A\B

A =/ B (операция конкатенации)

A+ = B

А- = B

A << = B

A >> = B

Арифметические операторы и выражения

Арифметические операторы позволяют выполнять в программе действия над числами.

Арифметические операторы и выполняемые ими функции в порядке уменьшения приоритета (если приоритеты операций совпадают, то операции выполняются слева направо).

Оператор

Выполняемая операция

^

Возведение в степень

+, -

Унарный плюс и минус (a=-b)

*, /

Умножение и деление с плавающей точкой (вещественных значений)

\

Целочисленное деление

Mod

Остаток от деления нацело

+, -

Бинарные сложения и вычитания

<<, >>

Арифметический поразрядный сдвиг

В VB.N у чисел с плавающей точкой (double, single) деление на 0 не генерирует ошибку, а фиксирует положительную/отрицательную/бесконечность (PositiveInfinity, NegativeInfinity, Infinity). А так же, что объект не является числом (NaN). В отличие от чисел с плавающей точкой при делении целочисленных переменных на 0 ошибка генерируется.

Арифметические операторы предназначены для создания выражений. Выражения представляют собой совокупность констант, переменных и обращенных к функциям, разделяемым знаками арифметических операций и скобками. Для изменения естественного порядка выполнения вычислений в выражении используются круглые скобки. Под естественным порядком считается направление слева направо. Глубина вложенности скобок не регламентируется. Чтобы избежать большой вложенности скобок в выражении, рекомендуется разбивать его на несколько выражений.

Операторы отношения

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

Операторы отношения

Оператор

Выполняемая операция сравнения

=

Равно

<>

Не равно

<

Меньше

>

Больше

<=

Меньше или равно

>=

Больше или равно

Is

Сравнение объектов

Like

Сравнение представлений строки и шаблона

Значение результата операции отношения так же зависит от параметра option compare. Значение результата можно посмотреть в «options». Если он установлен в значении «текст», значит, регистр букв при сравнении не имеет значения. И для сравнения используется текстовая сортировка. Если же он установлен в значении «binary» (является значением по умолчанию), то сравнение исходит из двоичных представлений символов, основанных на конкретных национальных установках, а не на текстовом представлении. Синтаксис шаблонов соответствия следующий:

? - один любой символ

* – отсутствие/наличие любого количества любых символов

# – любая цифра [0;9]

[…] – список символов, ограниченный квадратными скобками, означает любой символ из этого списка

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

X-X – символы, разделенные дефисом означают любой символ, входящий в заданный диапазон значений символов Unicode.

console.WriteLine(«Dog» Like «D*»)’ True

console.WriteLine(«A» Like «a»)’ False

console.WriteLine(«XYZ» Like «X[ACY]?»)’ True

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

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

Оператор

Выполняемая операция

Not

Логическое «не» (отрицание). Возвращает обратное для значения выражения значения, т.е. если true, то возвращается значение false

And

Логическое «и» (конъюнкция). Возвращает значение true, если все участвующие в операции выражения имеют значения true. О остальных случаях – false.

Or

Логическое «или» (дизъюнкция). Возвращает значение true, если хотя бы одно из участвующих в операции выражение имеет значение true. Когда все false, возвращается значение false.

Xor

Исключающее «или». Возвращает значение true, если только 1 из участвующих имеет значение true. В остальных – false.

AndAlso

Логическое объединение 2х булевых выражений. Возвращает true, если оба true. Если первое false, то второе даже не рассматривается.

OrElse

Логическое разъединение 2х булевых выражений. Возвращает true, если одно из выражений true. Если первое true, то второе даже не рассматривается.

Все логические операции могут выполняться над результатами выражений отношения. Логические операторы Not, And, Or, Xor могут использоваться и в побитовых операциях над числовыми значениями. Синтаксис использования логических операций такой же, как и у арифметических.

(выр.1 And выр.2 And выр.3) Or (выр.4 Xor выр.5)

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

  • Вычисление операторов производится слева направо;

  • В первую очередь выполняются арифметические операции, затем отношения/сравнения, затем логические;

  • Операторы отношения имеют одинаковый приоритет;

  • Операторы, заключенные в скобки в любых выражениях, вычисляются раньше операторов, находящихся за их пределами;

  • Оператор конкатенации (&) имеют больший приоритет, чем операторы отношения, но меньше, чем арифметические.

Математические функции и методы класса System.Math

Встроенные математические функции, используемые ранее в VB6 работают так же и в VB.N, но все же рекомендуется использовать методы класса System.Math (S.M), входящего в .Net Framework. В этот класс входят 2 полезные константы Math.PI (число PI – отношение длины окружности к ее диаметру), Math.E (число e – основание ln).

Общие математические функции и методы класса S.M

Математическая функция

Метод класса S.M

Описание

Большинство функций и методов имеют аргументы типа double и возвращают значения типа double. Кроме того для генерации случайных чисел в библиотеке VB.N имеются 2 функции и ряд методов специального класса Random.

Функции и методы класса System.Random

Функция

Метода класса System.Random

Описание

Rnd (x)

{Примеры использования функций и методов из это таблицы. В примере нужно найти генератор случайных чисел в заданном диапазоне}

27.09.11

Массивы

Массив представляет собой набор переменных одного типа с одним именем и разными индексами. Каждая такая переменная называется элементом массива. Количества хранящихся в массиве элементов называется размером массива. Размер массива ограничивается типом данных элементов массива и объемом оперативной памяти. Индекс элемента массива указывается в круглых скобках после имени массива, например strName(1).

Объявление статических массивов

Объявление статического массива зависит от области его видимости и осуществляется следующим образом:

  • Глобальный массив объявляется с помощью ключевого слова public в начале модуля;

  • Локальный массив объявляется с помощью ключевого слова private или dimв начале модуля, процедуры или блока.

При объявлении массива после его имени в круглых скобках указывается верхняя граница массива. По умолчанию нижней границей массива является 0. Например, Dim intArr(20) As Integer. В приведенном примере задается массив из 21 элемента. Для того, чтобы объявить глобальный нужно Public. VB.N позволяет использовать и многомерные массивы (до 32 измерений).

Например, -(“-(20, 20)-“-

(строка, столбец)

В данном примере объявляется двумерный массив из 21 строки и 21 столбца. При объявлении массива так же допускается его инициализация. При этом начальные значения каждого элемента указываются в фигурных скобках и разделяются запятыми. Например,

Dim strDN()As Astring={“Пн”, “Вт”, “Ср”, “Чт“, “Пт”, “Сб”, “Вс”}

Dim intN(,)As Integer={{1,2},{3,4}}

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

Использование динамических массивов

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

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

Dim intArr(2)As Integer

-“-( )-“-

  1. С помощью выполняемого оператора ReDim указывается размерность массива в виде числа или выражения. Синтаксис оператора ReDim аналогичен синтаксису оператору объявления статического массива. Например,

ReDim intArr(x+1)

ReDimArr(20)

При выполнении оператора ReDim данные, размещенные в массиве ранее, теряются. Это удобно в том случает, если данные нам больше не нужны, и мы хотим переопределить размерность массива и подготовить его для размещения новых данных. Если же мы хотим изменить размер массива, не потеряв при этом данных, то необходимо воспользоваться оператором ReDim с ключевым словом Preserve. Например,

ReDim Preserve intArr(20+y)

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

Методы класса SystemArray для работы с массивами

Метод массива

Описание

Структуры

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

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

[Dim/Public/Private] member1 As dataType1

[Dim/Public/Private] memberN As dataTypeN

End Structure

Public varName As structName

Где structName – это имя типа, определяемого пользователем, т.е. имя типа структуры. Member – это имя элемента, определяемого пользователем типа dataType – тип данных элемента структуры. varName – переменная типа созданной структуры.

Например,

Public Index As UInteger

Public City As String

Public Street As String

Public Home As UShort

Public Apartment As UShort

End Structure

Private MyAddr As Address

Внутри структуры по умолчанию переменные, описанные как Dim, считаются глобальными. Структуры могут быть вложенными друг в друга. Например,

Dim Name As String

Dim DataBirth As Date

Dim Phone As String

Dim Email As String

DimAddr() As Address

End Structure

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

Private MyData As IndData

MyData.DateBirth=”17-May-88”

MyData.Addr.City=”Moscow”

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

Работа со строками

В VB.N значения строкового типа (литералы) заключаются в кавычки, а для работы со строками используется оператор конкатенации (объединение, слияние, &) и встроенные функции.

Основные строковые функции

Функция

Описание

Format

InStr

InStrRev

Свойства и методы класса System String

Структурное оформление программного кода

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

Комментарий в тексте программы начинается с символа «’». Комментарий может находиться либо в начале строки кода, либо в ее конце. Комментарий продолжается до конца строки.

В том случае, когда оператор имеет большую длину его можно разбить на несколько строк, используя символы продолжения строки – пробел, за которым следует символ подчеркивания:

« _»

Например, strName=strLastName&FirstName&strSecondName меняется на

strName=strLastName& _

strFirstName& _

strSecondName& _

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

strLastName=”Иванов “: strFirstName=”Иван ”

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

Такой режим работы редактора кода Indent type установлен по умолчанию. Если вы обнаружили, что этот режим выключен, то его можно включить в диалоговом окне Options параметр tools.

Программные модули

Программы VB.N хранятся в программных модулях, которые бывают 3 видов: модуль формы, стандартный модуль, модуль класса.

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

Стандартные модули могут содержать объявления глобальных и локальных переменных, констант, типов, внешних процедур и процедур общего характера, объединённых общим смыслом и доступных для других модулей данного приложения.

Модули классов используются в VB.N при применении объектно-ориентированного программирования. Они содержат шаблоны для создания новых объектов со своими свойствами и методами. Форма так же является объектом.

ТЕМА 4

Операторы управления и циклов

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

Операторы управления порядком выполнения команд

Для изменения порядка выполнения операторов в программе в зависимости от выполнения/не выполнения VB.N имеет управляющие операторы 2 основных типов if и Select Case. If используется в том случае, когда необходимо, чтобы группа операторов выполнялась при соблюдении некоторого условия. Конструкция Select Case позволяет на основе анализа значения заданного выражения выполнять те или иные действия. Основанием для принятия решения в управляющих операторах if являются выражения отношения и логические операции.

Условный оператор if

Имеет 2 формы записи: сокращенную и полную. Сокращенная форма применяется, когда необходимо выполнить определенные действия при соблюдении некоторого условия. А полная форма используется, когда необходимо выполнить разные действия (1 из 2) в зависимости от выполнения и невыполнения некоторых условий. Для обеих форм используются 2 разновидности записи операторов: однострочная и многострочная. Форматы записи оператора if для различных форм и разновидностей имеют следующий вид:

Сокращенная форма

Однострочный формат

If условие Then оператор.

Пример

If x>0 Then y=1

If условие then

операторы

End if

If x>0

Если указанное условие выполняется, то выполняются его операторы, следующие за ключевым словом then. Если