Программирование на языке высокого уровня.

Источник: shporikapa
shporikapa

 
1. Причины появления Visual Basic.

В начале 60-х годов в Dartmouth College был разработан язык программирования BASIC -  Beginner's All purpose Symbolic Instruction Code  - универсальный символьный программный код для начинающих.

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

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

  • Необходимость поддержки общепринятого стандарта взаимодействия с пользователем (графического интерфейса);
  • Наличие средств поддержки ускоренной разработки приложений;
  • Малый результирующий объем программного (исполняемого) кода;
  • Переносимость на другие платформы.

2. Описание языка Visual Basic

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

В 1991 г. фирмой Microsoft был разработан и выпущен Visual Basic. Система программирования Microsoft Visual Basic for Windows, обладая простыми в обращении средствами визуального проектирования, позволяет в полной мере использовать преимущества графической среды Windows и быстро конструировать эффективные приложения. Существуют и другие визуальные языки программирования с подобным интерфейсом (Borland Delphi, Borland C++ Builder).

Visual Basic - один из первых языков, поддерживающих событийно-управляемое программирование ( event-driven programming ).Этот стиль хорошо согласуется со стандартом GUI ( Graphical User Interface ). Традиционно программирование ориентировалось на поэтапное описание конкретного процесса. Однако современные компьютерные приложения слишком сложны и данный стиль программирования для них не подходит.

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

2). Экранные элементы

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

  1. Заголовок (Microsoft Visual Basic);
  2. Строка меню (File, Edit, View, Run, Debug, Window, Help);
  3. Панель инструментов (Toolbar), на которой расположены кнопки быстрого вызова часто используемых команд.

В центре экрана - большое пустое окно формы с заголовком Form1. Слева от него -  окно шаблонов  или  окно инструментария  (Toolbox). Справа - окно свойств (Properties), а под ним - окно проекта (Project).

А. Основное окно. Панель инструментов (Toolbar)

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

New Form. Эта кнопка используется для создания новой формы. Приложение может содержать более одной формы. Определение формы и весь связанный с ней код хранятся в отдельном файле с расширением *.FRM. Если приложение состоит из нескольких форм, то соответственно имеются несколько файлов с этим расширением.

New Module. Создание модуля кода. Код размещается в файлах с расширением *.BAS. На отдельные модули кода программу разбивают, главным образом, чтобы упорядочить ее внутреннюю структуру: блоки кода, отвечающие за работу определенных компонентов программы, обычно помещают в отдельные модули. Глобальные объявления в любом модуле кода распространяются на всю программу. А переменные, объявленные в форме, доступны лишь внутри модуля формы.

Open Project. Кнопка открытия проекта. В файле проекта содержатся имена всех файлов форм и некоторые дополнительные сведения о проекте. Файл проекта имеет расширение *.MAK.

Save Project. В диалоговом окне  Save File As  надо задать имя файла и каталог, в котором будут храниться код и компоновка формы. Далее Visual Basic откроет диалоговое окно  Save Project As , позволяющее сохранить файл проекта. По умолчанию файлу проекта предлагается присвоить имя Project1.MAK.

Menu Design Window. Окно конструктора меню.

Properties Window. Окно задания свойств объектов.

Start. Кнопка запуска приложения на выполнение.

Break. Кнопка прерывает выполнение программы и активизирует окно отладки  Debug .

End. Кнопка остановки выполнения приложения.

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

Instant Watch. Просмотр значения выражения (переменной) в целях отладки.

Calls. Показ списка вызванных и активных в данный момент процедур.

Single Step. Пошаговое выполнение программы при нажатии на кнопку. Вложенные процедуры также выполняются в пошаговом режиме. Аналогичного эффекта можно достичь, нажимая клавишу F8.

Procedure Step. Выполнение программы по процедурам ( или Shift-F8).

В. Окно проекта (Project)

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

Остальные файлы с расширением .VBX - расширение файлов системы программирования Visual Basic. В них содержатся дополнительные инструментальные средства. При загрузке файла они включаются в окно инструментария (Toolbox). Каждый файл типа *.VBX в окне проекта позволяет ввести в окно инструментария один или несколько новых элементов.

В окне проекта имеются еще две кнопки: View Form и View Code. Щелчок кнопок открывает окно с просмотром формы и кода соответственно.

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

