Учебное пособие Рекомендовано учебно-методическим советом угаэс уфа-2006 icon

Учебное пособие Рекомендовано учебно-методическим советом угаэс уфа-2006



Смотрите также:
Учебное пособие Рекомендовано учебно-методическим советом угаэс уфа 2006...
Учебное пособие Рекомендовано учебно-методическим советом угаэс уфа-2006...
Учебное пособие Часть 3 Рекомендовано учебно-методическим советом угаэс уфа-2006...
Учебное пособие Рекомендовано учебно-методическим советом угаэс уфа-2006...
Учебное пособие Рекомендовано учебно-методическим советом угаэс уфа-2010...
Учебное пособие Рекомендовано учебно-методическим советом по анатомии и гистологии...
Учебное пособие Рекомендовано Дальневосточным региональным учебно-методическим центром...
Учебное пособие для студентов специальности 5B050200 «Политология» Павлодар...
Учебное пособие Часть I рекомендовано научно-методическим советом университета белгород...
Учебное пособие Изд. 2-е, перераб и доп. Петрозаводск Издательство Петргу 2006...
Учебное пособие Изд. 2-е, перераб и доп. Петрозаводск Издательство Петргу 2006...
Учебное пособие Рекомендовано Учебно-методическим объединением по образованию в области водного...



страницы:   1   2   3   4   5   6   7
скачать
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГОУ ВПО

УФИМСКАЯ ГОСУДАРСТВЕННАЯ АКАДЕМИЯ

ЭКОНОМИКИ И СЕРВИСА


Кафедра информатики


СИДОРОВ М.Е.


ИНФОРМАТИКА


Часть 2


АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ

В СРЕДЕ VISUAL BASIC


Учебное пособие


Рекомендовано учебно-методическим советом УГАЭС


Уфа–2006

УДК 004.43 (07)

ББК 32.973-018 (я7)

С 34


Рецензент:

канд. техн. наук З.Ф. Исхаков


Сидоров М.Е.

Информатика. Ч 2. Алгоритмизация и программирование в среде Visual Basic : Учебное пособие / М.Е. Сидоров. – Уфа: Уфимск. гос. акад. экономики и сервиса, 2006. – С. 88.

ISBN 5-88469-291-9


Рассмотрены основы программирования в среде Visual Basic 6.0, свойства и методы основных элементов управления, примеры создания Windows приложений.


Предназначено для студентов всех специальностей, аспирантов и преподавателей.


Илл.: Библиогр.: назв.


ISBN 5-88469-291-9 © Сидоров М.Е., 2006

© Уфимская государственная академия

экономики и сервиса, 2006

СОДЕРЖАНИЕ


^ 2. АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ 5

В СРЕДЕ VISUAL BASIC 5

Введение 5

2.1. Программирование и алгоритмизация 5

2.2. Программы и языки программирования 7

2.2.1. Языки программирования 8

2.2.2. Объектно-ориентированное и визуальное программирование 10

2.3. Программирование в среде Visual Basic 12

2.3.2. Основы программирования в среде Visual Basic 14

2.3.3. Операции Visual Basic 18

2.3.4. Встроенные функции Visual Basic 20

2.3.5. Инструкции Visual Basic 25

2.3.6. Функции и процедуры 29

2.3.7. Область видимости переменной 32

2.3.8. Задание цвета изображения 32

Контрольные вопросы 32

2.4. Создание стандартного проекта приложения 33

2.5. Интегрированная среда разработки приложений Visual Basic 34

2.5.1. Компоненты рабочей среды 34

2.5.2. Главное меню 35

2.5.3. Стандартная панель инструментов 35

2.5.4. Окно конструктора форм 36

2.5.5. Окно макета формы 36

2.5.6. Окно проводника проекта 37

2.5.7. Панель элементов управления 37

2.5.8. Размещение элементов управления в форме 38

2.5.9. Окно свойств 40

2.5.10. Основные свойства элементов управления 41

2.5.11. Редактор исходного кода программы 45

2.5.12. Основные события и методы элементов управления 48

2.5.13. Сохранение и выполнение проекта 49

2.6. Форма 50

2.6.1. Семейство форм 50

2.6.2. Основные свойства формы 50

2.6.3. Основные методы и события формы 53

2.6.4. Обработка событий мыши 55

2.6.5. Обработка событий клавиатуры 57

2.6.7. Единицы измерения размеров 59

2.6.8. Инструкции начала и завершения работы с формой 59

2.6.9. Соглашения об именах объектов 59

2.7. Компоненты навигации файловой системы 60

2.7.1. DriveListBox (Список дисков) 60

