Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Лекции по информатике - файл 1.doc


Лекции по информатике
скачать (783.5 kb.)

Доступные файлы (1):

1.doc784kb.09.12.2011 01:35скачать

содержание

1.doc

Система программирования Visual Basic

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

Готовая программа сохраняется в виде исполняемого файла (ЕХЕ модуля), который может работать в отсутствии исходного текста. Его создает компилятор.
^

Объекты и их свойства


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

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

Форма обеспечивает создание графического интерфейса разрабатываемого приложения.

Форма — это объект, представляющий собой окно на экране, в котором размещаются управляющие элементы.

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

Управляющими элементами являются командные кнопки (CommandButton), переключатели или «флажки» (CheckBox), поля выбора или «радиокнопки» (OptionsButton), списки (ListBox), текстовые поля (TextBox) и др.

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

Управляющие элементы — это объекты, реагирующие на события, производимые пользователем, и являющиеся элементами графического интер­фейса приложения.
^

Проект на Visual Basic


Проект — это разрабатываемое на языке Visual Basic приложение.

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

Исходные тексты программы на Visual Basic сохраняются в нескольких файлах.

^ Файл проекта имеет расширение .vbp и сожержит реестр файлов, необходимых для создания исполняемого файла приложения.

В модуле формы сохраняется описание формы и ее управляющих элементов и программный код, относящийся к ним. Это обычный текстовый файл с расширением .frm. таких модулей в проекте может быть несколько по числу форм.

Код, не связанный с конкретной формой или элементом управления, помещается в стандартный модуль с расширением .bas. Могут быть модули и другого типа.
События

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

^ Событийная процедура.

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

Имя процедуры включает в себя имя объекта и имя события. Объект_Событие()
В событийной процедуре может участвовать несколько объектов. Например, само событие происходит с первым объектом (Объект1), в результате второй (Объект2) изменяет значение своего свойства, а третий (Объект 3) реализует какой-либо метод.

Каждая процедура представляет собой отдельный программный модуль, поэтому запись событийной процедуры производится следующим образом:

Sub Объект(1)_Событие()

Объект(2).Свойство = ЗначениеСвойства

Объект(3).Метод арг1:=знач, арг2:=знач

End Sub

Запись событийной процедуры на языке Visual Basic такова, что в начале и в конце ставятся ключевые слова Sub и End Sub.

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

Основные Положения Visual Basic

Начало работы

При запуске Visual Basic 6 на экране появляется диалоговое окно New Project (Новый проект), используя которое можно выбрать шаблон для нового проекта, запустить мастера создания проекта или открыть ранее созданный проект.

 

Это окно содержит 3 вкладки:

-New (Новый) — шаблоны и мастера для создания нового проекта;

-Existing (Существующий) — для открытия ранее созданного проекта или проектов-примеров, поставляемых с Visual Basic 6.

-Recent (Недавно созданный) — список проектов, открывавшихся в последнее время;
Рис.1 Окно создания проекта


Для создания нового проекта используется один из следующих типов шаблонов:
^ Типы шаблонов и мастеров проекта: 

-Standard EXE — стандартное выполняемое приложение;

-ActiveX EXE — выполняемое приложение ActiveX;

-ActiveX DLL — динамическая библиотека ActiveX;

-ActiveX Control — элемент управления ActiveX;

-VB Application Wizard — мастер приложений;

-VB Wizard Manager — мастер создания пользовательских мастеров;

-Data Project — проект управления базой данных;

-IIS Application — приложение, размещаемоt на сервере Web-узла (IIS — Internet Information Server);

-Addin — надстройка, дополнительные утилиты, расширяющие возможности приложений;

-ActiveX Document DLL — динамическая библиотека документов ActiveX;

-ActiveX Document EXE — выполняемое приложение документов ActiveX;

-DHTML Application — приложение, создающее динамические HTML-страницы.
^ Компоненты рабочей среды

После выбора типа проекта пользователь переходит непосредственно в инструментальную среду проектирования Visual Basic 6. Ее внешний вид показан на рис. 2






Основные элементы рабочей среды:
-главное меню;

-стандартная панель инструментов;

-панель элементов управления;

-окно проводника проекта (Project);

-конструктор форм;

-окно свойств (Properties);

-окно макета формы (Form Layout);

-окно просмотра объектов (Object Browser);

-редактор исходного кода.

Рис. 2 Инструментальная среда VB 6


^ Главное меню

Главное меню, как и во всех приложениях Microsoft, представляет собой линейку раскрывающихся меню. Оно содержит следующие основные команды: File (Файл), Edit (Правка), View (Вид), Project (Проект), Format (Формат), Debug (Отладка), Run (Запуск), Query (Запрос), Diagram (Диаграмма), Tools (Сервис), Add-Ins (Надстройки), Window (Окно), Help (Справка).

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