С. Окно формы и окно шаблонов

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

Элементы управления создаются на основе шаблонов, кфждый из которых представлен в окне инструментария (Toolbox) своим значком (иконкой). Большая часть инструментов встроена в Visual Basic. Кроме того, окно инструментария можно расширить путем подключения дополнительных элементов: каждый файл типа *.VBX в окне проекта позволяет ввести в окно Toolbox один или несколько новых элементов.

Список элементов Toolbox (стандартный)

Pointer (указатель). Активизация этого элемента означает, что можно редактировать форму: добавлять новые объекты, перетаскивать их на другие места или изменять размеры объектов, используя один из маркеров.

Picture Box (окно рисунка) и

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

Label (метка). Метки - это поля, заполняемые программистом текстовой информацией и недоступные пользователю для редактирования. Содержимое метки определяется ее свойством  Caption . Прямой ввод текста или рисование на метке во время выполнения программы не допускаются.

Text Box (текстовое окно). Текстовые окна - это экранные области, в которые пользователь может вводить текст. Распознать введенный текст можно с помощью свойства  Text .

Command Button (командная кнопка), Check Box (флажок), Option Button (переключатель). Эти три объекта с точки зрения программиста практически одинаковы, но для пользователя они отличаются по внешнему виду и по назначению. Щелчок командной кнопки обычно активизирует какую-то операцию, а флажки и переключатели, сообщая текущее состояние того или иного параметра, дают возможность изменять его. Щелчок флажка устанавливает или сбрасывает определенный параметр: если на квадратике флажка значок Х, параметр активен (включен). Любой флажок функционально независим от других флажков. Переключатели, напротив, всегда работают в группе и позволяют выбрать какой-нибудь вариант из нескольких возможных. Когда один переключатель активен, остальные отключены.

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

List Box (список) - перечень вариантов, выбираемых щелчком мыши. В слишком длинный список, который не выводится на экран целиком, Visual Basic добавляет линейки прокрутки. Для корректной работы с этим объектом необходимо, чтобы его высота была минимум три строки. Содержимое списка нельзя задать на этапе проектирования. Чтобы ввести в него элемент, необходимо использовать метод  Additem.  Инициализацию списка лучше проводить в процедуре обработки события Load - она принадлежит форме, содержащей этот список.

Combo Box (комбинированный список). Назван так потому, что, объединяя текстовое окно (здесь оно называется полем ввода) с обычным списком, образует единый элемент управления. Однако, в отличие от обычного, комбинированный список не позволяет размещать элементы в несколько колонок.

Horizontal Scroll Bar (горизонтальная линейка прокрутки), Vertical Scroll Bar (вертикальная линейка прокрутки). Действуют совершенно одинаково, только в разных направлениях. Эти объекты позволяют узнавать о позиции движка на линейке и контролировать диапазон ее действия и дискретность перемещения движка.

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

Drive List Box (список дисков), Directory List Box (список каталогов), File List Box (список файлов). Кнопки позволяют создавать и настраивать диалоговые окна, предназначенные для взаимодействия с файловой системой. Каждый из них управляет отдельным компонентом файловой системы. Объект Drive List Box - это раскрывающийся список, содержащий имена всех дисков в системе. Объект Directory List Box выводит на экран список всех подкаталогов в текущем каталоге. Объект File List Box отображает все (или с заданным расширением) файлы в текущем каталоге.

Shape (фигура), Line (линия). Также как и окна изображений служат, главным образом, для создания фона в окне формы. Инструмент Line позволяет создавать простые прямые линии. Модифицируя свойства линий, можно изменять их размер, цвет и стиль. Инструмент Shape по умолчанию позволяет по умолчанию рисовать только прямоугольники, но, изменив свойство  Shape , можно вычерчивать окружности, эллипсы и прямоугольники со скругленными углами. Кроме того, допускается подбор цвета и закрашивание замкнутых фигур.

D. Окно свойств. Свойства объектов

Окно свойств имеет вид, показанный на рисунке. Активизировать окно можно щелчком кнопки мыши где-нибудь в окне или выбором из меню Window команды Properties, клавишей F4 или щелчком кнопки  Properties Window  на панели инструментов Toolbar.

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