2.7.2. DirListBox (Список каталогов) 60

2.7.3. FileListBox (Список файлов) 60

2.7.4. Окно открытия файла (Open) 64

2.8. Встроенные диалоговые окна 67

2.8.1. Окно ввода - функция InputBox 67

2.8.2. Окно сообщений - функция MsgBox 68

2.8.3. Применение функций InputBox и MsgBox в проекте 69

2.9. Создание графического интерфейса приложения 70

2.9.1. Основное меню 70

2.9.2. Контекстное меню 72

2.9.3. Список изображений 72

2.9.4. Панель инструментов 73

2.9.5. Строка состояния 74

2.9.6. Обработка событий панели инструментов 76

2.9.7. Обработка событий меню 76

2.10. Массивы объектов 77

2.11. Создание группы переключателей 78

2.11.1. Порядок размещения переключателей в рамках 78

2.12. Несколько форм в проекте 78

2.12.1. Шаблоны форм диалога 78

2.12.2. Создание и вывод на экран окна диалога 78

Создание формы диалога из шаблона Form 79

Шаблон формы Dialog 80

Шаблон формы About Dialog 81

Шаблон формы Log in Dialog 82

Общий модуль проекта 83

Контрольные вопросы 85

2.13. Новая версия - Visual Basic.Net 86

ГЛОССАРИЙ 88



^

2. АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ

В СРЕДЕ VISUAL BASIC

Введение



Это учебное пособие написано для студентов, обучающихся в гуманитарных и экономических высших учебных заведениях и, следовательно, содержит материал, ограниченный необходимостью освоения основ программирования в среде Visual Basic. Основное внимание уделено изучению стандартных элементов управления Visual Basic и их использованию при создании графического интерфейса пользователя в приложениях. Это позволит студентам лучше понять графический интерфейс офисных приложений Windows. Учебное пособие предназначено для изучения основ программирования в визуальных средах и не является справочным пособием, поэтому в нем не приводится перечень всех элементов управления (компонентов), их свойств, методов и событий. Основное внимание уделяется изучению часто используемых компонентов и их атрибутов, в контексте приводимых в пособии примеров и учебных приложений.

В пособии не рассматриваются различные численные методы и их реализация в среде Visual Basic, характерные для изучения программирования в технических университетах. Не рассматриваются также вопросы хранения данных: запись и считывание данных из файлов различных типов, использования баз данных в проектах Visual Basic, в том числе и при создании Интернет-проектов. Не затрагиваются вопросы создания новых классов, компонентов ActiveX, справочной системы, дистрибутива (инсталляционного варианта проекта), использование в проектах функций Windows API. В связи с ограниченным объемом пособия в сокращенном варианте изложена настройка среды программирования, а также возможности Visual Basic для создания графических и мультимедийных приложений.

Изучение программирования в среде Visual Basic 6.0 поможет тем, кто собирается программировать в Microsoft Office, используя средства VBA (Visual Basic for Applications), поскольку эти языки имеют общую основу.
^

2.1. Программирование и алгоритмизация




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

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

Графическая запись алгоритма представляется в виде блок-схемы. Такое представление алгоритма достаточно удобно и наглядно показывает последовательность выполнения операторов программы.

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

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




Рис. 2.1. Обозначения в блок-схемах


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

Пример блок-схемы алгоритма расчета квадратного корня числа.





Рис. 2.2. Пример блок-схемы алгоритма


Программирование заключается в записи алгоритма на языке программирования и отладке программы. Текст программы записывается в текстовом редакторе, затем программа компилируется – переводится транслятором (переводчиком) в машинные коды и запускается на выполнение.

Процесс отладки программы начинается с выявления:

  • синтаксических ошибок в тексте (неверно записанных операторов);

  • ошибок при выполнении программы (недопустимые математические действия, операции с числами, превосходящими предельные значения);

  • алгоритмических ошибок (неверно составлен или запрограммирован алгоритм).
^

2.2. Программы и языки программирования



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

Язык программирования – язык, используемый для написания компьютерных программ и состоящий из словаря и совокупности правил (синтаксиса), которые применяются при написании команд, выполняемых микропроцессором.

Текст программы на языке программирования называется исходным кодом, а конечная программа в машинных кодах – объектным кодом. Для получения объектного кода используются компиляторы и интерпретаторы.

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

Интерпретатор – программа, которая считывает исходный код по операторам, сразу транслирует их выполняет. Таким образом, в результате работы интерпретатора исполняемый файл не формируется.

Исполняемый файл – программа, готовая к запуску на компьютере (обычно файл с расширением .exe).