Меню File (Файл) содержит команды для работы с файлами проекта:

  • New Project – создать новый проект.

  • Open Project – открыть существующий проект.

  • Remove Project – закрыть текущий проект.

  • Save Project / Save Project Group – сохранить проект или группу проектов.

  • Save Project As / Save Project Group As – сохранить проект или группу проектов под новым именем.

  • Save <имя формы или модуля> - сохраняет текущий модуль проекта.

  • Save < имя формы или модуля > As – сохранить под новым именем.

  • Print – печатать форму или программный код.

  • Print Setup – установка параметров печати.

  • Make <имя проекта> .EXE – создать исполняемый файл текущего проекта.

  • Exit – закрыть окно Visual Basic.

Меню Edit (Правка) содержит команды, предназначенные для редактирования:

  • Undo (Откат) – отменить последнюю операцию (не все операции можно отменить).

  • Cut (Вырезать) – удаляет выделенную область и копирует ее в буфер обмена.

  • Copy (Копировать) – копирует выделенную область в буфер обмена.

  • Paste (Вставить) – вставляет содержимое буфера обмена.

  • Delete (Удалить) – удаляет выделенную область или текущий элемент.

  • Select All – выделяет все содержимое текущего окна.

Меню View (Вид) содержит команды вызова окон и панелей среды Visual Basic 6:

  • Code – открывает окно кода, относящегося к текущей форме или модулю.

  • Object – открывает окно формы, которая является текущей.

  • Project Explorer – открывает окно проводника проекта.

  • Properties Window – открывает окно свойств.

  • Form Layout Window – открывает окно макета формы.

  • ToolBox – открывает окно коллекции инструментов.

  • ColorPalette – открывает окно, позволяющее выбрать цвет текущего элемента или формы.

  • Toolbars – команды, управляющие выводом на экран панелей инструментов.

^ Меню Project (Проект) содержит команды управления проектом и его элементами.

Меню Format (Формат) содержит команды форматирования объектов в форме.

^ Меню Debug (Отладка) содержит команды, для отладки приложения.

Меню Run (Запуск) содержит команды управления запуском приложения.

Меню Query (Запрос) содержит команды создания и выполнения запросов к БД.

^ Меню Diagram (Диаграмма) содержит команды построения диаграммы, отображающей структуру базы данных.

Меню Tools (Сервис) содержит команды управления настройками инструментария среды Visual Basic 6. Они позволяют добавить процедуру и определять ее атрибуты, вызвать окно редактора меню, изменить настройки программы в диалоговом окне Options (Параметры), а также управлять хранилищем проектов SourseSafe.

^ Меню Add-Ins (Надстройки) содержит команды вызова дополнительных утилит, часто называемых надстройками (add-ins).

Меню Window (Окно) содержит стандартные команды управления окнами.

^ Меню Help (Справка) содержит команды вызова справочной системы Visual Basic.  

Окно конструктора форм

 Окно конструктора форм является основным рабочим окном, в котором выполняется визуальное проектирование приложения. Это окно показано на рисунке 3.



Главное меню\ меню View (Вид) \ команда Object (Объект) (или команда View Object контекстного меню объекта, находящегося в группе Forms в проводнике проекта).

В окне конструктора форм визуально конструируются все формы приложения с использованием инструментария среды разработки.
Рис. 3 Окно конструктора форм


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

Панель элементов управления — основной рабочий инструмент при визуальной разработке форм приложения (рис. 4).

Элемент

Предназначение
^

Pointer (указатель)


объединяет элементы, используется для позиционирования маркера (указателя) мыши

PictureBox (графическое окно)

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

Label (метка)

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

TextBox (текстовое поле)

отображает и позволяет модифицировать текст, числа и даты

Frame (рамка)

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

CommandBox (кнопка управления)

Кнопка. Размещает в форме кнопки управления для инициализации действий, выполнения команд, запуска программ
^

CheckBox (флажок)


поле флажка позволяет отображать и задавать логическое значение

OptionButton

позиция переключателя.

CommoBox

Раскрывающийся список

ListBox

поле списка позволяет отображать элементы списка и выбирать их

Timer

генерирует события Timer через заданные промежутки времени

DriveListBox

отображает список дисков

DirListBox

отображает список папок (каталогов) текущего диска

FileListBox

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

Image

предназначен для отображения рисунков, загружаемых из файлов. Имя файла задается свойством ^ Picture. Свойство Stretch устанавливает или запрещает подгонку размеров картинки под размеры элемента Image. Если Stretch равно False, окно будет увеличено до размеров изображения.

