Навигация по странице:
|
Лабораторная работа n 1 Знакомство со средой разработки Visual Basic
Лабораторная работа N 1
Знакомство со средой разработки Visual Basic
Visual Basic.NET – это программный инструмент для создания приложений, работающих в среде операционной системы Microsoft Windows.
Программный продукт, разработанный с помощью VB, называется проектом.
Рабочий экран VB состоит из основного окна разрабатываемого проекта - экранной формы (Form) - и окон, расположенных обычно по боковым границам экрана:
Project Explorer (проводник проекта),
Toolbox (инструментарий),
Properties (свойства),
В Project Explorer отображается состав компонентов открытого проекта.
В Toolbox показан набор пиктограмм, представляющих объекты (элементы управления), которые могут использоваться в разрабатываемом проекте. При наведении курсора на соответствующий элемент управления появляется краткая справка о нем.
В окне Properties перечислены свойства (параметры) выбранного объекта, которые можно изменять непосредственно в этом окне. Для быстрого изменения свойства нужно дважды щелкнуть по его имени. Справка о выделенном свойстве расположена в нижней части окна.
Если при запуске программы какое–либо из окон отсутствует на экране, нужно выбрать соответствующий пункт в меню View или иконку на панели инструментов.
Разработка VB - проекта включает в себя
-проектирование интерфейса,
-написание текста программы.
Суть разработки интерфейса в VB состоит в следующем – создается определенный набор объектов (элементов управления) с необходимыми свойствами; разрабатываются процедуры и/или выбираются встроенные методы, определяющие реакцию (поведение) этих объектов при наступлении определенных событий. Событие - это некоторое действие,распознаваемое объектом.
Объединение объектов в некую взаимосвязанную, согласованную совокупность (систему) обеспечивается за счет размещения их в поименованной экранной форме и написания соответствующих процедур.
Проект (Project) может состоять из одной или нескольких форм.
Каждая форма (Form) представлена окном, в котором разработчик размещает необходимые объекты. Т.о. форму можно рассматривать как некий пульт управления, на котором располагаются элементы управления и окна для вывода сообщений. При этом все объекты формы могут менять свой вид (размер, цвет, оформление текста и т.д.), могут быть озвучены, появляться и исчезать, быть доступными и недоступными и т.д.
VB предлагает большое количество заготовок (шаблонов) объектов: командная кнопка (Command Button), текстовое окно (Text Box), метка (Label), список (List Box), комбинированный список (Combo Box) и т.д.
Для создания необходимого объекта нужно выбрать соответствующий шаблон, расположить его в окне формы, задать необходимое размеры и другие свойства.
Размещение шаблона в окне формы можно осуществить двумя способами:
«перетащить» из окна шаблонов в нужное место окна формы,
поместить в середину окна формы, дважды щелкнув шаблон.
Для выбора (задания) свойств необходимо активизировать соответствующий объект, а затем в окне свойств (Properties) установить нужные значения, дважды щелкнув по его имени.
Выбор (задание) соответствующих значений свойств определяет внешний вид и поведение объекта. Обычно устанавливается несколько значений, остальные берутся по умолчанию.
Отметим наиболее важные из свойств, предлагаемых VB.
Имя (Name). Это свойство служит для идентификации объекта в программе. Правила хорошего стиля программирования требуют, чтобы имя объекта содержало трехбуквенную приставку, идентифицирующую тип объекта и основную часть, четко описывающую назначение объекта. Например, кнопке «Старт» можно присвоить имя btnStart (приставка btn образована от Button, Start - основное имя, означающее – “стартовая”).
Текст (Text). Это свойство позволяет размещать некоторый текст в объекте, обладающем этим свойством. Это осуществляется непосредственным вводом в поле свойства Text. Для некоторых объектов оно позволяет присвоить название, по которому объект будет опознаваться пользователем. Например, для кнопки управления, запускающей программу, можно взять название «старт».
Подчеркнем, что имя и название – это не одно и то же.
Доступ (Enabled). Это свойство может принять одно из двух значений: True и False. По умолчанию устанавливается значение True, означающее, что объект доступен. Чтобы сделать объект недоступным, необходимо установить значение False.
Значения любых свойств элементов управления можно задавать не только выбором их в окне свойств, но и программно, т.е. автоматически в процессе выполнения программы. Для этого нужно написать оператор (команду, инструкцию)
<�Имя объекта>.<�имя свойства> = <�значение свойства>
Например: btnStart.Enabled = False
Этот оператор нужно поместить в процедуру, при выполнении которой указанное свойство указанного объекта должно принять указанное значение.
После размещения в окне формы объектов с заданными свойствами, необходимо определить события, на которые должны реагировать объекты, а также действия (поведение) объектов при наступлении этих событий.
Для каждого объекта существует определенный набор событий, на которые он может реагировать. Чтобы увидеть перечень этих событий, нужно дважды щелкнуть на соответствующем объекте. В появившемся окне будет представлено два списка, в левом из них перечисляются созданные на форме объекты и пункт General, о назначении которого узнаем позже, в правом списке перечисляются события, на которые реагирует соответствующий элемент. Для каждого объекта есть стандартное событие, которое предлагается VB-ком, если мы желаем запрограммировать поведение объекта.
Примеры событий (Event):
щелчок кнопки мыши (Click) в поле соответствующего объекта,
двойной щелчок (DblClick),
загрузка формы (Load),
событие, генерируемое объектом Timer, когда к нему разрешен доступ, через равные, заданные пользователем, промежутки времени (Tick).
Действия объектов при наступлении соответствующих событий могут быть предопределенными, т.е. они заданы и выполняются VB без нашего участия – это методы (Methods). Методы принадлежат конкретным объектам.
Примеры методов VB:
Cls() – стирает изображение (графику или текст), расположенное в указанном объекте,
Hide() – скрывает объект,
Show()– показывает объект.
Для задания действия объекта, описываемого некоторым методом, необходимо составить следующую инструкцию
<�имя объекта>.<�имя метода> [<�список выражений>].
Например,TextBox1.Hide().
Внимание. Здесь и далее используются символы “<�”, “>”, “[”, “]”, которые означают следующее: в угловых скобках поясняется, что должно находиться вместо этих скобок и заключенного в них текста. Квадратные скобки указывают на то, что их содержимое может отсутствовать, сами скобки отсутствуют всегда.
Для того чтобы задать действия объекта, не предусмотренные встроенными методами, нужно написать код соответствующей процедуры (подпрограммы).
Написание текста процедуры – это и есть программирование (кодирование) на версии языка Бейсик, реализованной в VB.NET.
Для того чтобы написать текст процедуры, необходимо открыть окно редактора кода двойным щелчком в поле того объекта, для которого будет написана процедура.
В окне редактора кода появляется заготовка (начало и конец) процедуры стандартного события для активного объекта. Например, если мы произвели щелчок в поле командной кнопки Старт с именем btnStart, то появится заготовка
Private Sub btnStart_Click(…)…
End Sub
т.е. имя процедуры формируется автоматически. Оно образуется из имени элемента управления и имени стандартного события. Для кнопки таким событием является Click (щелчок).
Текст процедуры мы должны вписать после заголовка.
Например, мы хотим, чтобы после нажатия кнопки Старт в текстовом окне появилась фраза «Начнем, пожалуй…». Для этого нужно присвоить свойству Text текстового окна значение «Начнем, пожалуй…» в процедуре Private Sub btnStart_Click(). Если соответствующему текстовому окну присвоено имя txtStart, то строка процедуры должна иметь вид:
txtStart.Text = «Начнем, пожалуй…».
Задание 1.
Запустить VB, открыть новый проект.
Ознакомиться с назначением основных экранных элементов и средствами управления ими. Изменить размер и расположение окон на экране.
Пример проектирования приложения: Спроектировать приложение, которое по нашему желанию пишет фразы: “Начнем, пожалуй...” и “Конец - делу венец! “
Для выполнения задания необходимо:
выбрать объекты (элементы управления);
задать свойства объектов;
определить сoбытия, которые управляют выбранными объектами.
В качестве объектов управления выберем две командные кнопки и два текстовых окна. Управляющее событие - нажатие кнопки. При нажатии первой кнопки в первом окне должна появиться фраза “Начнем, пожалуй...” При нажатии второй кнопки во втором окне должна появиться фраза “Конец - делу венец!”
Зададим свойства объектов:
Объект
|
Свойство
|
Значение
|
Form1
|
Text
Name
|
Начало
MyForm
|
Button1
|
Text
Name
|
Старт
btnStart
|
Button2
|
Text
Name
|
Стоп
btnStop
|
Text1
|
Text
Name
|
< пусто >
txtStart
|
Text2
|
Text
Name
|
< пусто >
txtStop
|
Напишем процедуры, при выполнении которых будут получены необходимые фразы. Это можно сделать, если присвоить свойствам Text объектов Text1 и Text2 соответствующие значения.
Sub btnStart_Click( )
txtStart.Text = “Начнем, пожалуй...”
End Sub
Sub btnStop_Click( )
txtStop.Text = “Конец - делу венец!”
End Sub
Проектирование закончено. Запускаем программу на выполнение. Недостаток программы в том, что она статична: повторное нажатие кнопок ничего не меняет. Изменим программу так, чтобы при нажатии кнопки “Стоп” исчезал текст в 1-м окне. Выйдем из режима выполнения программы. Дополним процедуру btnStop_Click, введя в нее оператор txtStart.Text = ““.
Задание 2
Изменить программу так, чтобы фраза во 2-м окне исчезала при нажатии кнопки “Старт”.
Задание 3
Используя свойство “доступ” (Enabled), изменить программу так, чтобы кнопки после нажатия поочередно становились недоступными. Убедиться, что изменять содержимое текстового окна можно не только из программы, но и “вручную”.
Задание 4
Сделать недоступным текстовое окно, в котором исчезла фраза.
Задание 5
Создать текстовое окно-подсказку, в котором при нажатии клавиши “Старт” появляется надпись “Нажмите Стоп”, а при нажатии клавиши “Стоп” - ”Нажмите Старт”.
Задание 6
Окно-подсказка меняет свой цвет и цвет букв.
Лабораторная работа N 2
Знакомство со средой разработки Visual Basic
(продолжение)
Рассмотрим новые объекты, свойства и методы.
Объект Label (надпись, метка) служит для идентификации элементов управления и вывода результатов выполнения программы путем присваивания соответствующего значения свойству Text.
Например, рядом с текстовым окном можно поместить метку, на которой будет написано "Важное сообщение". Это можно сделать, написав фразу в поле свойства Text метки, либо в тексте некоторой процедуры, если мы хотим, чтобы сообщение появлялось во время выполнения программы:
Label1.Text = "Важное сообщение".
Здесь мы воспользовались именем метки Label1, которое нам предложил VB.
Во время выполнения проекта метка постоянно находится на том месте, куда ее поместили, но содержание помещенной на ней надписи может быть изменено по нашему желанию.
Элемент управления Timer генерирует событие Tick через равные промежутки времени, задаваемые свойством Interval. Длина интервала измеряется в миллисекундах. Т.е. при установке значения свойства Timer равным 1000 таймер будет “тикать” один раз в секунду, если сделать его равным 500, то наступление события Timer будет происходить 2 раза в секунду и т.д. Иначе говоря, промежуток времени между двумя последовательными событиями Timer равен 1000/n миллисекунд, где n указывает число событий Timer в секунду. При значении свойства Timer равном 0 таймер отключен.
Элементы управления горизонтальная линейка прокрутки (HScrollBar) и вертикальная линейка прокрутки (VScrollBar) позволяют во время выполнения проекта изменять значение некоторой величины в заданном диапазоне. Для установки диапазона нужно задать значения свойств Min и Max. Значение, соответствующее текущему положению движка линейки, содержится в свойстве Value. Стандартное событие для линейки прокрутки – Skroll, оно возникает, если во время выполнения программы перемещать движок линейки непосредственно или щелкая по одной из стрелок, или на полосе прокрутки. Величина изменения свойства Value при щелчке по стрелке задается свойством SmallChange, а при щелчке по полосе прокрутки – свойством LargeChange.
Многие элементы управления обладают свойствами, задающими положение и размеры этих элементов. Top и Left задают координаты верхнего левого угла элемента, а Height и Width – соответственно его высоту и ширину.
Свойство Visible позволяет делать объект невидимым, если значение этого свойства равно False.
Событие Load для формы позволяет выполнять некоторые заданные действия при загрузке формы, т.е. в момент открытия проекта для выполнения. Так, если мы хотим, чтобы при запуске проекта появлялась подсказка, то можем это сделать, например, так : для процедуры Form_Load пишем команду, которая присваивает свойству Text элемента управления Label значение Нажми СТАРТ.
Задание 1.
1.Открыть проект, созданный в первой работе.
2.Поместить на экранной форме элементы управления Label и Timer.
3.Определить (не изменяя!) значения указанных выше свойств.
Пример проектирования приложения: Предыдущее приложение дополнить следующим образом:
в самом начале выполнения проекта должна появиться фраза ” Нажми “СТАРТ” ”,
при нажатии кнопки СТАРТ кнопка исчезает,
в результате наступления события Timer кнопка СТАРТ появляется, но на другом месте.
Присвоим элементу Label имя lblPrompt, а его свойству Text значение <�пусто>.
Напишем процедуру загрузки формы:
Private Sub Form_Load()
lblPrompt.Text= “Нажми СТАРТ”
End Sub
В процедуру btnStart_Click добавим оператор btnStart.Visible=False
Установим для объекта Timer значение свойства Interval равным 500 и в процедуру Timer1_Tick поместим оператор
btnStart.Visible=True
Для того, чтобы кнопка изменила свое положение, нужно изменить координаты ее верхнего левого угла, например , увеличить каждую из координат на некоторую величину:
btnStart.Left=btnStart.Left + 100
btnStart.Top=btnStart.Top + 50
Теперь при каждом “тикании” таймера кнопка будет перемещаться на 100 единиц влево и на 50 единиц вниз.
Задание 2.
1.Сохранить проект.
2.Открыть новый проект, который должен выполнять следующее. Один из таймеров делает кнопку невидимой и при этом меняет ее положение, другой таймер делает эту кнопку видимой. Нужно “поймать” (нажать) “прыгающую“ и исчезающую кнопку. При “поимке” происходит возвращение кнопки на исходную позицию.
Задание 3.
Изменить предыдущий проект следующим образом. Поместить на форму горизонтальную линейку прокрутки, установить диапазон изменения свойства Interval для таймера, на концах линейки поместить
метки, в которых указаны эти значения, свойство Interval таймера должно принимать значение в зависимости от положения движка линейки. Это значение указывать в метке.
Перемещения “непослушной” кнопки сделать зависящими от положения движка линейки.
Лабораторная работа N 3
Ввод и вывод данных
Любая программа предназначена для преобразования входной информации (данных) в выходную.
Данные различаются своим типом: одни представляют собой строки символов, другие – числа, бывают данные, которые относятся к другим типам. Подробнее об этом будет сказано позже. Сейчас нам важно знать, что вводимые в программу данные представляет собой строки символов.
Универсальным средством ввода-вывода является рассмотренное нами текстовое окно, которое позволяет вводить данные как на этапе проектирования программы, так и во время ее выполнения, а также выводить результаты, получаемые в процессе решения, как это было сделано в первом задании.
Ввод текста в текстовое окно на этапе проектирования осуществляется через поле свойства Text на панели Properties текстового окна. Во время выполнения проекта ввод можно осуществлять непосредственно в текстовое окно, либо формируя текст в программе. Кроме того, текст в текстовом окне можно редактировать.
Текст, вводимый в текстовое окно, может быть достаточно большим, ограниченные размеры окна поволяют видеть только часть его. Чтобы просмотреть весь текст, можно пользоваться клавишами смещения или указателем мыши. Свойство MultiLine позволяет осуществить многострочный ввод и вывод.
Текстовое окно реагирует на событие Changed (изменение), это событие возникает при вводе/удалении символа.
Часто при выполнении программы возникает необходимость ввода и вывода данных в определенный момент выполнения программы. Для получения данных от пользователя и для передачи ему результатов в VB используются диалоговые окна, которые задерживают выполнение программы до тех пор, пока пользователь не введет необходимые данные или пока не проанализирует результат при выводе.
Для такого ввода данных служит встроенное диалоговое окно, которое создается функцией InputBox(). Базовое окно ввода содержит окно редактирования текста, командную кнопку ОК и командную кнопку Cancel. При применении этой функции любой текст, записываемый в текстовое окно, будет возвращен после нажатия командной кнопки ОК. Если нажать командную кнопку Cancel, будет возвращена пустая строка, что можно использовать в программе, указывая те действия, которые должны выполняться при нажатии этой кнопки.
В простейшем варианте осуществляется ввод строки, которая затем используется в программе. Пусть необходимо ввести имя пользователя и поместить его в текстовое окно при нажатии командной кнопки. Это можно сделать следующим образом: в процедуре, вызываемой при нажатии командной кнопки, нужно поместить следующую команду
TextBox1.Text = InputBox(«Ваше имя, пожалуйста»)
При выполнении проекта нажатие командной кнопки вызывает появление диалогового окна ввода с текстом “Ваше имя, пожалуйста”. В окно редактирования текста необходимо ввести имя, например, ВАСЯ. После нажатия командной кнопки ОК значение «ВАСЯ» появится в текстовом окне Text1.
Фраза типа «Ваше имя, пожалуйста» (ее называют иногда Приглашением) является обязательной, она подсказывает пользователю, какие данные необходимо ввести, без нее ввод будет "слепым". Помимо приглашения можно ввести заголовок окна, дающий дополнительную информацию об использовании вводимых данных, и начальное значение вводимых данных, если они известны. Т.е. в общем случае функция имеет следующий синтаксис:
InputBox(<�Приглашение>[,<�Заголовок>][,<�Начальное значение>])
Для вывода сообщений служит процедура MsgBox, которая создает диалоговое окно вывода. В простейшем случае диалоговое окно содержит одну командную кнопку ОК, которую пользователь должен нажать для подтверждения приема сообщения и закрытия диалогового окна.
Для создания простого окна сообщения необходимо написать зарезервированное слово MsgBox и текст, который будет выведен в качестве сообщения. Этот текст может содержать постоянную часть, которую программист вписывает в виде строки и переменную часть, которая представлена некоторой переменной, имеющей строковое значение.
Отдельные части выводимого сообщения соединяются знаком “&”. Например, продолжая процедуру, можно написать
MsgBox “Начнем, ” & Text1.text & “?”
В диалоговом окне появляется фраза, содержащая введенное имя: «Начнем, ВАСЯ?».
Помимо строки сообщения в окно вывода можно поместить дополнительную информацию и заголовок. Дополнительная информация задается параметром "опция". Процедура вывода сообщения в этом случае выглядит следующим образом:
MsgBox <�Сообщение>[,<�Опция>][,<�Заголовок>].
Значение параметра "Опция " позволяет определить вид пиктограммы, помещаемой в окне, и указать набор изображаемых кнопок. Это значение задается как сумма двух чисел.
Первое из чисел задает вид пиктограммы:
критическое сообщение 16,
вопрос 32,
предупреждение 48,
информация 64.
Второе число указывает комбинацию изображений кнопок:
ОК 0
ОК, Отмена 1
Стоп, Повтор, Пропустить 2
Да, Нет, Отмена 3
Да, Нет 4
Повтор, Отмена 5.
Вывод сообщения можно оформить как функцию. Что такое функция, мы узнаем позже, сейчас важно запомнить, что все необходимые значения параметров в этом случае заключаются в скобки:
MsgBox(<�Сообщение>[,<�Опция>][,<�Заголовок>]).
Помимо выводимого сообщения функция возвращает целое число от 1 до 7, которое затем можно использовать в программе для указания действий, соответствующих определенным значениям функции. Смысловое значение чисел: 1 - Ок, 2 - Отмена, 3 - Стоп, 4 - Повтор, 5 - Пропустить, 6 - Да, 7 - Нет.
Замечание. Для выбора опции или возвращаемого функцией MsgBox() значения можно использовать всплывающие подсказки.
|
|
|