Программирование – процесс, включающий стадии проектирования, кодирования, отладки, тестирования и документирования программы.

  • Проектирование программы – определение входных данных, процедур обработки данных и выходных данных.

  • Кодирование программы – запись программы на языке программирования в соответствии с алгоритмом задачи.

  • Отладка программы – выявление и исправление синтаксических ошибок, ошибок на этапе выполнения (переполнение разрядной сетки, деление на ноль, извлечение корня из отрицательного числа и т.д.) и логических ошибок в программе.

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

  • Документирование программы – создание подробного руководства по программе: описание вводимых и выводимых данных, тестовые примеры расчета.
^

2.2.1. Языки программирования


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

Языки программирования по уровню исходного кода классифицируются на языки высокого уровня и языки низкого уровня.
^

2.2.1.1. Языки программирования низкого уровня


Языки программирования низкого уровня представляют специальный набор инструкций, набранных с использованием команд управления регистрами микропроцессора. Языки программирования низкого уровня позволяют программисту кодировать команды с максимально возможной эффективностью. Но использование языков низкого уровня требует досконального знания возможностей конкретной компьютерной системы и команд микропроцессора. Кроме того, программирование на языке низкого уровня занимает существенно больше времени, чем программирование на языке высокого уровня.
^
2.2.1.1.1. Машинный язык

Машинный язык содержит набор команд управления регистрами микропроцессора. Оперирует двоичными, восьмеричными или шестнадцатеричными числами. Зависит от типа микросхемы процессора компьютера.
^
2.2.1.1.2. ASSEMBLER (Ассемблер)

Язык ассемблера оперирует инструкциями и командами, которые может выполнить микропроцессор. Программирование в машинных кодах очень сложно и обычно это делается сериями мнемоник. Мнемоники – это коды операций, которые читабельны и понятны людям и могут быть легко преобразованы в машинный код, используя ассемблер.
^

2.2.1.2. Языки программирования высокого уровня


Языки программирования высокого уровня представляют специальный набор инструкций, использующих ключевые слова и синтаксис, похожий на английский. Эти языки освобождают программиста от необходимости знать, как именно компьютер выполняет команды. Каждый оператор языка высокого уровня соответствует нескольким командам машинного языка, что позволяет писать программы быстрее, чем на языках низкого уровня. Однако трансляция выполняется не самым эффективным образом, поэтому программы, написанные на языках высокого уровня, выполняются медленнее, чем написанные на языках низкого уровня.
^
2.2.1.2.1. BASIC (Бейсик)

Разработан сотрудниками Дартмутского колледжа (США) Джоном Кемени (John Kemeny) и Томасом Курцом (Tomas Kurtz)в 1964 году. Первый персональный компьютер IBM PC имел 16-разрядный BASIC, разработанный корпорацией IBM. Позже его сменил GW-BASIC и QUICK-BASIC, разработанный корпорацией Microsoft.