Shape

геометрическая фигура

HscrollBar

VScrollBar

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

Line

прямая линия

Data

предназначен для предоставления доступа к базе данных посредством объекта Recordset одного из трех типов

OLE

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






Главное меню\ меню View (Вид) \ команда Toolbox (Панель элементов управления). (или кнопка Toolbox на стандартной панели инструментов).

В составе панели элементов управления содержатся основные элементы управления форм: метки; текстовые поля; кнопки; списки; таймер; переключатели; ключи  и другие элементы для быстрого визуального проектирования макета формы.

Рис. 4. Панель элементов управления Visual Basic 6


^ Окно свойств

Окно Properties (Свойства) предназначено для отображения и настройки свойств формы, а также размещенных в ней объектов. В нем, например, содержатся такие свойства выбранного объекта, как позиция в форме, высота, ширина, цвет (рис. 5).

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

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



Главное меню\ меню View (Вид) \ команда Properties Window (Окно свойств) (или кнопка Properties Window на стандартной панели инструментов или команда Properties контекстного меню выбранного объекта). Поскольку форма и элементы управления каждый сами по себе являются объектами, набор свойств в этом окне меняется в зависимости от выбранного объекта. При помощи вкладок Alphabetic (По алфавиту) и Categorized (По категориям) свойства объекта можно просмотреть в алфавитном порядке или по группам (категориям) соответственно. В нижней части окна имеется подсказка, поясняющая назначение выбранного атрибута объекта. Более подробную информация содержится в контекстно-зависимой справочной системе VB 6.

Рис. 5 Окно свойств

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

свойство

описание

Name

Имя в программе, по умолчанию Form1, Form2 и т.д.

Caption

Заголовок для формы

Height, Width

Высота и ширина формы

Left, Top

Координаты относительно края экрана

WindowState

Размер окна при первом появлении

BackColor

Цвет фона

Picture

Рисунок (подложка)

MaxButton, MinButton

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

ControlBox

Наличие оконного меню

BorderStyle

Тип границы

ScaleHeight, ScaleWidth

Масштаб измерения для системы координат формы

ScaleMode

Единица измерения для системы координат формы


^ Окно просмотра объектов
Для просмотра всех элементов, входящих в состав проекта. Visual Basic 6 предоставляет очень удобную возможность — окно просмотра объектов Object Browser (рис. 6).

 

Главное меню\ меню View (Вид) \ команда Object Browser (Браузер объектов).

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

Рис. 6. Окно просмотра объектов


^ Окно макета формы
Окно макета формы Form Layout (Макет формы) (рис. 7) вызывается командой Form Layout Window из меню View.



В этом окне показывается уменьшенное изображение проектируемой формы в том виде, как эта форма будет выглядеть на экране монитора при выполнении приложения. Размеры формы в окне макета Form Layout пропорциональны размерам изображения монитора в этом же окне, то есть все реальные пропорции в точности соблюдены. Для проверки формы в работающем приложении необходимо открыть окно макета формы и запустить форму командой Start (Старт) из меню Run (Запуск).

Рис. 7. Окно макета формы


^ Окно редактора исходного кода
Редактор кода (рис. 8) — это мощный встроенный редактор с удобными средствами ввода исходного кода программы.  



Главное меню\ меню View (Вид) \ команда Code (Код).

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

Рис. 8. Окно редактора исходного кода

^ Окно проводника проекта

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



Главное меню\ меню View (Вид) \ команда Project Explorer (Проводник проекта) (или комбинацией клавиш <Ctrl>+<R>).

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

Рис. 9. Окно проводника проекта

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

View code

- открывает окно редактора с кодом программы, выбранного в проводнике объекта;

View Object

- открывает в конструкторе форм выбранный объект;

Toggle Folders

- включает/выключает отображение папок.

 

^ Язык Visual Basic

Переменные, константы и типы данных
Переменные

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

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

-имя переменной может содержать не более 255 символов;

-имя переменной может содержать любые буквы и цифры;

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

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

-имя должно быть уникальным в пределах области видимости.

Список ограничений достаточно велик, но ошибки будут выявлены при проверке синтаксиса программы.

Например, допустимы следующие имена переменных: CurrentNum, Date_of_birth

Следующие имена недопустимы: 1Time, $Total, Date of birth
^ Типы данных

В Visual Basic вы можете применять следующие типы данных:

числовой:

-integer - 2 байта: целые числа от —32768 до 32767,

-Long - 4 байта: целые числа от —2 147483648 до 2 147483648,

-Single - 4 байта: десятичные числа с плавающей точкой:
отрицательные -3,438 ... -1,4-45, положительные: 1,4-45 .. 3,438,