Ниже списка объектов следует  поле параметров . Здесь можно определить конкретное значение для выбранного свойства. На рисунке для свойства Caption формы задано значение Form1. Кнопка с крестиком означает отказ от изменения. Кнопка с галочкой - принятие сделанных исправлений.

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

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

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

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

На внешний вид и поведение объектов могут оказывать влияние очень многие свойства. Здесь в качестве примера будут перечислены и описаны наиболее характерные.

Форма

AutoRedraw  (автоматическая перерисовка). Это свойство управляет тем, каким именно образом осуществляется повторное создание (восстановление) формы, например, после сворачивания (и последующего развертывания окна) или перекрытия изображения другими окнами. Если свойству присвоено значение True, то происходит автоматическое восстановление изображения. Если False - вызывается процедура обработки события перерисовки и выполняется код, написанный программистом.

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

Border Style  (тип границ окна). Границы окна могут отсутствовать (None), очерчиваться одинарными или двойными линиями, а окно иметь постоянный размер (Fixed Single, Fixed Double), также окно может быть масштабируемо (Sizeable). Выбрать необходимое значение можно из раскрывающегося списка. Изменение этого свойства допускается лишь на этапе разработки приложения.

Caption  (название). Это свойство содержит текст, выводимый в строку заголовка окна формы.

Enabled  (доступ). Любой объект обладает свойством Enabled. Если значение True, то объект активизирован. ЕслиFalse - объект неактивен (блокируется воздействие на объект (форму) любых событий, связанных с мышью или клавиатурой).

FontBold, FontItalic, FontStrikethru  (полужирный, курсив, зачеркнутый). Эти свойства принимают только булевы значения. Допускается любая комбинация атрибутов шрифта. Модификация свойств влияет лишь на выводимый вновь текст.

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

FontSize  (размер шрифта). Измеряется в пунктах. Пункт - стандартная типографская единица измерения, равная 0.035 см.

ForeColor  (основной цвет). Это цвет текста или графических изображений. Устанавливается с помощью палитры цветов аналогично свойству BackColor.

Height, Width  (высота и ширина формы). Определяется в twips. 1 twip=0.0018 см.

Icon  (значок). Значок, в который превращается свернутая форма.

Name  (имя). Свойство задает имя формы в программном коде, изменять которое в период выполнения программы нельзя. Сравните со свойством  Caption .

Picture  (картинка). Это свойство позволяет сделать так, чтобы в окне всегда отображалась какая-нибудь растровая картинка (bitmap picture). Для изменения свойства в период выполнения программы используется функцияLoadPicture.

Top, Left  (верхняя и левая координаты окна). Свойства определяют позиционирование формы на экране. Координаты измеряются в twips.

Visible  (видимость). Этим свойством обладают многие инструменты. Если оно истинно, то объект (в данном случае форма) видим, если ложно - не видим.

WindowState  (состояние окна). Свойство определяет, в каком виде окно отображается на экране: нормальном, свернутом в значок или развернутом.

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

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

Чтобы отобразить информацию на экране, можно использовать следующие методы.

Cls. Этот метод позволяет очистить форму ото всех изображений и текста. Синтаксис

[имя формы].Cls

LoadPicture. Функция для установки у формы свойства  Picture . Ее синтаксис

[имя формы].LoadPicture [имя файла]

Print. Этот метод выводит текст на форму:

[имя формы]. Print [[выражение][{;/,}]]…

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

Окна рисунков и изображений

Эти объекты обладают свойствами  Enabled, Height, Left, Name, Picture, Top, Visible, Width  и ряд описанных ранее свойств ,  поведение которых аналогично поведению свойств формы. Однако, координаты объекта в случае свойств Height, Left, Top, Width  относительны, а не абсолютны, т. е. они измеряются как смещение от начала координат формы, а не экрана (это касается всех элементов, расположенных на форме). Свойство  Picture  позволяет выводить на экран либо растровую картинку (bitmap), либо значок (icon).

Stretch  (подгонка). Это свойство имеют окна изображений. По умолчанию оно False, что означает, что элемент управления (окно) подгоняется под размеры загружаемого в него изображения. Значение True означает, что изображение подгоняется под элемент управления.

Метки

Alignment  (выравнивание). Способ выравнивания текста на метке: по левой границе, по правой и по центру.

AutoSize  (подгонка размера). True - размер метки автоматически подгоняется под размер текста. False - метка сохраняет заданный размер, а лишние символы отсекаются.