BASIC (Beginner's All-Purpose Symbolic Instruction Code) – универсальный код символьных команд для начинающих, является интерпретируемым процедурным языком, операторы которого выполняется компьютером шаг за шагом. BASIC легко изучить, но программы, написанные на нем, выполняются медленно, поэтому он плохо подходит для профессионального программирования. Разработаны компиляторы Бейсика, например, Turbo Basic (фирма Borland) и Visual Basic (фирма MicroSoft).

Для программирования в приложениях Microsoft Office корпорацией Microsoft был разработан язык VBA (Visual Basic for Application).
^
2.2.1.2.2. FORTRAN (Фортран)

Разработан в 1956 году Джоном Бэкусом (John Backus). FORTRAN (FORmula TRANslator) – переводчик формул, является компилируемым языком программирования. FORTRAN удобный язык для программирования научных и инженерных задач, создания математических прикладных программ, имеет большую библиотеку готовых подпрограмм.
^
2.2.1.2.3. PASCAL (Паскаль)

Разработан в 1971 году Никлаусом Виртом (Nicklaus Wirth), назван в честь Луи Блез Паскаля. Процедурный, структурированный язык программирования позволяет писать модульные программы. PASCAL получил широкое распространение как язык обучения программированию.

Turbo Pascal – усовершенствованный и расширенный (объектно-ориентированные версии - Object Pascal) язык программирования, разработанный фирмой Borland International. Имеет быстродействующий компилятор, оболочку с текстовым редактором и позволяет создавать исполняемые программы.

Delphi (Дельфи) – разработан фирмой Borland, 1995 г. Позволяет создавать проекты, используя средства визуального программирования, дополняемые исходным кодом, написанным на Object Pascal.
2.2.1.2.4. C(Си)

Разработан в 1972 году Денисом Ричи (Dennis Ritchi). Многоцелевой компилируемый процедурный язык сочетает образность языков программирования высокого уровня с эффективностью ассемблера. Используется для профессионального программирования, создания программного обеспечения. Большинство коммерческих (платных) программ, написаны на С или C++.

C++ - объектно-ориентированный язык программирования, разработанный Бьярни Страуструпом (Bjarne Stroustrup) в начале 1980-х.

Borland C++ Builder, Microsoft Visual C++ - объектно-ориентированные визуальные языки программирования.

^

2.2.2. Объектно-ориентированное и визуальное программирование


Современные языки программирования являются объектно-ориентированными, что означает использование объектов при написании программного кода. Объекты являются экземплярами классов. Таким образом, объектно-ориентированное программирование (ООП) предполагает использование готовых и создание новых классов в программах.

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

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

Свойства могут быть объектами, которые, в свою очередь, имеют свои свойства. В этом случае доступ к свойствам имеет вид:

ИмяОбъекта.ИмяОбъекта_Свойства.Свойство

Например: Command1.Font.Name

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

ИмяОбъекта.ИмяОбъекта_Свойства.Свойство_ПоУмолчанию

ИмяОбъекта.ИмяОбъекта_Свойства

Например: Command1.Font.Name то же, что и Command1.Font

Значения некоторых свойств могут задаваться как на этапе конструирования проекта, так и в программном коде, например, значения свойств шрифта (Font), другие только на этапе конструирования проекта, например, значения свойства начальная позиция формы Form1.StartUpPosition.

Если свойство доступно для чтения и записи, то оно может стоять как в левой, так и в правой части равенства, например:

List1.Font.Name = "Courier"

Fname = List1.Font.Name,

где Fname – переменная строкового типа.

Если свойство доступно только для чтения, то оно может стоять только в правой части равенства, например, количество элементов списка:

Cnt= List1.ListCount

Методы объектов используются при написании программного кода, например, добавление строки в список: ^ List1. AddItem "Строка1".

Класс может содержать набор событий. Основная идея событийно-управляемого программирования (event-driven programming) заключается в том, что в программе необходимо указать, как реагировать на различные события (действия пользователя): выбор команды меню, щелчок или перемещение мыши, нажатие клавиш и др. Например, в событии щелчок мыши на кнопке, можно закрыть окно приложения

^ Private Sub Command1_Click()

Unload Me

End Sub

ООП основывается на трех принципах: инкапсуляция, наследование и полиморфизм.

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

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

^ Type Pencil = class(Pen)

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

Классы могут иметь методы с одинаковым названием, но их программная реализация может быть различна. Этот принцип ООП называется полиморфизмом. Например, оба класса Pencil и Pen имеют метод Assign – присвоения свойств другим экземплярам, но поскольку набор свойств у данных классов может быть разным, то и процедуры присвоения свойств будут разными.

ООП позволяет программистам создавать приложения, используя готовые классы, и это хорошо. Но современные языки программирования еще и визуальные, например, Visual Basic. Визуальная среда разработки включает редактор программного кода, отладчик, конструктор форм и называется также интегрированной средой разработки IDE (Integrated Development Environment). Конструктор форм позволяет использовать готовые компоненты, например, форму, кнопку, надпись, поле, флажок, переключатель и т.п., что значительно упрощает и ускоряет создание приложения. Такие средства разработки приложений называют RAD (Rapid Application Development).
^

2.3. Программирование в среде Visual Basic



В 1992 г. корпорацией Microsoft была разработана версия Visual Basic 1.0 – объектно-ориентированного языка программирования для Windows 3.1, поддерживающего событийно-управляемое программирование. Затем были версии Visual Basic 3.0, 4.0, 5.0 и Visual Basic 6.0. Visual Basic содержит несколько сотен команд, функций и ключевых слов, многие из которых реализуют графический интерфейс пользователя GUI (Graphical User Interface) операционной системы Windows.

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

  • создание графического интерфейса пользователя (GUI);

  • написание текста программы.
^

2.3.2. Основы программирования в среде Visual Basic

2.3.2.1. Типы данных


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

Таблица 2.1


Тип данных

Размер (байт)

Диапазон значений

Byte (байт)

1

От 0 до 255

Boolean (логический)

2

True или False

Integer (целое)

2

От -32768 до 32767

Long (длинное целое)

4

От -2147483648 до 2147483647

Single (вещественное обычной точности)

4

От –3,4 Е+38 до -1,4 Е-45 и

от 1,4 Е-45 до 3,4 Е+38

Double (вещественное двойной точности)

8

От –1,7 Е+308 до –4,9 Е-324 и

от 4,9 Е-324 до 1,7 Е+308

Currency (денежный)

8

От -922 337 203 685 477,5808
до 922 337 203 685 477,5807

Date (даты и время)

8

С 1 января 100г. до 31 декабря 9999г.

Object (объект)

4

Ссылка на объект

String (строка переменной длины)

-

От 0 до ~2 миллиардов знаков

String (строка постоянной длины)

-

От 1 до ~65 400 знаков

Variant

-

Тип зависит от значения

Тип данных, определяемый с помощью ключевого слова Туре




определяется типом данных
^

2.3.2.2. Допустимые имена


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

  • длина имени не должна превышать 255 символов;

  • имя может буквы, цифры и знак подчеркивания "_";

  • имя должно начинаться с буквы;

  • имена должны быть уникальны внутри области, в которой они определены;

  • не следует использовать имена, совпадающие с ключевыми словами Visual Basic и именами встроенных функций и процедур.
^

2.3.2.3. Описание переменных


В программе Visual Basic тип переменной объявлять не обязательно, в этом случае переменная получает тип variant. Для обязательного описания всех переменных в начале модуля ставится инструкция Оption Explicit. Синтаксис описания переменной:

^ Dim ИмяПеременной [As [New] Тип]

Переменная может быть описана также при помощи инструкций Private, Public и Static, определяющих область действия переменной. После инструкций Dim и т.п. можно через запятую описать несколько переменных с указанием типа для каждой из них. Переменная с неуказанным типом получает тип variant. Примеры:

Dim Number As Integer

Dim AVar, Choice As Boolean, BirthDate As Date

AVar="Привет"

Number=123

AVar = 276.9 + Number

Choice=True

BirthDate=#4/5/2001 1:25:33 AM#

New – ключевое слово для неявного создания объекта без использования ссылки на объект с помощью инструкции ^ Set, например

Dim xlApp1 As Excel.Application' раннее связывание

Set xlApp1 = New Excel.Application 'либо

Dim xlApp2 As Object ' позднее связывание

Set xlApp2 = CreateObject("Excel.Application")

Dim X As New Worksheet ' либо

Dim Х As Worksheet

Set Х = New Worksheet

Ключевое слово New не может использоваться для фундаментальных типов (например, Byte), общего типа Control, элементов управления и их типов (например, MyLstBox1, ListBox).


2.3.2.4. Массивы

Массивы должны быть объявлены до их использования в программе. Синтаксис:

Dim ИмяМассива (Индексы) [As Тип],

где индексы – Размерности массива. Допускается описание до 60 размерностей.

Синтаксис индексов: [Нижний То] Верхний [,[Нижний То] Верхний] ...

Если нижний индекс не задан явно, то нижняя граница массива определяется инструкцией Option Base, иначе нижняя граница массива равняется нулю. Базовый индекс можно изменить, написав в области описания модуля инструкцию, например

Option base 1 'Базовый Индекс равен 1


Dim MyArr(20), TwoDArr(3, 4) ' Объявление массивов

Dim ZeroArr(0 To 5) As Integer ' Явное задание базового индекса

Dim MyMatr(1 To 5, 1 To 9) As Double

ZeroArr(0)=15

ZeroArr(2)=25

MyMatr(1,1)=8.9

Для определения одномерных массивов можно использовать переменную типа variant, задавая значения элементам массива инструкцией Array:

Dim A As Variant

А = Аrrау(1, 15, 30) ' значения элементов массива равны: 1, 15, 30
^
2.3.2.4.1. Динамические массивы

Если в процессе выполнения программы требуется изменять размер массива, то массив объявляют как динамический, например:

Dim R() As Single

В программе следует задать размер массива с помощью инструкции ReDim. Синтаксис:

ReDim [Preserve] ИмяМассива(Индексы) [As Тип]

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

Для массива, не сохраняющего данные, можно изменять верхнюю и нижнюю границы, но нельзя менять размерность массива, например:

^ ReDim R(1 to 90)

ReDim R(-10 to 10)

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

Dim Matr() As Integer

ReDim Matr(19, 29)

ReDim Preserve Matr(19,33)
^
2.3.2.4.2. Чистка массивов

Для повторной инициализации массивов фиксированной длины и освобождения памяти, отведенной для динамического массива служит процедура Erase СписокМассивов, например:

Dim NumAr(10) As Integer ' числовой массив

Dim StrVarAr(10) As String 'массив строк переменной длины

Dim StrFixAr(10) As String * 10 'массив строк постоянной длины

Dim VarAr(10) As Variant ' 'массив вариант

Dim DynAr() As Integer ' динамический массив

ReDim DynAr(10) 'определение длины массива


Erase NumAr ' все элементы массива равны 0.

Erase StrVarAr ' все элементы массива нулевой длины ("")

Erase StrFixAr ' все элементы массива равны 0

Erase VarAr ' все элементы массива равны Empty

Erase DynAr 'освобождение памяти, использовавшейся для массива
^
2.3.2.4.3. Массивы объектов

Для создания массива объектов на этапе конструирования необходимо:

  1. Создать в форме один из объектов из элементов управления;

  2. Скопировать объект в буфер обмена (нажмите Ctrl+C);

  3. Вставить несколько объектов из буфера обмена (несколько раз нажмите Ctrl+V).

При обращении к объектам массива указывается их индекс:

ИмяОбъекта(Индекс), например, LblArr(5).

2.3.2.5. Константы


Константы не могут изменять свои значения. Синтаксис:

[Public | Private] Const ИмяКонстанты [As Тип] = Выражение


Примеры:

Const MyStr = "Hello", MyVar = 459

Public Const MyStr1 = "HELP"

Private Const MyInt As Integer = 5
^

2.3.2.6. Перечисленный тип


Перечисленный тип используется для работы с константами и позволяет ассоциировать их значения с именами. Синтаксис:

[Public | Private] Enum ИмяПеременной

СonstName1 [= Const1]

ConstName2 [= Const2]

.........

End Enum,

где СonstName1 – имя константы. Сonst1 – значение константы.

По умолчанию значение первой константы равно 0, второй 1 и т.д. Пример:

Enum SecLev

SecLev1 = 0

SecLev2 = 1

End Enum

Dim MyLev As SecLev

If MyLev <> SecLev2 Then MsgBox ("No assecc!")
^

2.3.2.7. Тип данных, определенный пользователем


Тип, определенный пользователем, представляется как запись или структура. Синтаксис:

[Private | Public] Type ИмяТипа

ИмяПоля1 [([Индексы])] As Тип

ИмяПоля2 [([Индексы]) ] As Тип

........

End Type

Пример:

Type ERecord ' Тип, определенный пользователем

ID As Integer

Name As String * 20

Address As String * 30

End Type


Dim MyRec As ERecord ' Объявление переменной

MyRec.ID = 13 ' Присвоение значения
^

2.3.3. Операции Visual Basic


В программах на Visual Basic имеются три типа операций: математические, отношения, логические.

2.3.3.1. Математические операции


Таблица 2.2

"+" – Сложение

"*" – Умножение

"\" – Целочисленное
деление

"-" – Унарный минус

"-" – Вычитание

"/" – Деление

"Mod" – Остаток
от деления

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


Для отрицательных чисел возможно возведение только в целую степень.

При целочисленном делении и нахождении остатка от деления вещественные данные сначала округляются до целых значений, примеры:

Dim MyR

MyR = 10 Mod 5 ' получаем 0

MyR = 10 Mod 3 ' получаем 1

MyR = 12 Mod 4.3 ' получаем 0

MyR = 12.6 Mod 5 ' получаем 3

MyValue = 11 \ 4 'получаем 2

MyValue = 9.3 \ 3 'получаем 3

MyValue = 101.7 \ 3 'получаем 34
^

2.3.3.2. Операции отношения


Таблица 2.3


"<" – Меньше

"<=" – Меньше или равно

"=" – Равно

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

">" – Больше

">=" – Больше или равно

"<>" – Не равно

"Like" – Сравнение строк
^

2.3.3.3. Логические операции





  • "And" – Логическое умножение.

  • "Хог" – Исключающее или.

  • "Or" – Логическое сложение.

  • "Not" – Логическое отрицание.
^

2.3.3.4. Таблица истинности


Таблица 2.4


Значения\Операция

A And B

A Or B

A Хог B

Not A

A=True

B=True

True

True

False

False

A=True

B=False

False

True

True

False

A=False

B=True

False

True

True

True

A=False

B=False

False

False

False

True
^

2.3.3.5. Соединение строк


Используется знак конкатенации &, либо + (для переменных, кроме числового типа Variant).

Строка1 & Строка2 или Строка1 + Строка2.

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

Dim X, Y, Z

X = 6

Y = "7"

Z= X + Y ' получаем 13

Z= X & Y ' получаем "67"
^

2.3.3.6. Приоритеты операций


Visual Basic выполняет операции в соответствии с их приоритетами (от наибольшего к наименьшему). Более высокий приоритет имеет операция с меньшим порядковым номером (см. таблицу 2.5).

Таблица 2.5




Операция



Операция



Операция

1

Вызов функции и скобки

5

Деление нацело

9

Not

2

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

6

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

10

And

3

Унарный минус

7

Сложение и Вычитание

11

Or

4

Умножение и Деление

8

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

12

Xor


Примеры:

Dim MyVal

MyVal = (-5) ^ 2 'получаем +25

MyVal = -5 ^ 2 'получаем -25

MyVal=True

MyVal =not MyVal Or MyVal 'получаем True

MyVal = Not (MyVal Or MyVal) 'получаем False
^

2.3.4. Встроенные функции Visual Basic


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

Математические функции, Функции проверки типов, Функции преобразования форматов, Функции обработки строк, Функции времени и даты, Финансовые функции. Синтаксис:

Функция(Аргумент или Выражение)
^

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


Таблица 2.6


Функция

Возвращаемое значение

Функция

^ Возвращаемое значение

Abs

Модуль (абсолютная величина) числа

Sgn

Знак числа

Atn

Арктангенс

Sin

Синус

Cos

Косинус

Sqr

Квадратный корень числа

Ехр

Экспонента

Tan

Тангенс

Log

Натуральный логарифм

Fix

Целая часть числа

Rnd

Случайное число в интервале (0,1)

Int

Целая часть числа.


Если число меньше нуля, то Rnd возвращает каждый раз одно и то же число. Если число больше нуля или опущено, то Rnd возвращает следующее случайное число в последовательности. Если число равняется нулю, то Rnd возвращает случайное число, возвращенное при предыдущем вызове этой функции. Для изменения чисел в последовательности перед вызовом функции Rnd используйте инструкцию Randomize. Примеры.

Dim MyVal

Randomize 'инициализация генератора случайных чисел


MyVal = Int((6 * Rnd) + 1) 'генерируется случайное число от 1 до 6

MyVal = Sqr(4) ' получаем 2.

^ MyVal = Sqr(-4) 'генерируется ошибка времени выполнения

Различие между функциями int и Fix состоит в том, что для отрицательного значения параметра число функция int возвращает ближайшее отрицательное целое число, меньшее либо равное указанному, a Fix – ближайшее отрицательное целое число, большее либо равное указанному.
^

2.3.4.2. Функции проверки типов и значений


Таблица 2.7


Функция

Тип аргумента

Функция

Значение аргумента

IsArray

массив

IsEmpty

переменная не инициирована

IsDate

дата

isNull

пустое значение

IsObject

объект

isNumeric

числовое значение


Примеры.

^ Dim MyDate, YourDate, NoDate, MyCheck

MyDate = "29.04.1969"

YourDate = #4/29/1969#

NoDate = "Hello"

MyCheck = IsDate(MyDate) ' получаем True

MyCheck = IsDate(YourDate) ' получаем True

MyCheck = IsDate(NoDate) ' получаем False


Dim MyInt As Integer, YObj

Dim MyObj As Object

Set YObj = MyObj ' назначаем объекту ссылку на другой объект

MyCheck = IsObject(YObj) ' получаем True.

MyCheck = IsObject(MyInt) ' получаем False.
^

2.3.4.3. Функции преобразования форматов

2.3.4.3.1. Функция Format

Функция Format возвращает значение типа Variant (string), содержащее выражение, отформатированное согласно инструкциям, заданным в описании формата. Синтаксис:

Format(Выражение[,Формат[,ПервыйДеньНедели[,ПерваяНеделяГода]]]),

где

Выражение – любое допустимое выражение;

Формат – инструкция форматирования.

ПервыйДеньНедели и ПерваяНеделяГода — используются при задании формата даты.

2.3.4.3.2. Инструкции форматирования чисел


Таблица 2.8

Инструкция

Возвращает

^ General Number

число в общем формате без разделителя тысяч

Currency

число в денежном формате согласно установкам Windows

Fixed

число с фиксацией двух цифр в дробной части числа и одной в целой.

Standard

число в стандартном формате – фиксированный с разделителем тысяч.

Percent

число в фиксированном формате со знаком "процент"

Scientific

число с плавающей десятичной точкой (экспоненциальный)

True/False

False, если число равно 0, и True – в противном случае
^
2.3.4.3.3. Символы форматирования чисел

0 (нуль) – отображает цифру или нуль.

# (решетка) – отображает цифру или ничего.

. (точка) – отображает десятичный разделитель числа.

% (процент) – отображает символ процента после числа.

, (запятая) – отображает разделитель тысячных частей в целой части числа.

: (двоеточие) – отображает разделитель часов, минут и секунд в формате времени.

/ (слеш) – отображает разделитель дня, месяца и года в формате даты.

Е+, Е- или е+, е- - отображает разделитель мантиссы и порядка в экспоненциальном формате. Примеры:

MyStr = Format(1.2,"00.00") ' выводит 01,20

MyStr = Format(1.2,"#.##") ' выводит 1,2

MyStr = Format(5459.4, "##,##0.00") ' выводит 5 459,40

MyStr = Format(5, "0.00%") ' выводит 500,00%

MyStr = Format(1.22,"##.##е+##") ' выводит 1,22е+

MyStr = Format(1045.22,"Standard") ' выводит 1 045,22

MyStr = Format(1045.22,"Scientific") ' выводит 1,05Е+03
^
2.3.4.3.4. Инструкции форматирования даты и времени


Таблица 2.9

Инструкция

Возвращает

General Date

дату или время. Если нет дробной части, то выводит только дату,
например, 13.04.2006 20:18:37.

Long Date

дату в соответствии с длинным форматом Windows для даты.

Окончание табл. 2.9

^ Medium Date

дату в соответствии со средним форматом Windows для даты,
например, 13-апр-06.

Short Date

дату в соответствии с коротким форматом Windows для даты.

Long Time

часы, минуты и секунды, например, 20:15:43.

Medium Time

часы и минуты в 12-часовом формате, например, 8:15.

Short Time

часы и минуты в 24-часовом формате, например, 20:15.
^

2.3.4.4. Функции преобразования типов

2.3.4.1. Преобразование строки в число и обратно

Val(строка) Возвращает число, содержащееся в строке.

Str(число) Возвращает строковое представление числа, тип Variant (string). В качестве допустимого десятичного разделителя функция str воспринимает только точку, иначе используйте функцию cstr.
^
2.3.4.1. Преобразование выражения в стандартный тип данных


Таблица 2.10


Функция

Возвращает тип

Функция

Возвращает тип

СВооl

Boolean

Cint

Integer

Cbyte

Byte

CLng

Long

Ccur

Currency

CSng

Single

Cdate

Date

CVar

Variant

CDbl

Double

CStr

String


Примеры.

Dim MyDbl, MyStr, MyByte

MyDbl = 137.8

MyStr = CStr(MyDbl) ' получаем "137.8"

MyByte = CByte(MyDbl) ' получаем 138
^

2.3.4.5. Функции обработки строк


Таблица 2.11


Функция

Возвращает

Asc

ASCII код начальной буквы строки. Синтаксис: Asc(строка)

Chr

символ ASCII кода. Синтаксис: Chr(байт).
Например: Chr(99) – буква "с", Asc("с") – получаем число – 99

^ Окончание табл. 2.11

LСase

строку в нижнем регистре. Синтаксис: LCase(строка)

UСase

строку в верхнем регистре. Синтаксис: UCase(строка)

Left

подстроку исходной строки. Синтаксис: Left(строка,ЧислоПервыхСимволов)

Right

подстроку исходной строки. Синтаксис: Right(строка,ЧислоПоследнихСимволов)

Mid

подстроку строки. Синтаксис: Mid(Строка,НомерПервогоСимвола[,ЧислоСимволов])

Lеn

число символов строки. Синтаксис: Len(Строка)

Trim

строку без пробелов в ее начале и конце. Синтаксис: Trim(Строка)

Space

строку, состоящую из пробелов. Синтаксис: Space(числоПробелов)

StrReverse

строку в обратном порядке. Синтаксис: StrReverse(string)


Примеры.

Dim str, UCaseStr, RevStr, LStr

str = "Hello World"

UCaseStr = UCase(str) ' получаем "HELLO WORLD"

RevStr =StrReverse(str) ' получаем "dlroW olleH"

LStr = Left(str,Len(str)\2) ' получаем "Hello"
^
2.3.4.5.1. Константы Visual Basic для управляющих ASCII кодов


Таблица 2.12


Константа

Chr(Код)

Клавиша

VbBack

Chr(8)

Backspace

VbTab

Chr(9)

Tab

VbCr

Сhr(13)

Enter




оставить комментарий
страница1/7
Дата10.10.2011
Размер1,18 Mb.
ТипУчебное пособие, Образовательные материалы
Добавить документ в свой блог или на сайт

страницы:   1   2   3   4   5   6   7
Ваша оценка этого документа будет первой.
Ваша оценка:
Разместите кнопку на своём сайте или блоге:
rudocs.exdat.com

Загрузка...
База данных защищена авторским правом ©exdat 2000-2017
При копировании материала укажите ссылку
обратиться к администрации
Анализ
Справочники
Сценарии
Рефераты
Курсовые работы
Авторефераты
Программы
Методички
Документы
Понятия

опубликовать
Документы

наверх