-Double - 8 байт: десятичные числа с плавающей точкой:
отрицательные -1,7-308 ... -4,9-324,
положительные 4,9-324 ... l,7308,

-Currency - 8 байт десятичные числа с фиксированной точкой, целая часть числа может содержать до 15 цифр, а дробная — до 4.
строковый (String) - строки как фиксированной (до 216 символов), так и переменной длины (до 231 символов). При использовании ASCCII кодировки для каждого символа строки выделяется один байт, а при использовании кодировки Unicode — два байта. Кроме этого выделяется 10 байт для строки в целом.

типа дата (Date) –для хранения даты и времени. Переменная этого типа требует 8 байт в оперативной памяти;

байтовый (Byte) - 1 байт: для хранения двоичных;

логический (Boolean) - для хранения данных, принимающих одно из двух значений: True (Истина) или False (Ложь). По умолчанию переменной данного типа присваивается значение False;

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

объектный (object) - для хранения ссылок на объекты используется тип данных object. Каждая переменная данного типа требует 4 байта.

^ Объявление переменной

В Visual Basic используется явное и неявное объявление переменной. Явное объявление осуществляется операторами Dim, Рrivate, Static, Рublic, которые имеют следующий синтаксис:

Dim имяПеременной [As типДанных]

Private имяПеременной [As типДанных]

Static имяПеременной [As типДанных]

Public имяПеременной [As типДанных]

Операторы Dim, Private, Static, Рublic определяют область действия переменной.

Dim - уровень отдельной процедуры или модуля; формы

Private - уровень модуля; формы

Public - уровень всех модулей приложения.

Переменные уровня процедуры доступны только в процедуре, в которой они были объявлены. Такие переменные называются локальными. Переменные, объявленные с помощью зарезервированного слова Dim существуют только во время выполнения процедуры. Если их объявить с помощью зарезервированного слова Static (статические переменные), то они будут существовать в течение всего времени выполнения приложения. Этим определяется жизненный цикл переменной. Чтобы объявить все локальные переменные в процедуре статическими, можно поместить зарезервированное слово Static перед заголовком процедуры. С помощью одного оператора вы можете объявлять несколько переменных, разделяя их запятыми.

Примеры объявления переменных:

Private bInSuccess As Boolean

Dim strLastname As String, dblSum As Double
Предпочтительнее использовать явное объявление переменных, в случае неявного объявления переменной ее тип определяется при первом операторе присвоения, и в этот же момент переменной будет выделена память. Если вы не используете специальные концевые символы, определяющие тип переменной, ей будет присвоен тип variant.

Для создания глобальной переменной, в раздел General Declarations главного модуля приложения помещают оператор Рublic.

Например: Public gdtmFinish As Date

Для объявления переменной, локальной внутри модуля или формы, используют оператор Рrivate или Dim в разделе General Declarations модуля или формы. В этом случае объявленная переменная будет доступна для всех входящих в форму или модуль процедур, но в то же время недоступной в процедурах других модулей и форм.

Переменные, локальные на уровне процедуры, создаются операторами Dim или Static внутри процедуры.

Например:

Sub CalcTotal

Dim bSuccess As Boolean

. . .

End Sub

 

^ Присвоение значения переменной

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

переменная = выражение

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

Например:

sngFirst = 10

strLastname = "Иванов"

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

Например:

sngResult = sngFirst + 255

strName = "Иванов" & ": " & strTeam

Константы

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

Например:

75.07 - числовая константа;

2.7Е+6 - числовая константа (равна 2 700 000);

"Ошибка доступа к базе данных" - символьная константа;

#8/12/1999# - константа типа дата;

False - логическая константа.
^ Объявление констант

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

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

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

Например,

Const strDBErrorMessage As String = "Ошибка доступа к базе данных"

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

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

В приведенном примере константа strDBErrorMessage объявлена глобальной:

Public Const strDBErrorMessage As String = "Ошибка доступа к базе данных"
Массивы

Для хранения величин кроме простых переменных можно использовать массивы. Массив представляет собой набор переменных с одним именем и разными индексами. Каждая такая переменная называется элементом массива. Количество хранящихся в массиве элементов называется размером массива. Размер массива ограничен объемом оперативной памяти и типом данных элементов массива.

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

Индекс элемента указывается в круглых скобках после имени массива.

Например,

strNames(l), strNames(2), strNames(10)

являются элементами массива с именем strNames.

Элементы массива можно использовать точно так же, как и простую переменную.

В зависимости от области видимости, которую должен иметь массив, для его объявления используются операторы: Public, Private, Dim и Static.