BorderStyle  (тип границ). Метка может либо иметь контур, либо нет.

Caption  (название). Свойство содержит текст, отображаемый в поле метки.

Текстовые окна

MaxLenth  (максимальная длина). По умолчанию значение равно нулю, что означает, что в текстовое окно можно вводить любое количество символов. Если значение свойства не равно нулю, то Visual Basic ограничивает количество символов заданной величиной.

MultiLine . Значение True разрешает ввод нескольких строк текста, нажимая Enter. False запрещает ввод более одной строки текста.

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

Текстовое окно  не реагирует на события, связанные с мышью, но позволяет отслеживать нажатие любой клавиши.

Командные кнопки, флажки, переключатели

Cancel  (отмена). Это свойство связано только с командными кнопками. True - щелчок кнопки эквивалентен нажатию клавиши Escape. Значение True у свойства может иметь только одна командная кнопка на форме.

Default  (по умолчанию). Поддерживается лишь командными кнопками. True - щелчок кнопки эквивалентен нажатию клавиши Enter. Значение True у свойства может иметь только одна командная кнопка на форме.

Value  (состояние). Значение этого свойства отражает состояние флажка или переключателя.  Для переключателя: True - переключатель активен (в центре кружочка жирная точка); False - переключатель неактивен (точка отсутствует).  Для флажка : 0 - флажок не помечен, 1 - флажок установлен (в центре крестик), 2 - флажок затенен (имеет блеклый вид).

Списки.

Columns  (колонки). Свойство задает возможность размещения элементов списка в несколько колонок. Все элементы списка располагаются в одну колонку, если значение свойства равно нулю. Если  Columns>=1 , то элементы списка размещаются в соответствующем числе колонок. При необходимости в окно списка автоматически добавляется линейка прокрутки.

List  (список). Это массив, состоящий из элементов списка. Свойство нельзя модифицировать при проектировании. Доступ к отдельным элементам списка: объект.List(индекс). Индекс первого элемента равен нулю.

Sorted  (сортировка). Для списков предусмотрена возможность сортировки (не для русского текста), если свойство принимает значение True.

Text.  Свойство содержит текст последнего выделенного элемента списка.

Наиболее распространены следующие методы.

AddItem. Метод включает элемент в список: объект. AddItem текст [, индекс]

Clear. Метод удаляет из списка все элементы: объект. Clear

RemoveItem. Метод удаляет отдельный элемент из списка: объект. RemoveItem индекс.

Линейки прокрутки.

Max, Min.  Эти свойства задают максимальное и минимальное значение движка на линейке прокрутки. Свойства могут принимать значения целого типа, поэтому находятся в интервале [-32768; 32767]. Когда движок попадает в крайнюю правую или нижнюю позицию, это число присваивается свойству  Value .

Value  (текущая позиция). Свойство отражает текущую позицию движка на линейке. При изменении  Value программным путем Visual Basic перемещает движок в соответствующую позицию.

3). Создание меню.

Для разработки меню следует открыть диалоговое окно  Menu Design Window  (из меню Window команда Menu Design или кнопка Menu Design Window на панели инструментов). В окне для каждого элемента меню следует определить следующие свойства.

Caption  (название) - текст, который появится в строке меню. Если перед буквой в названии стоит знак амперсенда, то это означает, что данная буква будет подчеркнута и доступ к пункту меню можно осуществить, используя комбинацию клавиш Alt + Б, где Б - подчеркнутая буква.

Name  (имя) - идентификатор элемента в программном коде. В целях избежания совпадения с зарезервированными словами рекомендуется использовать префикс mnu перед именем пункта меню.

Щелкните поле Caption в раскрывшемся окне Menu Design и наберите название пункта меню (например, &Файл). Знак амперсенда & указывает на то, что следующая за ним буква ( Ф ) будет подчеркнута, и нажатие этой буквы в сочетании с клавишей Alt (т. е. Alt-Ф) обеспечивает быстрый доступ к данному пункту. Затем нажмите клавишу Tab для перехода в поле Name. Введите в него имя пункта меню для обеспечения доступа к нему в программном коде (например, mnuFile) и нажмите клавишу Enter. Название (но не имя) появится в списке, занимающем нижнюю часть окна.

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

Каждый пункт меню реагирует на событие Click.


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=29429