Диапазон значений индекса массива имеет верхнюю и нижнюю границу значений. При объявлении массива после его имени в скобках задается верхняя граница диапазона значений индекса. Эта граница не может превышать диапазона, представляемого типом Long. По умолчанию, нижней границей диапазона значений индекса является 0, но нижнюю границу можно и указать явно.

Рассмотрим примеры объявления массивов:

Dim Sum(50) As Integer - целочисленный массив с номерами элементов от 0 до 50– всего 51 элемент

Public Name(17) As String - строковый массив с номерами элементов от 0 до 17– всего 18 элементов

Private Ln(11 to 31) As Double – номера от 11 до 31 – всего 20 элементов

Массивы могут быть многомерными:

Dim XYCol(100,100,16) As Integer

Public Tempr(15 to 30, 1 to 24) As Integer
^ Программирование условий

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

Различают три типа управляющих операторов:

1. If...Then если, то

2. If...Then...Else если, то, иначе

3. Select Case оператор выбора
Конструкция If...Then применяется, когда необходимо выполнить определенные действия в зависимости от некоторого условия. Управляющая конструкция If...Then...Else используется в том случае, когда необходимо выполнить разные действия в зависимости от условия. Основанием для принятия решений в управляющих конструкциях являются условные выражения.

Условные выражения — это такие выражения, которые возвращают одно из двух значений True (Истина) или False (Ложь). Логические выражения содержат логические отношения (операции сравнения): = (равно), > (больше), < (меньше), <> (не равно), >= (больше или равно), <= (меньше или равно)

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

AND (И) — возвращает значение True (Истина), если все участвующие в операции выражения имеют значение True. В остальных случаях возвращается значение False (Ложь);

OR (ИЛИ) — возвращает значение True, если хотя бы одно из участвующих в операции выражений имеет значение True. В случае, когда все выражения имеют значение False, возвращается значение False;

XOR (Исключающее ИЛИ) — возвращает значение True (Истина), если только одно из участвующих в операции выражений имеет значение True. В остальных случаях возвращается значение False;

NOT (HE) — операция отрицания. Возвращает обратное для значения выражения значение, то есть если выражение равно True, то возвращается False и наоборот, если значение выражения равно False, то возвращается значение True.

В этих операторах If...Then и If...Then...Else условие и выполняемые при соблюдении условий действия располагаются в одной строке.


Фрагмент программы

Что на экране

A=10

^ If A>2 Then Print “!!!” Else Print “!”

!!!

A=4

If A>5 Then A=A+10 Else A=A-1

Print A

3

S=6

If S-8<>0 Then S=S+10

Print S

16

S=6

^ If S<0 Then S=S+10

S=S+1

Print S

7


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


IF условие Then

конструкции

End If

Пример.

If а<>4 Then

а=а+10

b=3

Print b

End If


Конструкция If... Then... Else

IF условие Then .

Конструкции для обработки истинного условия

Else

Конструкции для обработки ложного условия

End If


Пример.

If а<>4 Then

а=а+10

b=3

Print b

Else

b=0

a=b+5

c=6

End If

Самое замечательное в блочном ^ If то, что здесь можно одно за другим проверять несколько условий.

Задача. В компьютер вводится целое число а. Если а<0, то компьютер должен сказать «Число отрицательно», если а=0, то компьютер должен сказать «Вы ввели нуль», если а>100, то компьютер должен сказать «Число большое», в остальных случаях компьютер ничего недолжен говорить, а только вычислить и напечатать квадрат числа.

Программа:

Private Sub Command1_Click()

a=InputBox(“Введите число”)

^ If а<0 Then

MsgBox(“Число отрицательно ”) ‘ MsgBox - Выводит окно сообщения

ElseIf а=0 Then

MsgBox(“Вы ввели нуль ”)

ElseIf а>100 Then

MsgBox(“Число большое ”)

Else

Print a*a

End If

MsgBox(“До свидания! ”)

End Sub

Ключевое слово End If обозначает конец многострочной конструкции и его наличие в команде в этом случае обязательно.

^ Конструкция Select Case позволяет обрабатывать в программе несколько условий и аналогична блоку конструкций If.. .Then.. .Else. Эта конструкция состоит из анализируемого выражения и набора операторов Case на каждое возможное значение выражения.

Синтаксис конструкции Select Case следующий:
Select Case сравниваемоеЗначение

СASE значение1

конструкция1

CASE значение2

конструкция2

. . .

End Select

Работает эта конструкция следующим образом. Сначала Visual Basic вычисляет значение заданного в конструкции выражения. Затем полученное значение сравнивается со значениями, задаваемыми в операторах Сase конструкции. Если найдено искомое значение, выполняются команды, приписанные данному оператору Сase. После завершения выполнения конструкций управление будет передано конструкции, следующей за ключевым словом End Select.

Пример.

Private Sub Command1_Click()

a=3

Select Case a*a+1

Case 8, 4*a, 26

k=0

Print k

Print a

Case 7, 10, 84 To 90

k=1

Print k

Case Is < 0, 2, 4, 12 To 18+a, 44, 68, Is > 100+a

k=1

End Select

End Sub

Эта программа напечатает 1.
^ Организация циклов

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

For...Next

For Each...Next

Do. . . Loop

^ Конструкция For...Next выполняет последовательность команд определенное число раз. Такую конструкцию называют циклом, а выполняемые ею программные коды — телом цикла.

Синтаксис конструкции For.. .Next следующий:

For счетчик = начЗначение То конЗначение [Step шаг]

Тело цикла

[Exit For] досрочный выход из цикла

Next[счетчик]

Первый аргумент конструкции — счетчик — определяет имя переменной, которая будет "считать" количество выполнении цикла. Параметр начЗначение указывает числовое значение, которое присваивается переменной-счетчику перед первым проходом цикла. Цикл выполняется до тех пор, пока значение счетчика не превысит конечного значения, указанного после ключевого слова То. После каждого прохода цикла значение счетчика изменяется на величину шаг, указанную за ключевым словом Step. Ключевое слово Next обозначает конец тела цикла и является обязательным.

Перед каждым проходом цикла Visual Basic сравнивает значения счетчика и аргумента конЗначение. Если значение счетчика не превышает установленного значения конЗначение, выполняются конструкции тела цикла. В противном случае управление переходит к следующей за Next конструкции.




Пример. Построение графика функции
Private Sub Command1_Click()

Picture1.Scale (-3,5)-(5,-5)

‘Построение графика функции

For x= - 2 To 4 Step 0.01

Y=x^2-2*x-3

Picture1.PSet(x,y), vb Green ‘Зеленый

Next x ‘PSet(x,y) точка
‘ ось абсцисс

Picture1.Line (-3,0)-(5,0) , vb Cyan ‘Голубой

For i= - 3 To 4

Picture1.PSet(i,0), vb Cyan

Picture1.Print i

Next i
‘ ось ординат

Picture1.Line (0,-5)-(0,5) , vb Cyan ‘Голубой

For i= - 4 To 5

Picture1.PSet(0,i), vb Cyan

Picture1.Print i

Next i

End Sub


Конструкция For Each... Next используется для обработки всех элементов некоторого набора объектов или массива. Его особенно удобно использовать в том случае, когда количество обрабатываемых элементов не известно.

Синтаксис конструкции For Each.. .Next следующий:

For Each элемент(объект) In группа(коллекция)

конструкции (код операции над объектами)

Next элемент

При использовании конструкции For Each.. .Next необходимо иметь в виду, что для набора объектов параметр элемент может быть только переменной типа Variant, общей переменной типа Object или объектом, перечисленным в Object Browser. Для массивов параметр элемент может быть только переменной типа Variant.

^ Конструкция Do...Loop с ключевым словом While выполняется до тех пор, пока задаваемое в цикле условие истинно.

Синтаксис конструкции DO. . .Loop следующий:

Do While условие продолжения работы цикла

операторы

Loop

Do

операторы

Loop While условие продолжения работы цикла


Аргумент конструкции условие является логическим выражением, значение которого проверяется перед каждым проходом цикла. Если это значение равно True, то выполняется последовательность команд, которые расположены между Do while и ключевым словом Loop. Эти конструкции образуют тело цикла. Если при очередном проходе цикла условие равно False, то происходит выход из цикла и управление передается конструкции, следующей за Loop.

^ Конструкция Do...Loop с ключевым словом Until выполняется до тех пор, пока задаваемое в цикле условие ложно.

Синтаксис конструкции DO. . .Loop следующий:

Do Until условие завершения работы цикла

операторы

Loop

Do

операторы

Loop Until условие завершения работы цикла


Пример.

Private Sub Command1_Click()

Debug.Print “Начало счета”

F=3

^ Do

Debug.Print F;

F=F+2

Loop

End Sub

Программа бесконечно печатает 3 5 7 9 11 …

Private Sub Command1_Click()

Debug.Print “Начало счета”

F=3

^ Do

Debug.Print F;

F=F+2

Loop While F<=9

Debug.Print “Конец счета”

End Sub

Private Sub Command1_Click()

Debug.Print “Начало счета”

F=3

Do While F<=9

Debug.Print F;

F=F+2

Loop

Debug.Print “Конец счета”

End Sub

Private Sub Command1_Click()

Debug.Print “Начало счета”

F=3

^ Do

Debug.Print F;

F=F+2

Loop Until F>9

Debug.Print “Конец счета”

End Sub


Private Sub Command1_Click()

Debug.Print “Начало счета”

F=3

Do Until F>9

Debug.Print F;

F=F+2

Loop

Debug.Print “Конец счета”

End Sub


Необходимо внимательно относиться к тому, куда ставить операторы:

F=3

^ Do 1 раз выполнится

Debug.Print F;

F=F+2

Loop Until F>0
Do Until F>0 ни разу не выполнится

Debug.Print F;

F=F+2

Loop



Оператор Exit

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

Команда Exit завершает выполнение цикла и передает управление следующей за циклом конструкции. Синтаксис этого оператора внутри цикла For выглядит так: Exit For. Внутри цикла Do синтаксис оператора Exit Do.

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

Пример.

Dim Sum As Integer

Dim j As Integer

Sum=2 : j=1 ‘различные операторы в одной строке можно разделять друг от друга двоеточием

Do Until Sum>9

Sum = Sum +j

j=j+1

If j>3 Then

Exit Do

End If

Loop

Text1.Text=Sum
Первоначально Sum=2 : j=1

Затем Sum = Sum +j=2+1=3 ; j=j+1=1+1=2 <3

Sum = Sum +j=3+2=5 ; j=j+1=2+1=3 =3

Sum = Sum +j=5+3=8 ; j=j+1=3+1=4 >3 – досрочный выход из цикла
^ Операторы ввода и вывода данных.

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

1. С помощью элемента управления InputBox.

R = InputBox("Введите значение сопротивления", "Ввод данных")

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

2. С помощью элемента управления TextBox.

A = Text1

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

Это можно осуществить при помощи оператора Print.

Наример:

Print S - вывод на форму значение переменной S.

Picture1.Print S - вывод значения переменной S в окно PictureBox.

Вывод данных можно так же осуществить при помощи элемента управления TextBox:

Text1 = S

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

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

  Функция

Параметр

^ Выполняемое действие

Asс

(символ)

Возвращает ASCII-код символа

Chr

(число)

Преобразовывает ASCII-код в символ

InStr, InStrRev

InStr (исходнаяСтрока, строкаПоиска)

Осуществляют поиск одной строки в другой (с начала к концу строки и наоборот)

Left

(строка, числоСимволов)

Возвращает указанное количество символов с начала строки

Right

(строка, числоСимволов)

Возвращает указанное количество символов с конца строки

Mid

(строка, число, к-во воззвращаемых символов)

Возвращает заданное количество символов из произвольного места строки

Len

(строка)

Возвращает количество символов в строке

LTrim, RTrim, Trim

(строка)

Удаляют пробелы, расположенные соответственно в начале, в конце и с обеих сторон символьной строки

Str, CStr

(число)

Преобразовывают числовое выражение в строку

Val

(строка)

Преобразовывают строку в числовое выражение

StrReverse

(строка)

Изменяет порядок следования символов в строке на обратный

StrConv

 

Изменяет регистр букв символьной строки

Lcase

(строка)

Изменяет регистр букв исходной строки на нижний

Ucase

(строка)

Изменяет регистр букв исходной строки на верхний


Пример1

функция

результат

«Moто»+ «роллер»

Мотороллер

«Moто»& «рол»& «лер»

Мотороллер

Len(“Чук и Гек”)

9

Mid(“Астроном”,3,4)

трон

Пример2

S=”Телепортация”

For i=1 To Len(S)

Debug.Print Mid(s,i,1) ‘ i–ая буква в строке

Next i
Пример3

Debug.Print Chr(Asc(“ю”)+1) ‘ получаем букву Я

^ Работа с файлами

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

^ Выполняемое действие

Функции, операторы



Открыть или создать файл

Open

Открывает файл

Закрыть файл

Close

Reset


Закрывает файл

Закрывает все открытые файлы, записывает содержимое буферов

Скопировать файл

FileCopy

Копирует файл

Получить информацию о файле

EOF


FileAttr
DateTime

FileLen

GetAttr

Loc
LOF

Определяет метку конца файла

Возвращает режим доступа открытого файла

Возвращает дату и время создания файла

Возвращает размер файла в байтах

Получает атрибуты файла

Возвращает номер текущей позиции в файле

Возвращает размер открытого файла в байтах

Организовать управление файлами

Dir



Kill

Lock
Unlock

Name

Возвращает содержимое текущей директории

Удаляет файл

Блокирует файл при работе в многопользовательской среде

Снимает блокировку с файла

Задает (переименовывает) имя файла

Прочитать данные из файла

Input #

Get #

Line Input #

Чтение данных из файла

Чтение строки из файла

Установить атрибуты файла

SetAttr

Устанавливает атрибуты файла

Найти позиции в файле

Seek

Устанавливает указатель на заданную номером позицию

Записать данные в файл

Print #

Put #

Write #

Записывает данные в файл


Примеры операторов работы с файлами.

Ввод данных из файла:

Open "test.dat" For Input As #1

Line Input #1, strS

Close #1

Запись данных в файл:

Open "test.txt" For Output As #2

Print #2, "Сумма ="; sngSum

Close #2

Добавление данных в файл:

Open "test1.txt" For Append As #3

Print #3, strSS

Close #3
Комментарии

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

Для включения в текст программы комментария необходимо ввести символ ('), который может быть первым символом в строке или находиться в любом ее месте. Этот символ означает начало комментария. Любой текст, расположенный в строке следом за этим символом, будет восприниматься как комментарий, то есть Visual Basic не будет транслировать этот текст.

Например:

' Комментарий, начинающийся с начала строки

Print strName ' Комментарий, следующий за оператором
^ Размещение оператора на нескольких строках

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

Например, в программе есть оператор, объединяющий фамилию, имя и отчество:

strName = strLastname & strFirstname & strSecondname

Поместим этот оператор на двух строках:

strName = strLastname _

& strFirstname & strSecondname
^ Размещение нескольких операторов на одной строке

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

strLastname = "Иванов ": strFirstname = "Иван "
Процедуры

При программировании широко используются процедуры, позволяющие разбивать программные коды на небольшие логические блоки, которые, во-первых, легче отлаживать, а во-вторых, можно в свою очередь использовать при создании других процедур. В Visual Basic существуют следующие виды процедур: Sub Function Property.

^ Процедура sub не возвращает значения и наиболее часто используется для обработки связанного с ней события. Ее можно помещать в стандартные модули, модули классов и форм. Она имеет следующий синтаксис:
[Private] [Public] [Static} Sub имяПроцедуры (аргументы)

операторы

End Sub

Аргументы можно применять для объявления передаваемых в процедуру переменных.

Процедуры Sub подразделяются на общие процедуры и процедуры событий.

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

Процедуры обработки событий связаны с объектами, размещенными в формах Visual Basic, или с самой формой и выполняются при наступлении события, с которым они связаны. Для события, связанного с формой, процедура sub имеет следующий синтаксис:
Private Sub Form имяСобытия (аргументы)

операторы

End Sub

 

Как видно из синтаксиса, наименование процедуры обработки события для формы содержит слово Form, затем размещается символ подчеркивания (_) и имя события. Например, имя процедуры, выполняемой при загрузке формы, будет Form_Load, а процедуры, выполняемой при щелчке мыши на форме — Form_click. При формировании процедуры для формы MDI ее имя будет содержать перед словом Form приставку MDI, то есть записываться MDiForm.

Для события, связанного с элементом управления формы, процедура обработки событий sub имеет следующий синтаксис:
Private Sub имяЭлементаУправления имяСобытия (аргументы)

операторы

End Sub

Наименование процедуры обработки события для элемента управления формы содержит имя элемента управления, заданное в свойстве Name, затем следует символ подчеркивания (_) и имя события. Например, имя процедуры, выполняемой при щелчке мыши на кнопке управления, имеющей наименование cmdPrint будет Form_Click.

^ Процедуры Function в отличие от процедур sub могут возвращать значение в вызывающую процедуру. Синтаксис процедуры Function выглядит следующим образом:
[Private] [Public] [Static} Function имяПроцедуры (аргументы) [As type]

операторы

End Function

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

^ Вызов процедур. Процедура sub не возвращает значения, однако она может изменять значения переменных, заданных для нее в качестве параметров. Вызов процедуры Sub можно осуществлять двумя способами. Первый способ предполагает использование ключевого слова Call. Например, процедуру с именем Nameproc можно вызвать оператором

Call NameProc (аргумент1, аргумент2, ...аргументы)

Второй способ позволяет вызвать процедуру sub по ее имени. Например,

NameProc аргумент1, аргумент2, ...аргументы

При вызове процедуры модуля формы из другого модуля необходимо указывать ссылку на имя модуля формы, содержащего процедуру. Например, для вызова процедуры с именем Nameproc, находящейся в модуле формы Form1, оператор должен выглядеть так:

Call Form1.NameProc (аргумент1, аргумент2, ...аргументМ)

Вызов процедуры Function аналогичен вызову встроенных функций Visual Basic. Кроме этого, процедуру Function можно вызывать так же, как процедуру Sub:

Call Square(Side)

Square Side

В этом случае Visual Basic игнорирует возвращаемое функцией значение.






Скачать файл (783.5 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации