Запись кода, с помощью которой можно изменить цвет фона на голубой цвет, в проекте Sample выглядит так:
Обратите внимание, что правильно подобранное имя элемента управления, делает строку кода совершенно понятной, даже если вы не знаете BASIC. Эта запись говорит о том, что цвет фона (BackColor) у формы с названием Sample (frmSample) будет установлен в значение vbBlue
(голубой).
Другим важным местом, где присваивание имени элементу управления имеет особое значение, является запись процедуры событий (о записи процедуры события смотри ниже). Когда вы размещаете элемент управления на форме, все возможные процедуры обработки событий добавляются в ваш проект. Мы уже видели эти процедуры обработки событий в окне кода. Они имеют следующую структуру:
Обратите внимание, что в строке заголовка находится имя элемента управления. Таким образом, если имя будет легко узнаваемо, то нам не трудно будет видеть, для какого элемента управления написана соответствующая процедура обработки событий.
Расшифруем код: когда пользователь щелкнет по кнопке выбора optBlue, цвет формы изменится на голубой. Грамотное присваивание имени, делает опознавание элемента управления и чтение процедуры обработки событий, довольно легкими. Снова повторим, что в программировании очень важно правильно присваивать имена. А сейчас попробуем записать нашу первую процедуру обработки событий.
Третьим шагом создания проекта на Visual Basic является запись процедуры обработки событий для элементов управления формы. Для этого используется окно кода. На этом этапе мы рассмотрим способы отображения окна кода для вашего проекта. После этого, мы запишем код на BASIC, т.е. займемся непосредственно программированием. Основательно углубляться в программирование на BASIC мы пока не будем, а только научимся находить нужные процедуры обработки событий и вводить некоторый код.
Как мы уже упоминали, когда вы помещаете элемент управления на форму, то соответствующие этим объектам процедуры обработки событий становятся частью проекта и к ним можно обращаться, используя
. Для каждого элемента управления существует несколько процедур обработки событий. Но, нет необходимости записывать код на BASIC для каждой процедуры. Достаточно записать код для тех процедур, на которые мы хотим, чтобы последовала реакция компьютера. Раз вы принимаете решение ‘закодировать' событие, вы должны знать, что произойдет в результате процедуры обработки событий и выразить свои пожелания в строках кода на BASIC. Как мы уже записывали раньше, формат процедуры обработки событий следующий:
Слова ‘Private Sub’ в заголовке, во-первых, указывают на стандартную подпрограмму
имеет отношение к форме (если более точно, то - используемый только формой). Не беспокойтесь, если вам не всё понятно. Создание кода на BASIC является творческой частью разработки программы в Visual Basic. А также частью, где необходимо быть очень точным и внимательным. Орфографические ошибки, пропуски знаков пунктуации, пропуски операторов сделают ваши программы неработоспособными. Поэтому при записи компьютерных программ требуется особое внимание.
. Этот тип содержит просто строки символов. Строка может содержать какое-то название, строковое число, фразу, целый кусок текста или любой другой символ. И, часто, строка не будет содержать символы вообще (так называемая пустая строка). Свойство Caption (Заголовок) – это строковый тип свойства. Мы будем много работать со строками в Visual Basic, поэтому этот тип будет вам хорошо знаком. На что нужно обратить внимание при назначении свойств типа string? На то, что строка символов должна быть заключена в кавычки (
). Вы, иногда, можете забывать про них, работая в окне кода, так как при назначении свойства типа string в окне свойств, кавычки не используются. Для установки заголовка для нашей формы, мы можем использовать такую запись:
В этой записи, с применением оператора присваивания, говорится, что свойство Caption для формы заменяется (или изменяется) на строковое значение, находящееся справа от оператора. Надеемся, что вы уже начали улавливать основную идею использования оператора присваивания.
Когда мы говорили о разработке проекта, мы упоминали о том, что всегда необходимо следовать определенным правилам программирования при записи кода на BASIC. Одно из таких правил относится к записи комментариев (пояснений) для вашей программы. Вы можете помещать невыполнимые компьютером инструкции и пояснения к строкам вашего кода. Эти
помогают понять написанную программу. С комментариями проще впоследствии вводить изменения в строчки кода.
Для размещения комментария в вашей программе применяется специальный символ, называемый апострофом (‘). На клавиатуре, этот символ находится слева от клавиши <Enter>, на той же клавише, где и кавычки (“), постарайтесь не перепутать апостроф (‘) с похожим значком (`), находящимся на клавише слева от клавиши с цифрой 1. Любая запись, следующая за символом комментария, не будет выполняться компьютером. Комментарий может занимать целую строку, например:
Или, к примеру, комментарий может быть помещен на одной строке с оператором присваивания:
Вы, как программист, сами будете принимать решение о том или ином способе использования комментариев. В течение всего курса мы будем сопровождать рассматриваемые проекты соответствующими комментариями. Ну, а сейчас, такой вот проект.
В этом проекте мы немного позабавимся со свойствами формы, используя командные кнопки. Одна кнопка будет управлять увеличением (grow) размеров формы, другая – уменьшением (shrink), и две кнопки будут изменять цвет формы. И еще две кнопки будут управлять появлением и исчезновением других кнопок.
Откройте новый проект в Visual Basic. Размер формы должен быть такой, чтобы на ней могли разместиться шесть кнопок. Поместите шесть командных кнопок на форму. Расположите кнопки, приблизительно, как показано здесь:
Одно предупреждение. Если вы уже некоторое время работали с программами Windows, то, наверняка использовали и знаете о таких командах меню edit (правка), как
. Так вот, копирование можно использовать для размножения чего-либо, например, скопировать какой-то элемент, а затем вставить его несколько раз. При работе с текстом в текстовом редакторе, такой прием значительно экономит время. У вас может возникнуть идея, что и с элементами управления в Visual Basic, можно поступать также. Легко можно "купиться" на такой прием, ведь вместо создания шести кнопок, можно будет создать только одну, а потом размножить её, используя команды copy и paste. Но вы не можете так поступить, потому, что в Visual Basic это
! Если вы это сделаете, то вы, конечно, увидите нужные вам командные кнопки на форме и всё, вроде бы будет работать. Но, дело в том, что элементы управления, созданные простым копированием, имеют различные типы, с некоторыми из них вы можете познакомиться в старших классах обучения Visual Basic. Поэтому, в этом классе мы будем создавать элементы управления по одному, как мы проходили до этого. Позже, когда вы научитесь лучше программировать, можно будет самому попробовать, что случиться при простом копировании и вставке элементов управления.
Назначение свойств элементам управления производится в окне свойств. Вы, наверное, помните, что для перехода от одного элемента управления к другому, в окне свойств, нужно использовать список элементов в верхней части окна свойств или просто щелкнуть по нужному элементу управления на форме, сделав его активным. Работая со свойствами элементов управления в проекте, мы всегда будем перечислять элементы управления по их именам по умолчанию, то есть по именам, назначенным в Visual Basic при размещении на форме элементов управления.
3. Перемножаем число Deposit на число Weeks и записываем результат в переменную Total.
Обратите внимание, как легко и логически правильно записаны в виде кода на BASIC, действия, перечисленные в пунктах 1-4. Здесь только необходимо быть внимательным и не упустить из виду какой-либо мелочи. Например, ещё раз просмотрите, как используются функции Str и Val при преобразовании ‘строка-число'.
представляет собой всего лишь одну строку кода, с помощью которой производится остановка выполнения программы:
Запустим на выполнение наш проект.
Запустите проект. Щелкните в текстовом поле, справа от надписи Weekly Deposit, чтобы появился курсор, и введите некоторое значение суммы еженедельного вклада. Введите также некоторое количество недель в виде числа на поле справа от надписи Number of Weeks. Щелкните по кнопке Compute. Результат вычислений должен появиться в окошке элемента управления с именем lblTotal. Убедитесь, что результат вычислений правильный. Запомните, что при разработке проекта важно тщательно проверять, что ваш проект работает, так как задумано! Если вы вводите значение суммы еженедельного вклада 10 долларов, и количество недель тоже 10, а после выполнения вычислений получается 1 миллион долларов (что, в общем-то, иметь в кармане совсем неплохо), то значит в проекте где-то ошибка! Щелкните по кнопке Exit, чтобы убедиться, что она работает. Сохраняйте проект после введения любых изменений.
Многим из вас этот проект может показаться не таким уж и сложным. И это действительно так. В конце концов, мы только перемножили два числа. Но, на этом примере продемонстрированы все этапы создания проекта Visual Basic. Вы узнали, как можно вводить значения для входных данных, преобразовывать их в различные типы, осуществлять математические операции и выводить результаты операций в удобном для пользователя виде.
Большинство сберегательных счетов предполагают выплату процентов по вкладам, что фактически является платой банка вкладчику за возможность использовать его деньги. В проекте, над которым мы работали, не учитываются выплаты процентов. Но это довольно легко исправить, лишь немного усложнив математические расчеты. Сейчас мы перечислим основные этапы работы над усовершенствованием проекта, а ввести часть изменений вы должны самостоятельно. Попробуйте осуществить следующие действия:
как переменную для хранения величины годовой процентной ставки. Процентная ставка – это десятичное число, поэтому используйте для него тип переменных
(Ура! Мы впервые будем использовать десятичные числа!).
· Добавьте на форму ещё одно текстовое поле, чтобы пользователь мог ввести величину процентной ставки. Назовите этот элемент управления
.
· Рядом с текстовым полем добавьте элемент управления label для размещения пояснительной надписи (введите значение свойства
).
, учитывалась переменная Interest. Числовое значение переменной Interest можно получить, используя запись:
Не забудьте, что эту запись необходимо печатать в одну строку, текстовый редактор сам переведет строку для удобства чтения. Так как мы сказали, что эта запись довольно трудна для понимания, то и не следует парить мозги по поводу её физического смысла (всему своё время, просто поверьте на слово, что, действительно, – так вычисляются проценты по вкладу). В написанном выражении присутствуют многие математические операторы и скобки, что нам и необходимо для практики.
А сейчас давайте запустим усовершенствованный проект. Введите в соответствующие окошки значения для Deposit, Weeks, и Interest. Щелкните по кнопке Compute. Убедитесь, что полученный ответ разумен. (К примеру, если вы будете класть еженедельно на счет ‘Deposit’ десятку (10), в течении 20 недель ‘Weeks’, а проценты по вкладу 'Interest’ будут равны 6.5, то общая сумма сбережений ‘Total’ будет равна $202 – обратите внимание, что без учета процентов вы получили бы сумму равную $200, что вполне логично). Ещё обратим ваше внимание на то, что в проекте общая сумма сбережений Total автоматически преобразуется в тип integer (как мы и объявляли), даже, несмотря на то, что в результате вычислений получается не целое (десятичное) число. Сохраните ваш проект.
После проверки работы вашего проекта, давайте рассмотрим ещё одну вещь. Помните, однажды мы говорили о том, что, хотя это и не обязательно, мы будем объявлять каждую переменную в нашем проекте? Сейчас самое время объяснить – почему. Откройте неусовершенствованный проект подсчета сбережений (который без учета процентов). Найдите процедуру обработки событий
и специально сделайте орфографическую ошибку в названии переменной Deposit. Например, измените строку:
Запустите проект. Что произошло, как только вы щелкнули по кнопке Compute? Появится окно сообщения, похожее на это (для версии
Variable not defined – переменная не определена.
с орфографической ошибкой. Visual Basic сообщает, что объявленной переменной с таким именем нет. Это и есть указание на вашу орфографическую ошибку. Остановите выполнение проекта.
А сейчас, давайте перейдем к разделу общих объявлений и уберем строку
(надеемся, вы знаете, как пользоваться клавишей Delete). Вы удалили требование об объявлении всех без исключения переменных вашего проекта. Запустите проект на выполнение. Введите в окна некоторые числа. Щелкните
. Обратите внимание, что проект вроде выполняется без ошибки, но ответ неправильный. Visual Basic определяет Depsit
Deposit как две разные переменные в проекте. Так как для Deposit не введено никакое значение, то эта переменная принимается равной нулю. Поэтому, какое бы значение в поле вы не ввели, вычисляемая сумма Total всегда будет равна нулю. Логическая ошибка в нашем коде налицо. Вы знаете, что что-то работает неправильно, но необходимо внимательно разобраться с кодом, чтобы узнать, что именно. Visual Basic не поможет вам своей мощной справочной системой, чтобы определить местонахождение ошибки в этом случае. Следовательно, вводя требование об объявлении всех наших переменных, мы делаем процесс правильной и безошибочной записи процедур обработки событий немного проще и надежней. Остановите выполнение проекта.
В этом классе вы узнали много нового материала. Вы узнали об элементах управления label и text box. Кое-что вы узнали о переменных: присвоение имен переменным, их типы, и как их правильно объявлять. Ещё вы узнали о функциях, с помощью которых можно преобразовывать строковые переменные в числа и наоборот. Вы узнали, как производятся математические действия (операции) на языке BASIC. Но не следует расслабляться, есть ещё много нового для вас материала. В следующих классах мы будем осваивать новые элементы управления и новые операторы языка BASIC. И уже им мы будем уделять больше внимания, чем среде программирования, так как мы думаем, что к этому времени, вы уже должны свободно ориентироваться в основных панелях, окнах и командах Visual Basic.
This page intentionally not left blank.
(в системах разработки, таких, как Microsoft Developer Studio - набор интегрированных средств для сборки, тестирования и совершенствования приложения).
Visual Basic. Мы также знаем, что основой проекта является
. Совершая
мы воздействуем на элементы управления и, в ответ, компьютер выполняет определенные действия по определённым инструкциям. Во втором классе мы сделаем первые шаги в построении собственного проекта и посмотрим, как отдельные части проекта объединяются в среде Visual Basic в единое целое. Как и в классе 1, вы узнаете о новых понятиях и выражениях, приобретете определенный опыт.
В классе1 мы увидели, что существует три основных компонента проекта Visual Basic: это собственно проект, форма и элементы управления.
– это всеобъемлющее понятие в Visual Basic. Проект – это то же самое, что и компьютерная
.
элемент в виде окна, предназначенный для того, чтобы пользователь мог взаимодействовать с компьютером (здесь уместно такое понятие как интерфейс, т.е. взаимодействие).
, это элементы, обладающие определёнными графическими и функциональными свойствами. Их помещают на форму как элементы, на которые пользователь может воздействовать (текстовые окна, надписи, полосы прокрутки, командные кнопки). Напомним, что сама форма тоже является элементом управления. Термин элементы управления является синонимом термина
. Составляющие проекта проиллюстрированы на рисунке.
|
|
Control |
Form
(Форма)
Таким образом, проект состоит из формы, содержащей несколько элементов управления. Просматривая папки с файлами на компьютере, вы можете обнаружить некоторые файлы, относящиеся к проектам Visual Basic. Обычно, проект в Visual Basic, сохраняется в двух исходных файлах. Проект сохраняется в файле, имеющем расширение vbp (кроме того, иногда, встречается расширение vbw). Форма сохраняется в файле, имеющем расширение frm (кроме того, иногда, встречается расширение frx). Откройте папки с проектами (VB4Projects, VB5Projects, или VB6Projects) и вы найдёте там файлы Sample.vbp и Sample.frm – это файлы проекта, который мы открывали в классе 1. Вы должны знать эти расширения, чтобы правильно открывать и сохранять проекты.
Важным понятием в проектах Visual Basic являются свойства (property). Каждый характерный признак элемента управления (и самой формы) определяется их свойствами. Например, свойствами являются имя, заголовок, размеры, цвета, положение на форме, и другие состояния. В этом классе мы начнем изучать свойства элементов управления.
Также, в классе 1, мы начнём изучать Visual Basic как управляемый событиями (event-driven) компьютерный язык. В Visual Basic управление всеми действиями происходит с помощью обработчика или процессора событий (event processor). Это означает, что в проекте Visual Basic ничто не происходит, пока не произойдёт событие. Когда событие происходит, проект находит серию инструкций, связанных с этим событием; эти инструкции называются процедурой обработки события (event procedure).
|
|
|
|
|
Procedure
"> |
|
Procedure
"> |
Когда процедура выполнена, управляющая программа возвращает событие.
Запись процедур обработки событий и есть по существу настоящее компьютерное программирование. Процедуры обработки событий сохраняются в файле формы с расширением frm. Процедуры служат для записи инструкций с помощью операторов на языке BASIC. Мы начнем изучать программирование на языке BASIC уже в этом классе. BASIC, который вы будете изучать имеет много общего с тем языком, которым пользовались Билл Гейтс и Пол Аллен, в то время, когда создавалась компания Microsoft.
Среда программирования Visual Basic
Visual Basic – это больше, чем просто язык программирования. Это система (среда) разработки для создания проекта. В этой среде мы можем создать проект, запустить и протестировать его, устранить возможные ошибки, и, наконец, сохранить в файлах. В других компьютерных языках вам понадобился бы отдельный текстовый редактор для записи текста программы, перед запуском программы её необходимо компилировать, а потом долго отлаживать. В Visual Basic каждый этап создания проекта происходит в единой среде разработки. Давайте рассмотрим, из чего состоит среда разработки Visual Basic.
Главное окно (Main Window)
Запустите Visual Basic, используя процедуру, описанную в классе 1. Обратите внимание на появившиеся на экране окна. Главное окно (Main Window)
используется для управления созданием проекта и запуска созданных программ.
VB4:
VB5:
VB6:
Главное окно состоит из строки заголовка, строки меню и панели инструментов. В строке заголовка указывается имя проекта и текущий режим работы Visual Basic (разработка, останов, выполнение). В строке меню находятся «выпадающие» меню, через которые производится управление средой разработки Visual Basic. На панели инструментов находятся кнопки с изображениями, и предназначены они для быстрого доступа к некоторым командам меню. Найдите кнопки, с помощью которых, мы в классе 1, открывали, запускали, и останавливали выполнение проекта..
Form Window (Окно Form)
Окно Form имеет большое значение в Visual Basic. Это место будет основой для создания вашей программы.
Если вы не видите окно формы на экране, то необходимо:
VB4: Щелкнуть View (Показать) в главном меню, затем Form.
VB5, VB6: Щелкнуть View в главном меню, затем Object.
Другим способом переключения между окнами является способ, когда на клавиатуре нажимается <Shift> и одновременно функциональная клавиша F7.
Toolbox Window (Окно инструментов)
Toolbox Window (Окно инструментов) предназначено для выбора элементов управления для вашей программы. Часто, при работе с этим окном, элементы управления называют tools (инструменты). Таким образом, существуют три термина, описывающие элементы управления: объекты, инструменты, и, наиболее употребляемые, сами элементы управления (controls).
VB4:
(Геометрические фигуры) Shape
(Окно списка каталогов) Directory |
Vertical Scroll Bar (Вертик. полоса прокрутки) |
Picture Box (Графическое окно) |
Text Box (Текстовое окно) |
(Флаговая кнопка) Check Box |
Option Button (Кнопка выбора вариантов) |
Command Button (Командная кнопка) |
(Комбинированное окно) Combo Box |
(Горизонт. полоса прокрутки) Horizontal Scroll Bar |
Drive (Окно выбора диска) |
Files (Окно списка файлов) |
Data Control (Управление данными) |
Common Dialog Box (Стандартное окно диалога) |
VB5, VB6:
(Метка) Label
Picture Box (Графическое окно) |
Text Box (Текстовое окно) |
Command Button (Командная кнопка) |
(Флаговая кнопка) Check Box |
Option Button (Кнопка выбора вариантов) |
(Комбинированное окно) Combo Box |
(Горизонт. полоса прокрутки) Horizontal Scroll Bar |
Vertical Scroll Bar (Вертик. полоса прокрутки) |
<
Drive (Окно выбора диска) |
(Окно списка каталогов) Directory |
Files (Окно списка файлов) |
(Геометрические фигуры) Shape |
Data Control (Управление данными) |
Если окна инструментов не видно на экране, то щелкните View в главном меню, затем Toolbox. Постарайтесь определить, из каких элементов управления состоит проект Sample, рассмотренный в классе 1.
Properties Window (Окно свойств)
Properties Window (Окно свойств) предназначено для установки исходных значений некоторых параметров элементов управления. Раскрывающийся список в верхней части окошка содержит все элементы управления, расположенные на форме, с которой вы работаете. Под этим полем располагается перечень свойств выбранного объекта.
VB4:
Drop-down
list box
(Раскрывающийся список)
VB5, VB6: Здесь, вы видите две закладки: Alphabetic (По алфавиту) и Categorized (По категориям). Мы будем использовать Alphabetic.
Drop-down
list box
Если вы не видите на экране окно свойств, то необходимо:
VB4: Щелкнуть View в главном меню, затем Properties.
VB5, VB6: Щелкнуть View в главном меню, затем Properties Window.
Чтобы появилось окно свойств, ещё можно нажать функциональную клавишу F4 на клавиатуре. Окно свойств отображается только тогда, когда видно форму и элементы управления.
Project Window (Окно проекта)
Project Window (Окно проекта) появляется, когда создаётся форма для вашего проекта. Когда вы станете опытным программистом, вы научитесь создавать проекты, состоящие из нескольких форм. В этом случае, все формы вашего проекта будут перечислены в этом окне. Из этого окна, также, вы сможете перейти к просмотру окна Form или окна Code (это окно, в котором записывается непосредственно код программы на языке BASIC); для этого необходимо щелкнуть по одной из кнопок окна проекта. Окно кода мы будем рассматривать в следующем разделе.
VB4:
VB5, VB6:
Если окна проекта не видно на экране, то необходимо:
VB4: Щелкнуть View в главном меню, затем Project.
VB5, VB6: Щелкнуть View в главном меню, затем Project Explorer.
Другим способом показа окна является нажатие клавиши R вместе с предварительно нажатой клавишей <Ctrl> на клавиатуре.
Вы должны хорошо знать эти окна и способы их вызова на экран. В дальнейшем мы повторно откроем проект, с которым работали в классе 1, чтобы закрепить материал, рассмотренный выше.
Перемещение между окнами в Visual Basic
Project Window (Окно проекта)
Откройте проект под названием Sample, с которым мы работали в классе 1. Найдите и рассмотрите окно Project:
VB4:
VB5, VB6:
В окне проекта указано, что мы имеем файл проекта, сохраненный под именем Sample.vbp, который включает единственную форму, сохраненную под именем Sample.frm. Заметьте также, что в строке с именем формы упоминается имя frmSample. Помните окно Properties (Свойств)? Одно из важнейших свойств, устанавливаемых для элемента управления – это Name (Имя). frmSample – это и есть имя, как свойство нашей формы. Мы всегда обращаемся к элементу управления по имени, которое является свойством, поэтому следует очень внимательно относиться к имени элемента управления при его назначении (мы будем обсуждать этот вопрос в следующем классе). Это имя имеет особую важность, поэтому оно записывается в окне проекта.
Properties Window (Окно свойств)
Сейчас найдите окно Properties (Свойств). Это окно должно отображаться вместе с окном формы, т. е. окно формы должно быть сверху других окон. Ещё раз советуем проделать шаги, описанные выше, чтобы окно формы оказалось сверху других окон.
VB4:
Control list (Список
элементов управления)
VB5, VB6:
Control list (Список
элементов управления)
Раскрывающийся список вверху окна свойств называется control list (список элементов управления). Здесь отображается имя (имя как свойство) для каждого элемента управления в проекте, а также отображается тип элемента управления. Заметьте, как записан, находящийся в данный момент активным элемент управления Form (Форма) и обратите внимание на его имя frmSample. Перечень свойств находится ниже списка элементов управления в этом окне. В этом окне вы можете прокручивать (используя полосу прокрутки) от начала до конца весь список свойств выбранного элемента управления. Название свойства находится в левой колонке, а текущее значение – в правой. Посмотрите на перечень свойств формы. Вы видите, сколько их там? Вы узнаете о многих из них за время прохождения курса. А пока не беспокойтесь, всему своё время.
Щелкните по стрелке, указывающей вниз, в окошке списка элементов управления (помните, это там, где появляется раскрывающийся список в верхней части окна свойств).
VB4:
VB5, VB6:
Прокрутите то начала до конца весь лист с именами элементов управления формы. Их тоже много. Обратите внимание на назначенные элементам управления имена и их типы. По примечаниям возле каждого элемента управления, легко определить, какому имени, что соответствует. Например, имя imgTrike соответствует элементу управления image (картинка), содержащему картинку детского велосипеда. Этот способ наименования элементов управления, позволяет легко соотносить элемент управления с его именем. Как мы и говорили, в следующих классах мы будем подробно обсуждать вопрос о присвоении имён элементам управления.
Выберете один из элементов управления и просмотрите его свойства. Сравните их со свойствами других элементов управления. Заметьте, что каждый элемент управления имеет много свойств. Большинство свойств уже установлены по умолчанию (default), это те значения, которые заранее заложены в Visual Basic. Мы будем изменять значения некоторых свойств, установленные по умолчанию, на другие, измененные или пользовательские (customize) значения. Как изменять значения свойств, мы рассмотрим в классе 3.
Code Window (Окно кода)
Давайте рассмотрим новое окно. Повторяем, что в Visual Basic управление происходит с помощью событий, т. е. когда в проекте встречается событие, то выполняется event procedure (процедура события). Процедуры событий сообщают компьютеру, что делать в ответ на событие. Процедуры событий можно назвать непосредственно компьютерным программированием (в данном случае, использующим язык BASIC). Мы рассматриваем процедуры событий в Code Window (Окне кода). Есть несколько способов вызвать на экран окно кода. Например, можно в окне проекта нажать соответствующую кнопку. А можно щелкнуть View в главном меню, а затем Code. Или просто нажать F7 на клавиатуре. Найдите окно кода для проекта Sample.
VB4:
Object List (Список объектов)
Procedure List (Список процедур) |
VB5, VB6:
В верхней части окна кода находятся два поля, - object list (список объектов) и procedure list (список процедур). Список объектов такой же, как и список элементов управления в окне свойств. Не забывайте, объекты – это элементы управления. В списке перечисляются все имена объектов формы. Имя одного из объектов или элементов управления выбирается в списке объектов, а в списке процедур находятся все возможные процедуры событий для этого элемента управления. Как показано на нашем примере, в окне кода находится процедура событий Load (Загрузить) для элемента управления Form (Форма). (Если элемент управления Form не выбран то, необходимо его найти и выбрать, используя полосу прокрутки). Событие Load происходит при первоначальной загрузке проекта в ваш компьютер. Под полями списков объектов и процедур находится поле, где событие процедуры описывается непосредственно в виде кода на языке BASIC. Эта запись кода, вероятно, сейчас для вас является китайской грамотой, но не волнуйтесь, - так и должно быть! В следующих классах, когда мы начнем изучать BASIC, то строчки кода уже не покажутся такими сложными. Щелкните по стрелке, раскрывающей список процедур, в верхнем правом поле окна кода. Рассмотрите другие доступные события процедур для элемента управления Form. К счастью, мы не должны записывать код на BASIC для всех этих процедур. Мы записываем код только для событий, которые ожидаются во время запуска проекта.
Щелкните по раскрывающемуся списку объектов. Выберете объект под именем optBlue.
VB4:
VB5, VB6:
Здесь вы видите событие процедуры Click (Щелчок) для элемента управления с именем optBlue. Даже не зная языка BASIC, вы можете понять, что это обозначает. Учитывая, что мы тщательно подбирали имя для элемента управления, то в нём мы можем распознать кнопку выбора вариантов (option button) в виде маленького кружка со словом Blue (Голубой) возле него (это слово возле кнопки выбора вариантов установлено с помощью свойства Caption (Заголовок) в окне свойств). И так, эта процедура события вызывается каждый раз, когда мы щелкаем по кнопке выбора Blue. Заметьте, что эта процедура имеет всего одну строчку с инструкциями (пока мы не берем в счет первую и последнюю строки):
frmSample.BackColor = vbBlue
В этой строке кода на BASIC сказано, что для элемента управления с именем frmSample существует свойство BackColor и ему присвоено значение Blue (в нашем примере это значение записано словом vbBlue). Не очень сложно?
На самом деле, большую часть кода на BASIC, можно легко понять. Так что не волнуйтесь. Выберете другие объекты из списка объектов и рассмотрите соответствующие им процедуры событий. Просмотрите строки кода. Начинайте с верхней линии (снова, пока, пропустите первую строчку) и идите до последней строки. Вы начали кое-что понимать, даже не зная BASIC? Да, в большинстве случаев это так. Запись кода на BASIC очень подробная. Она логична и очевидна. Вы можете начинать писать и свой код!
Резюме
Во втором классе мы узнали о среде программирования Visual Basic и, немного о том, из чего она состоит. Мы также узнали о некоторых важных терминах, таких как properties (свойства) и event procedures (процедуры событий). Теперь вы готовы к созданию своего первого проекта на Visual Basic. В следующем классе, вы будете изучать, как размещать элементы управления на форме, как их перемещать и изменять их внешний вид. Вы, также научитесь вставлять код на BASIC в процедуры событий.
Visual Basic для детей
3. Ваш первый проект на Visual Basic
Обзор и предварительные замечания
В предыдущих классах вы узнали о формах (forms), элементах управления (controls), свойствах (properties), и процедурах обработки событий (event procedures). В этом классе вы получите знания, необходимые для создания простого проекта на Visual Basic. Шаг за шагом, создавая проект, вы научитесь помещать элементы управления на форму, устанавливать для них свойства и записывать собственные процедуры обработки событий на языке BASIC.
Этапы создания проекта на Visual Basic
Существует три основных этапа создания проекта Visual Basic:
1. Размещение (или рисование) элементов управления (controls) на форме.
2. Установка (назначение) свойств (properties) для элементов управления.
3. Запись процедур обработки событий (event procedures) для элементов управления.
Все эти этапы осуществляются в режиме разработки (design). Эта надпись должна стоять в строке заголовка главного окна Visual Basic в квадратных скобках.
Откройте Visual Basic. В появившемся окне New Project подтвердите создание стандартного проекта Standard EXE, щелкните по кнопке Открыть. Найдите форму, она должна появиться после запуска. Щелкните по ней, чтобы сделать её активной. Это будет выглядеть примерно так:
До начала создания проекта, рассмотрим некоторые технологии, обычные для работы в ‘Windows’. Это две вещи, которые вам необходимо будет делать с элементами управления (помните, что форма – это тоже элемент управления) по перемещению и изменению их размеров.
VB4:
· Для перемещения формы в проекте VB4 необходимо подвести курсор мыши к области строки заголовка, нажать левую клавишу и удерживая её нажатой, переместить (перетащить) форму на другое место. Отпустите кнопку мыши, когда форма будет находиться в нужном месте. В этой позиции форма будет находиться и при следующем запуске проекта.
· Для изменения размера формы в VB4, поместите курсор на угол или край формы. Когда курсор изменит свой вид на ‘двойную стрелку’, нажмите левую клавишу мыши и, удерживая её в нажатом состоянии, перетащите край или угол на необходимое расстояние.
VB5, VB6:
· Если вы работаете с VB5 или VB6, то переместить форму перетаскиванием вы не сможете. Она находится в фиксированном положении в окне. Для управления положением формы в окне предназначено Окно размещения формы (Form Layout
Window):
Если окна размещения формы не видно на экране, то щелкните View в главном меню, а затем Form Layout Window. Теперь щелкните на изображении формы в небольшом экране окна размещения формы и, удерживая кнопку мыши нажатой, перетащите окно в нужную позицию. Таким образом, устанавливается начальное положение формы, которое она будет иметь при запуске программы в VB5 или VB6.
· Обратите внимание, что для изменения размеров формы в VB5 или VB6, применяются так называемые ‘манипуляторы размера’ в виде небольших квадратиков в углах и по краям формы. Если вы поместите курсор на один из этих манипуляторов, то он изменит свой вид на ‘двойную стрелку’. В этом месте, вы можете, удерживая кнопку мыши нажатой, изменять размеры формы. Потренируйтесь в изменении размера и положения формы. Это вам пригодится, когда мы начнем размещать элементы управления на форме.
Размещение элементов управления на форме
На первом этапе создания проекта в Visual Basic необходимо разместить элементы управления в определенном месте. Итак, сейчас вы должны сделать выбор, а именно выбрать элементы управления, которые вам нужны для создания проекта. Это многократная, отнимающая сама по себе много времени, задача. Причем часто придется изменять своё решение. Давайте, прямо сейчас, попробуем установить элементы управления на форме.
Элементы управления будем выбирать с помощью блока инструментов Toolbox. Есть два способа размещения элементов управления на форме:
1. Дважды щелкните по выбранному элементу управления блока инструментов. Элемент управления будет создан с заданными по умолчанию (default) размерами и помещен в середину формы.
2. Щелкните один раз по выбранному элементу управления блока инструментов. Теперь переместите курсор мыши на форму. Заметьте, что курсор изменил свой вид на (+). Установите крестик в том месте, где будет находиться левый верхний угол вашего элемента управления. Нажмите левую кнопку мыши и, удерживая её, перетащите курсор к тому месту, где будет находиться правый нижний угол этого элемента управления. При этом будет виден прямоугольный контур. Когда размеры контура достигнут необходимой величины, отпустите кнопку мыши. На форме появится элемент управления.
Как только элемент управления помещен на форму (независимо от способа размещения), вы можете ещё раз переместить его или изменить размеры. Чтобы переместить (move) элемент управления, выберите его, т.е. щелкните левой кнопкой мыши по нему (появятся манипуляторы размера). Перетащите его на новое место и отпустите кнопку мыши. Для изменения
размера (resize), также выберите элемент управления, а затем подведите курсор к одному из манипуляторов, чтобы вид курсора изменился на ‘двойную стрелку'. После этого, нажав клавишу мыши, вы можете перетащить выбранную сторону или угол элемента управления на необходимое расстояние.
Пример
Убедитесь, что Visual Basic запущен и на экране находятся форма и блок инструментов Toolbox (если это не так, то щелкните View в главном меню, затем Toolbox). Найдите в блоке инструментов элемент управления под названием командная кнопка (command button). Он выглядит так:
Щелкните двойным щелчком по этому элементу управления, и он появится посередине формы:
Обратите внимание на манипуляторы размеров вокруг кнопки. Это означает, что элемент управления находится в активном
(active)
состоянии. Щелкните на свободном месте формы и манипуляторы вокруг кнопки исчезнут, но появятся вокруг формы, – теперь форма находится в активном состоянии. Щелкните по командной кнопке снова, чтобы сделать её активной. Переместите командную кнопку в разные части формы. Теперь измените её размер. Например, сделайте ‘большую’ или ‘маленькую’, ‘высокую’ или ‘широкую’ кнопку. Ещё раз переместите кнопку в разные места формы.
Давайте поместим на форму другую командную кнопку, используя второй способ размещения. Найдите в блоке инструментов и один раз щелкните по элементу управления командная кнопка (command button). Переместите курсор на форму. Стрелка курсора изменилась на перекрестие. Теперь обозначьте контур будущей командной кнопки. Для этого: установите перекрестие курсора в то место, где будет находиться верхний левый угол командной кнопки. Нажмите левую кнопку мыши и, удерживая её, перетащите курсор к правому нижнему углу на необходимый размер, отпустите кнопку мыши. Заметьте, что после создания командной кнопки, вы еще раз можете изменять её положение и размеры.
Вы должны уметь свободно размещать элементы управления на форме. Со временем вы оцените преимущества и недостатки того или иного способа. И, тогда, вы будете использовать только один из способов размещения. Но знать необходимо оба. Попрактикуйтесь некоторое время, размещая элементы управления на форме. Используйте другие элементы управления, например labels (надписи), text boxes (текстовые окна), option buttons (кнопки выбора вариантов), и check boxes (флаговые кнопки). Перемещайте их по форме, изменяйте их размеры. Попытайтесь разместить ваши элементы управления по группам, на одной линии, чтобы они не выглядели бесформенным нагромождением. Это будет хорошим опытом, необходимым для создания проекта Visual Basic.
Вы также должны знать, как удалить элементы управления из формы. Это очень легко. Щелкните по элементу управления на форме, который хотите удалить. Элемент управления станет активным. Нажмите клавишу Del (delete – удалить) на клавиатуре. Выбранный элемент управления будет удален. Перед удалением элемента управления, убедитесь, что вы удаляете именно тот элемент управления, который необходимо удалить.
Установка свойств элементов управления в режиме разработки (Design Mode)
После того, как вы установите необходимые элементы управления на форме, можно назначить им свойства. При установке свойств назначаются некоторые параметры для элементов управления. Эти параметры определяют размер элемента управления, его цвет, назначение и положение на форме. В Visual Basic, когда вы размещаете элемент управления на форме, он получает установленные по умолчанию параметры свойств. Проще говоря, свойства геометрических размеров (таких как высота, ширина, расположение относительно краев формы) заданы заранее, вам остается только выбрать элемент управления. Но часто, заданные по умолчанию, параметры свойств не подходят и их необходимо изменить. Это можно сделать, используя Окно свойств (Properties Window).
Если у вас не запущен Visual Basic, то запустите его. Щелкните File в главном меню, затем New Project (Новый проект). На запрос о сохранении текущей формы и проекта, ответьте No (Нет). В VB5 или VB6, на запрос о запуске проекта – выберите Standard EXE. На экране должна появиться форма. Найдите Окно свойств
(Properties Window) или нажмите <F4>:
VB4:
VB5, VB6: Если открыта закладка Categorized, то щелкните по закладке Alphabetic.
Еще раз повторим, что поле в верхней части окна свойств содержит список элементов управления (control list), в котором перечислены все элементы управления, находящиеся на форме. Правда, сейчас в списке только один элемент управления – это сама форма. Давайте посмотрим на свойства формы.
Во-первых, какие у формы размеры? Все элементы управления имеют прямоугольную форму. И все элементы управления имеют по четыре свойства, относящиеся к размерам этих прямоугольников. С помощью полосы прокрутки просмотрите список свойств и найдите свойство Height (Высота). Это свойство – высота формы, представлена в единицах измерения, называемых twips (твипы). В одном дюйме 1 440 твипа. (Для справки: 1 дюйм = 25.4 мм, а расстояние от точки до точки на форме 140 твипов). Итак, разделив высоту Height в твипах на 1 440, мы определим высоту формы в дюймах. Точно также, свойство Width (Ширина) определяет ширину формы в твипах. Измените размеры формы с помощью мыши и
манипуляторов и посмотрите, как, соответственно, изменились значения высоты и ширины в свойствах формы. Свойство Left (Слева) определяет, насколько далеко находится левый край формы от левого края экрана монитора. Свойство Top (Сверху) определяет расстояние от верхнего края формы до верхнего края экрана. Переместите форму и посмотрите, как изменились соответствующие значения свойств (в VB5 и VB6, можно переместить форму в окне размещения формы). Или щелкните в окне свойств по строчкам Left или Top и введите новые значения соответствующих свойств. Форма переместится на соответствующую позицию на экране. Четыре свойства: Left (Слева), Top (Сверху), Width (Ширина), и Height (Высота) полностью определяют расположение и размер формы на экране компьютера.
Найдите свойство BackColor (Цвет фона) в окне свойств. Вы, вероятно, уже предположили, что с помощью этого свойства можно назначить background color (цвет фона) нашей формы. Значение этого свойства установлено как &H000000F&! Вы, вероятно, и не догадались бы, что эта цифра на компьютерном языке обозначает серый цвет. Ниже, мы рассмотрим назначение цвета другим, более простым способом. Для изменения значения свойства BackColor щелкните по строчке BackColor в окне свойств, затем щелкните в правой колонке по появившейся стрелке в виде треугольника, направленного острием вниз (если вы используете VB5 или VB6, то перейдите на вкладку Palette (Палитра)). Появится стандартная палитра цветов, где можно выбрать самый любимый и насладиться результатом.
С помощью прокрутки найдите свойство Caption (Заголовок). С помощью этого свойства устанавливается надпись в строке заголовка формы. Щелкните по свойству Caption, затем в правом столбце, напротив названия свойства, введите с клавиатуры другую надпись. Обратите внимание, что новый заголовок появился в строке заголовка формы.
Практически, это все, что касается установки свойств элементов управления. Повторим еще раз. Во-первых, вы выбираете нужный элемент управления из списка. Затем находите интересующее вас свойство. Щелкаете по названию этого свойства. Значение свойства может быть изменено, либо введением с клавиатуры нового значения (например, геометрических размеров, или названия заголовка), либо введением уже готовых значений из предлагаемого списка (например, из раскрывающегося списка с цветовой палитрой).
Dim VariableName As Type
Где оператор Dim – это Dimension (величина, размерность), As (как, в качестве). Нам нужно ввести подобный оператор для объявления всех переменных для нашего проекта. Это может показаться лишней работой, но дело того стоит. Такая, свойственная именно программированию вещь, как объявление переменных, делает работу с программой проще, уменьшает возможность ошибок, и облегчает последующее внесение изменений в программу.
Итак, где же размещаются объявленные переменные? Откройте новый проект в Visual Basic и поместите сверху окно кода. В окне кода откройте список объектов. Там вы увидите две записи: (General) и Form. Где General – Общие. Выберите (General). Окно кода будет выглядеть так:
VB4:
VB5, VB6:
Та область в окне кода, куда мы можем вносить записи, в этом случае принято называть разделом общих объявлений
(general declarations). Это и есть то место, куда помещаются операторы с объявленными переменными. Всякая переменная, объявленная в разделе общих объявлений может использоваться в программе (значения, которые содержатся в переменных могут быть доступны и/или изменены) и в любых процедурах обработки событий формы.
Ваш раздел общих объявлений может содержать запись Option Explicit (явный, определенный, точный вариант выбора). Эта строчка на языке BASIC сообщает среде программирования Visual Basic, что мы будем объявлять каждую используемую переменную (‘жесткий’ контроль). Откроем маленький секрет: на самом деле нет необходимости объявлять каждую используемую переменную, что, безусловно, является хорошей идеей. Но у всякой хорошей идеи есть свои недостатки. Поэтому мы поступим следующим образом. Если в вашем разделе общих объявлений отсутствует строка Option Explicit, то для того, чтобы она появилась, необходимо:
VB4: В строке меню щелкните Tools, затем Options. Выберите закладку Environment и установите галочку напротив надписи Require Variable
Declaration (Требуется объявление переменных).
VB5, VB6: В строке меню щелкните Tools, затем Options. Выберите вкладку Editor и установите галочку напротив надписи Require Variable Declaration.
С этого момента, для каждого создаваемого проекта, все переменные должны быть объявлены. (Эта опция или вариант выбора вступит в силу с момента открытия следующего проекта). Мы увидим, как нам это поможет, облегчит решение задач программирования при создании проекта уже в этом классе.
Заново запустите новый проект и попробуйте ввести с клавиатуры объявления переменных в окне кода. Ниже есть несколько примеров для этого (обратите внимание, что добавилась строка Option Explicit):
VB4:
VB5, VB6:
Математические операторы
Уж чего не отнимешь у компьютерных программ, так это то, что с их помощью можно очень хорошо выполнять математические действия. Они могут складывать, вычитать, умножать и делить числа очень и очень быстро. Поэтому нам, конечно, нужно знать, как в проекте Visual Basic можно производить действия, связанные с математикой. Для этого имеются семь математических операторов (arithmetic operators) на языке BASIC.
Сложение (addition) производится при помощи знака или символа плюс (+), а вычитание (subtraction) при помощи знака или символа минус (-) Простые примеры:
Операция Пример Результат
Сложение (addition) 7 + 2 9
Сложение (addition) 3 + 8 11
Вычитание (subtraction) 6 – 4 2
Вычитание (subtraction) 11 – 7 4
Умножение (Multiplication) осуществляется с помощью символа звездочка – asterisk (*), а деление (division) осуществляется с помощью символа косая черта – slash (/). Простые примеры:
Операция Пример Результат
Умножение (multiplication) 8 * 4 32
Умножение (multiplication) 2 * 12 24
Деление (division) 12 / 2 6
Деление (division) 42 / 6 7
Надеемся, что вы раньше уже встречались с операциями сложения, вычитания, умножения и деления и знаете в общих чертах, как они осуществляются. Три других оператора, возможно, вам неизвестны, а может, вы кое-что и знаете о них.
Рассмотрим следующую операцию, она называется возведение в степень (exponentiation), и она представляется в виде символа – carat (^) или как его еще называют ‘hat’ – ‘шапка’. Символ carat можно ввести с клавиатуры, - удерживая клавишу <Shift>, нажать на клавишу с цифрой 6. Возведение в степень используется для перемножения числа на самого себя. Вы, наверное, уже встречали понятие ‘возведение в квадрат’ – это и есть пример возведения в степень. Если у вас есть переменная типа integer с именем A и другая с именем B, то величина A ^ B представляет собой не что иное, как A, умноженное само на себя B раз. Приведем пример:
Пример Результат
5 ^ 2 25
2 ^ 4 16
3 ^ 3 27
Другие математические операторы имеют отношение к делению целых (integer) чисел. Операцию целочисленного деления
(integer division) можно осуществить с помощью символа обратной косой черты – backslash (\). Эта операция похожа на обычное деление, за исключением того, что в результате деления получаются только целые числа, а любой остаток отбрасывается. И, наоборот, с помощью операции получения остатка от деления нацело (modulus operator), представленной на BASIC ключевым словом Mod, производится деление двух целых чисел, в полученном результате основная часть от деления отбрасывается, а выводится только остаток! На первый взгляд может показаться, что трудно найти применение оператору Mod, но на самом деле он довольно часто используется в компьютерных программах. Примеры:
Операция Пример Результат деления Результат операции
Integer division 7 \ 2 3 Остаток 1 3
Integer division 23 \ 10 2 Остаток 3 2
Integer division 18 \ 3 6 Остаток 0 6
Modulus 7 Mod 4 1 Остаток 3 3
Modulus 14 Mod 3 4 Остаток 2 2
Modulus 25 Mod 5 5 Остаток 0 0
Внимательно просмотрите эти примеры, чтобы хорошо понять, как осуществляется целочисленное деление на BASIC.
Что получится, если выражение содержит более чем один математический оператор? Возможны ли разные ответы? Посмотрите на этот пример:
7 + 3 * 4
Каков же ответ? Смотря, с какой стороны рассматривать. Если мы начнем выполнять действия слева направо, то тогда вначале сложим 7 и 3, затем умножим на 4 и получим ответ 40. Если же вы сначала перемножите 3 на 4, а затем добавите 7, ответ будет 19. Мы вас еще не запутали? Ну, хорошо. В языке BASIC, чтобы избежать путаницы, существует правило старшинства или приоритета (precedence). Это означает, что существует определенный порядок выполнения математических операций. Этот порядок таков:
1. Возведение в степень (^)
2. Умножение (*) и деление (/)
3. Целочисленное деление (\)
4. Получение остатка от деления нацело (Mod)
5. Сложение (+) и вычитание (-)
Таким образом, в сложных выражениях, первой производится операция возведения в степень, после этого умножение и деление, затем целочисленное деление, потом следует получение остатка от деления нацело, и, наконец, сложение и вычитание. В нашем примере (7 + 3 * 4), мы видим, что операция умножения должна производиться раньше операции сложения, поэтому правильный ответ будет19.
Если два оператора имеют одинаковый уровень старшинства, к примеру, умножение и деление, то математические операции выполняются слева направо по очереди. Пример:
24 / 2 * 3
В этом примере сначала производится деление (24 / 2), а полученный промежуточный результат 12 затем умножается на 3, в итоге получается 36. Но что, если нам понадобится сначала выполнить операцию умножения, а только затем – деление? В этом случае нам поможет еще одна возможность языка BASIC – это группирование операций (grouping operators), которое выполняется с помощью круглых скобок (). Используя при записи операций круглые скобки, вы указываете, что выражение в круглых скобках должно выполняться первым. Таким образом, если мы перепишем наш пример так:
24 / (2 * 3)
то первой будет выполнена операция умножения (2 * 3), в результате которой мы получим промежуточный результат 6, после этого будет выполнено деление (24 / 6), в результате чего мы получим 4. Вы можете использовать столько круглых скобок, сколько необходимо, но каждый раз необходимо убедиться, что скобки расположены парами, то есть каждой левосторонней круглой скобке соответствует правосторонняя скобка. Если при введении операторов в окне кода Visual Basic вы неправильно согласовали количество скобок, то, когда вы попытаетесь перевести курсор с ошибочной строки, то на экране появится сообщение об ошибке (синтаксическая ошибка). Если у вас одно из выражений в круглых скобках находится внутри другого выражения в круглых скобках, то вначале вычисляется выражение во внутренних скобках, а затем в наружных. Например:
((2 + 4) * 6) + 7
Вначале складываются 2 и 4, в результате чего получается 6, затем 6 умножается на 6, получается 36. И к этому результату прибавляется 7, в итоге получаем 43. Вы можете использовать круглые скобки, даже если запись выражения подходит по приоритету. Это позволит вам внести полную ясность в очередность выполнения операций.
Если вы хотите улучшить свое мастерство в программировании, то советуем повторить пройденный материал, попробовать предсказать, как будут работать различные математические операторы, разобраться с порядком старшинства и применением круглых скобок. Тщательно, дважды проверяйте ответы, полученные в результате применения математических операторов.
Функции Val и Str
Одной из наиболее распространенных задач при создании проекта на Visual Basic, является задача ввода (input) чисел пользователем, после чего над ними будут произведены какие-либо математические операции, а результат операций выведен (output) в том или ином виде. Как осуществить ввод чисел? В принципе, вы уже сейчас можете догадаться, что для ввода пользователем различных символов, в том числе и цифр, можно использовать элементы управления типа текстовое поле (text box). Затем вы с помощью математических операций выполняете вычисления, а результат выводите с помощью элемента управления label. И это было бы правильно. Но существуют две проблемы:
Первая проблема: Математические операции могут производиться только с числами (например, переменными типа integer, свойствами типа integer), но значения, с которыми работает элемент управления text box (свойство text) имеет строковый тип (string). Вы не можете складывать или перемножать переменные и свойства типа string!
Вторая проблема: В результате математических операций получается число. Но свойство Caption для элемента управления label (там, где мы хотим отобразить результат вычислений) имеет строковый тип string. Вы не можете сохранить числовые данные в строковой величине!
Нам нужно решить две эти проблемы. Для решения этих проблем существуют встроенные функции языка BASIC (BASIC built-in functions). Нам необходим способ преобразования строк в числа и, наоборот, чисел в строки. Благодаря этому способу, мы могли бы взять свойство Text в текстовом поле, преобразовать его в число, проделать некоторые математические операции и снова преобразовать числовой результат в строку, чтобы можно было вывести этот результат, используя свойство Caption элемента управления label. Это очень распространенная задача для BASIC и BASIC имеет целый набор функций для их выполнения. Две из таких функций – это функция Val и функция Str. Мы их, конечно, рассмотрим, но сначала давайте дадим определение самой функции.
Функция в BASIC – это встроенная процедура, с помощью которой мы получаем информацию о вычислениях некоторого ожидаемого значения. Формат функции:
FunctionValue = FunctionName(ArgumentList)
FunctionName – это имя функции, а ArgumentList
– это список значений (отделенный запятыми), которые необходимы для работы функции. В этом выражении с оператором присваивания, FunctionName использует значения в ArgumentList для вычисления результата и присваивания этого результата переменной под именем FunctionValue. Мы должны быть уверены, что переменная FunctionValue имеет тот же самый тип, что и вычисляемое значение FunctionName. Как узнать, какие же ещё существуют функции в BASIC, какие типы информации они поддерживают, какие для них требуются типы параметров (arguments)? Используйте интерактивную справку Visual Basic и поиск по ключевому слову Functions (Функции). Вы их увидите достаточное количество. Мы расскажем о некоторых из них в этом классе, но не помешает и самостоятельная работа, ведь как приятно, иногда, погрузиться в гигабайтное справочное пособие на английском языке и узнать кое-что из жизни функций. А теперь, давайте рассмотрим наши первые две функции языка BASIC: Val и Str. Чтобы ваша голова стала тяжелой как ‘с похмелья’ можно почитать об этих функциях в интерактивном справочном руководстве.
В BASIC функция Val преобразует различные текстовые строки (или свойство элемента управления) в числовое значение. Формат этой функции:
YourNumber = Val(YourString)
Функция Val принимает значение YourString (помните, что это значение называется аргументом функции), преобразует его в числовое значение и это числовое значение присваивает переменной YourNumber. Эту переменную YourNumber мы можем использовать в любых математических операциях. Как мы отмечали ранее, строковая переменная может быть заключена в кавычки. Пример с использованием функции Val:
YourNumber = Val(“23”)
Согласно этой операции присваивания, переменная YourNumber получает числовое значение 23.
На языке BASIC
функция Str преобразует числовую переменную (или свойство элемента управления) и переводит её в строковый тип. Формат этой функции:
YourString = Str(YourNumber)
Функция Str принимает параметр YourNumber, преобразует его в строковую переменную и присваивает этой переменной имя YourString. Например:
YourString = Str(23)
это означает, что переменная YourString
содержит строковое значение “23”.
Вы должны совершенно свободно уметь преобразовывать числа в строки и строки в числа, используя функции Val и Str. Как мы уже упоминали, преобразования чисел и строк являются одной из наиболее распространенных задач при разработке проектов на Visual Basic.
Объединение или конкатенация (Concatenation) строк
Признаемся, что взяли грех на душу, так как в предыдущей обсуждаемой теме мы сознательно допустили небольшую неточность, надеемся, вы нас простите за эту маленькую ложь. А дело вот в чем. Мы говорили о том, что нельзя складывать и перемножать строки. Да, вы действительно не можете перемножать их, но вы можете производить над ними действия подобные сложению. Часто в проектах на Visual Basic, нам необходимо взять строковую переменную в каком-либо месте и ‘присобачить её на конец’ (‘tack it on the end’) к другой строке. Для этого существует трудно выговариваемое понятие – конкатенация или объединение строк (string concatenation). Оператором конкатенации является знак амперсанта – ampersand (&) и его очень легко использовать. Например:
NewString = “Visual “ & “Basic”
После этой операции, строковая переменная NewString
будет иметь значение “Visual Basic”. В некоторых книгах по BASIC и Visual Basic, вы можете также встретить знак плюс (+), используемый как оператор конкатенации и это тоже правильно и будет работать. Но в наших уроках мы будем использовать знак амперсанта, чтобы было проще отличать конкатенацию строк от математического оператора, обозначающего “сложение”.
Как вы уже поняли, строковые переменные составляют значительную часть программирования на Visual Basic. Поскольку вы хотите стать Программистом с большой буквы, вы должны свободно обращаться и работать со строками. А теперь – вперед, начинаем новый проект.
Проект – подсчет сбережений
Стадия разработки проекта (Project Design)
В этом проекте мы будем создавать калькулятор для подсчета сбережений. Мы будем вводить информацию о количестве денег, положенных на счет каждую неделю и число недель, когда мы клали деньги на счет. Задача проекта состоит в подсчете общей суммы сбережений. Мы будем использовать элемент управления text box для ввода, а элемент управления label для вывода информации. Командная кнопка будет использоваться для управления вычислениями.
Размещение элементов управления на форме
Откройте новый проект Visual Basic. Разместите на форме два элемента управления text box, четыре элемента управления label, и две командные кнопки (command button).
Ещё раз напоминаем вам, что не следует искушать себя мыслью, что однотипные элементы управления можно размножать, используя команды Copy (Копировать) и Paste (Вставить). Каждый элемент управления необходимо по отдельности разместить на форме, используя окно инструментов. Ваша форма должна примерно выглядеть так:
Установка свойств элементов управления
Установите свойства элементов управления, используя окно свойств (не забывайте, что список элементов управления состоит из установленных по умолчанию имён):
Form1 Форма:
Название свойства Значение свойства
Name frmSavings
Caption Savings Account
BorderStyle 1-Fixed Single
Где Savings Account – подсчет сбережений или сберегательный счет
Text1 Текстовое поле (Text Box):
Название свойства Значение свойства
Name txtDeposit
Text [Blank]
Font Arial
Font Size 10
Где Deposit – делать взнос, вклад
Text2 Текстовое поле (Text Box):
Название свойства Значение свойства
Name txtWeeks
Text [Blank]
Font Arial
Font Size 10
Где Weeks – недели
Label1 Надпись (Label):
Название свойства Значение свойства
Name lblDepositHeading
Caption Weekly Deposit
Font Arial
Font Size 10
Где Deposit Heading – заголовок для вклада
Weekly Deposit – еженедельный вклад
Label2 Надпись (Label):
Название свойства Значение свойства
Name lblWeeksHeading
Caption Number of Weeks
Font Arial
Font Size 10
Где Weeks Heading
– заголовок для недель
Number of Weeks – количество недель
Label3 Надпись (Label):
Название свойства Значение свойства
Name lblTotalHeading
Caption Total Savings
Font Arial
Font Size 10
Где Total Heading – заголовок для общей суммы
Total Savings – общая сумма сбережений
Label4 Надпись (Label):
Название свойства Значение свойства
Name lblTotal
Caption [Blank]
Font Arial
Font Size 10
BackColor White
BorderStyle 1-Fixed Single
Где Total - сумма
(Установки BackColor и BorderStyle для label4 позволят использовать этот элемент управления внешне похожим на текстовое поле)
Command1 Командная кнопка:
Название свойства Значение свойства
Name cmdCompute
Caption Compute Savings
Где Compute Savings – подсчитать сбережения
Command2 Командная кнопка:
Название свойства Значение свойства
Name cmdExit
Caption Exit
Где Exit – выход
Обратите внимание, что для свойства Text текстовых полей и для свойства Caption одного из элементов управления label установлено значение [Blank] (Пустой, чистый). Это не означает, что установлено значение [Blank] как свойство, а это означает, что место для значения свойства оставлено пустым ‘blank out’, или, что значение свойства, установленного по умолчанию, убрано. Обратите внимание также, что первое время у вас будут возникать проблемы с установкой значений для свойства Font. Если это необходимо, то советуем вернуться к процедурам, рассмотренным в Классе4, относительно элемента управления Командная кнопка. Попробуйте изменить значения других свойств, например, цвет. Сделайте это так, как вам нравится. Когда вы закончите, ваша форма должна выглядеть приблизительно так:
frmSavings
|
|
|
cmdCompute
Запись процедур обработки событий
В этом проекте пользователю предлагается ввести в верхнее текстовое поле некоторую сумму еженедельного вклада (Weekly Deposit). Затем пользователь вводит в следующее текстовое поле значение, соответствующее некоторому количеству недель (Number of Weeks). Следующим действием пользователя является щелчок по кнопке подсчитать (Compute). С помощью нашего проекта вычисляется общая сумма сбережений, и результат отражается в нижнем окне, которое, как мы знаем, является элементом управления label. Следовательно, главное событие в нашем проекте – это событие Click (Щелчок) по командной кнопке Compute. Имеет место и ещё одно событие – это событие Click по командной кнопке Exit (Выход). Ваш проект будет грамотно выполнен, если вы указываете понятный для пользователя выход из проекта.
Для проекта нам нужны три переменные (тип переменных – integer), одна из них представляет собой сумму еженедельного вклада (Deposit), другая – для запоминания количества недель (Weeks), и ещё одна для запоминания общей суммы сбережений (Total). Откройте окно кода и найдите раздел общих объявлений (general declarations). Объявите эти три переменные, – в окне кода это будет выглядеть так (первой автоматически должна стоять строка Option Explicit):
Option Explicit
Dim Deposit as Integer
Dim Weeks As Integer
End Sub
Код процедур обработки событий записывается на языке BASIC. Язык BASIC представляет собой набор словосочетаний и символов, которые используются для управления компьютером. Это внутреннее содержание языка BASIC мы и будем рассматривать в течение учебного курса. И, как раз сейчас, необходимо сделать одно предостережение. Мы уже говорили об этом, но не лишним будет повторить снова. Для компьютерного программирования необходима точность, – старайтесь не допускать ошибок! Вы должны быть особо внимательны при наборе с клавиатуры процедур обработки событий. Способность качественно набирать текст, используя клавиатуру, в любом случае будет вам необходима при работе на компьютере. Для обучения работе с клавиатурой существуют различные программы – клавиатурные тренажеры. Тренировки на тренажерах позволят вам быстрее приобрести навыки, необходимые для программирования на Visual Basic. Научившись хорошо вводить текст, вы будете допускать меньше ошибок при создании программ.
Оператор присваивания (Assignment Statement*)
*Оператор (Statement) – это элемент текста программы, выражающий целостное, законченное действие. (Прим.)
Простейший и наиболее часто употребляемый оператор в языке BASIC – это оператор присваивания (assignment). Он имеет вид:
For1.BackColor = vbRed
Запустите проект. Появится новое окно сообщения:
Object required – требуется указать объект (элемент управления)
Это окно сообщения несколько отличается от других, которые мы уже видели. Нажмите клавишу <F1> на клавиатуре или щелкните мышью, подведя курсор к кнопке окна с надписью Help (Справка). Вы получите разъяснения о возможной ошибке, но при этом не будет никакой дополнительной визуальной информации (например, ‘подсветки' ошибочной записи) как в предыдущем случае. Чтобы точно узнать, на какой объект или элемент управления требуется обратить внимание (‘object reqired’), в окне сообщения есть дополнительная кнопка. Обычно, окно подобного вида, появляется, когда вы имеете дело с орфографической ошибкой при назначении имени для элемента управления в коде на BASIC. Visual Basic сделает попытку назначить свойству какое-либо значение, исходя из ранее упомянутого принципа ‘записи через точку' (‘dot notation’):
ControlName.PropertyName = Value
Но, Visual Basic не находит элемент управления с данным именем (в нашем случае, это For1). Как же все-таки узнать, где ошибка? Ключ к сей великой тайне и есть кнопка с надписью Debug в окне сообщения. Visual Basic выделяет ошибочную строку кода. Для того чтобы увидеть, как это происходит, нажмите на кнопку Debug, и тогда строка кода с ошибкой будет выделена. И вам остается только выяснить, в какой части имени формы находится орфографическая ошибка. К сожалению, Visual Basic пока не такой "умный", как хотелось бы, и не может сделать это за вас. А, если серьезно, то, когда вы щелкаете по кнопке Debug, Visual Basic переключается в еще один режим работы – break mode (режим прерывания, останова). До этого, вы уже знали, что в Visual Basic есть два режима – режим разработки (design) и режим выполнения (run) проекта. Для того чтобы выйти из режима прерывания и исправить ошибку в строке кода, необходимо остановить выполнение проекта, нажав на кнопку с квадратиком на панели инструментов.
Те ошибки, которые мы специально вводили в код проекта, являются тремя основными видами ошибок периода исполнения: орфографические ошибки при присваивании имени свойству, орфографические ошибки в самом имени свойства или другие ошибки, связанные, например, с пропуском оператора присваивания. Существуют и другие ошибки, которые будут часто возникать по мере усложнения ваших проектов. Но, Visual Basic, с большой пользой для дела отслеживает многие ошибки, имея мощную интерактивную справку, необходимую для подробных разъяснений по возникающим вопросам. И еще одно маленькое замечание по поводу ошибок периода исполнения. Visual Basic не в состоянии отследить все возникшие ошибки одновременно. Он остановит выполнение проекта, когда встретится первая из имеющихся ошибок. После устранения ошибки, можно снова запустить проект. Будет найдена следующая ошибка. Таким образом, вы сможете установить и исправить поочередно все ошибки периода исполнения.
Логические ошибки
Логические ошибки наиболее трудно поддаются обнаружению и устранению. Наличие этих ошибок не приводит к остановке после запуска проекта, но они, эти логические ошибки, есть в программе, если получен неожиданный или неправильный результат. Единственное, что вы можете сделать при подозрениях на наличие логических ошибок, так это внимательно проверить весь ваш проект (особенно, написание процедур обработки событий) и убедиться, что все строчки кода соответствуют задуманному. По большому счету, обнаружение логических ошибок – это, отнимающее много времени, искусство, а не наука. Не существует никаких, даже общих правил, для обнаружения логических ошибок. Каждый программист имеет свой собственный, индивидуальный путь поиска логических ошибок.
Если обратиться к нашему примеру с формой, то логическая ошибка возможна, например, когда в результате выполнения программы цвет формы изменился на голубой (Blue) цвет, хотя мы ожидали красный (Red). Самое логичное в этом случае обратиться к окну кода и посмотреть, из-за чего это произошло. И как вы, наверное, догадались, при присвоении цвета для формы, была использована символьная константа vbBlue, а не vbRed, как было задумано, но черт попутал. Введя в код соответствующие изменения, вы устраните логическую ошибку и, после запуска проекта, вызовите покраснение (Red) нашей формы.
К сожалению, устранение логических ошибок не всегда так легко дается, как в рассмотренном выше примере. Но и здесь есть выход из положения. В Visual Basic имеется такая вещь, которая называется debugger (дебаггер, отладчик, отлавливатель жуков) который поможет вам идентифицировать (распознать, сравнить с уже известными) логическую ошибку. Используя отладчик (его работу вы уже видели, когда мы рассматривали режим прерывания – break mode), вы можете назначать любые значения свойствам и останавливаться когда угодно и где угодно, строчку за строчкой выполняя ваш проект. Не расстраивайтесь, если вы не поняли, как работать с отладчиком. Это отдельная тема для достаточно продвинутых (advanced) учащихся и она не рассматривается в рамках данного обучающего курса. Но, если вы упорны в достижении цели и хотите улучшить мастерство в работе с Visual Basic, то самостоятельное изучение работы отладчика, безусловно, пойдет вам на пользу. За такой героизм на данном этапе вам можно поставить памятник…
А сейчас, давайте вернемся к нашим элементам управления в среде программирования Visual Basic. Далее мы рассмотрим два новых элемента управления: label (надпись, метка) и text box (текстовое окно или поле).
Элемент управления Label (Надпись)
Label (Надпись) – это элемент управления, применяемый для отображения информации, которую пользователь не может изменить непосредственно там, где она находится. Этот элемент управления часто используется, чтобы вывести заголовки и надписи на других элементах управления. Или, ещё, Label используется, чтобы отобразить результаты какой-либо операции, выполненной компьютером. Элемент управления label можно выбрать или активизировать из окна инструментов (toolbox). Он выглядит так:
В окне инструментов: На форме, по умолчанию (default):
Свойства
Несколько полезных свойств для элемента управления label:
Свойство Описание
Name (Имя) Имя используется для распознавания того или иного элемента управления. После имени ставится префикс из трех букв lbl.
Caption (Заголовок) Текст (строковый тип), который появляется в надписи.
Font (Шрифт) Устанавливает вид шрифта, его начертание и размер для заголовка (надписи).
Alignment Выравнивает текст заголовка по правому, левому краю или по центру.
BackColor Устанавливает цвет фона для надписи.
ForeColor Устанавливает цвет самой надписи.
BorderStyle Определяет тип границы, бордюра (border) вокруг надписи.
Left (Слева) Определяет расстояние от левого края формы до левого края надписи.
Top (Сверху) Определяет расстояние от верхнего края формы до верхнего края надписи.
Width (Ширина) Ширина надписи в твипах.
Height (Высота) Высота надписи в твипах.
Visible (Видимость) Определяет, видна или не видна надпись на форме (в режиме выполнения проекта).
Пример
Начните новый проект. Поместите элемент управления label (надпись) на форму. Измените, размеры надписи и переместите ее в удобное для просмотра место, например, в центр формы. Установите свойство Caption (Заголовок), т.е. введите какой-либо текст. Измените свойство Fonts (Шрифт). Попробуйте установить различные значения для свойства Alignment (Выравнивание). Вы, наверное, заметили, что изменение свойства Alignment воздействует только по горизонтали, вертикального выравнивания здесь нет. Теперь перейдем к свойству BorderStyle (Тип границы). Существует два возможных значения для его установки. Обратите внимание, что по умолчанию стоит значение 0-None (0 – без границы), что просто предполагает наличие надписи внутри формы, а вот другое значение свойства 1-Fixed Single (1 – фиксированная одинарная) дает нам границу для надписи в виде объемного, как бы утопленного, прямоугольника (действительно бассейн с бордюром – ‘border’). После этого измените свойства BackColor (Цвет фона для надписи) и ForeColor (Цвет самой надписи). При этом вы можете получить не совсем подходящие для отображения на экране монитора сочетания цветов. Текст надписи должен легко читаться любым пользователем, который будет работать с вашей программой.
Для элемента управления label наиболее часто употребляемое свойство, это – Caption (Заголовок). С помощью этого свойства можно задать информацию, которая будет отображена в элементе управления label. Здесь необходимо сделать два замечания. Во-первых, вы должны убедиться, что размеры элемента управления label соответствуют размеру заголовка, и весь текст виден полностью. Во-вторых, обратите внимание, что свойство Caption имеет строковый тип. Поэтому значения для него можно задавать только строковые. Когда вы устанавливаете свойство Caption в режиме выполнения (run mode), то информация, вводимая для этого свойства, должна быть в кавычках. Например, если у вас есть элемент управления с именем lblExample, и вы хотите установить для свойства Caption значение My Label Box, то, используя код на BASIC (запись через точку), можно записать:
lblExample.Caption = “My Label Box”
Вы можете не беспокоиться относительно кавычек при установке свойства Caption в режиме разработки (design mode). Visual Basic автоматически установит именно строковый тип значения свойства.
События
Одно событие представляет для нас интерес на данном этапе для элемента управления label:
Событие Описание
Click (Щелчок) Событие выполняется, когда пользователь щелкает по элементу управления label мышью.
Выполнение этого события позволяет пользователю выбирать различные установки для нескольких элементов управления label, находящихся на форме. Что можно сделать с помощью этого события? Например, сделать программу тестирования, где можно выбирать один из ответов на поставленный вопрос или изменить какой-либо цвет после щелчка.
Элемент управления Text Box (Текстовое поле)
Элемент управления text box (текстовое поле) представляет собой окно, которое можно поместить на форму в режиме разработки (design mode), а вводить текст в это окно пользователь может в режиме выполнения программы (run mode). Ввести текст можно также, используя процедуру обработки событий. Правильным будет и такое предположение: элемент управления text box это то же самое, что и label, только его содержание может изменять пользователь программы. Элемент управления text box можно выбрать из окна инструментов Visual Basic. Он выглядит так:
В окне инструментов: На форме (по умолчанию):
Свойства
Элемент управления text box имеет богатый набор полезных свойств:
Свойства Описание
Name (Имя) Имя используется для распознавания того или иного текстового поля. После имени текстового поля ставятся три буквы префикса txt.
Text (Текст) Текст (строковое значение), который находится в текстовом поле.
Font (Шрифт) Устанавливает вид шрифта, его начертание и размер.
Alignment (Выравнивание) Определяет положение текста: или слева, или справа, или по середине текстового поля (действует, только тогда, когда для свойства MultiLine установлено значение True).
MultiLine Определяет, как текст отображается в текстовом поле – в одну или несколько строк (multiple lines – в несколько строк).
ScrollBars Определяет вид полосы прокрутки.
MaxLength Максимальная длина (Maximum length), имеется ввиду максимальное количество отображаемых символов. Если установить 0, то количество символов без ограничений.
BackColor Устанавливает цвет фона для текстового поля.
ForeColor Устанавливает цвет вводимого текста.
BorderStyle Устанавливает тип границы для текстового поля.
Left (Слева) Расстояние от левого края формы до левого края текстового поля.
Top (Сверху) Расстояние от верхнего края формы до верхнего края текстового поля.
Width (Ширина) Ширина текстового поля в твипах.
Height (Высота) Высота текстового поля в твипах.
Locked (Блокировка) Если установлено значение True, то пользователь не может изменить текст в текстовом поле (только в режиме выполнения – run mode).
Visible (Видимость) Определяет, когда текстовое поле будет видимым или невидимым на форме (run mode).
Пример
Откройте новый проект в Visual Basic. Поместите элемент управления text box (текстовое поле) на форму. Измените, размер и переместите его так, как вам удобно. Введите какой-либо текст с помощью свойства text. Выберите понравившийся шрифт с помощью свойства font. Попробуйте установить различные значения для свойства alignment (выравнивание). Обратите внимание, что выравнивать текст по центру и по правому краю, вы можете только, если свойству MultiLine (многострочность) присвоено значение True (Истина). А теперь рассмотрим различия при установке значений для свойства BorderStyle (тип границы). Для этого свойства элемента управления label по умолчанию устанавливается значение None (Отсутствует), а для элемента управления text box устанавливается значение Fixed Single (фиксированная одинарная граница). Измените свойства BackColor (цвет фона) и ForeColor (цвет вводимого текста). Установите для свойства MultiLine (многострочность) значение True и поэкспериментируйте с различными значениями для свойства ScrollBars (полосы прокруток). Вы, конечно, поняли, что элемент управления text box очень легко приспособить для выполнения различных задач, и он хорошо размещается на форме.
Подобно свойству Caption (заголовок) для элемента управления label (надпись), свойство Text (текст) для элемента управления text box (текстовое поле) имеет строковое значение. Таким образом, когда вы устанавливаете свойство Text в режиме выполнения (run mode), вы должны заключать соответствующее значение в кавычки (“), чтобы присвоить этому значению необходимый тип. Установка свойства Text в режиме разработки (design mode) не требует применения кавычек и вам не надо заключать в них вводимые символы.
События
Наиболее важное свойство элемента управления text box – это свойство Text. Как программист, вы должны знать, когда и по какой команде это свойство изменит своё значение. Имеется два события, с помощью которых можно управлять значениями свойства Text:
Событие Описание
Change (Изменить) Событие выполняется, когда изменяется Text.
LostFocus (Потеря фокуса) Событие выполняется, когда пользователь заканчивает работу с текстовым полем и вызывает событие на другом элементе управления.
Событие Change (Изменить) выполняется всякий раз, когда пользователь вводит очередной символ в текстовое поле, нажимая клавишу на клавиатуре и вызывая при этом процедуру обработки событий Change. В зависимости от свойства Text процедура обработки событий устанавливает соответствующее значение.
Процедура LostFocus (Потеря фокуса) полезна для контроля за введенным текстом. Давайте вспомним, как при размещении элементов управления на форме в режиме разработки, мы можем сделать один из элементов управления ‘активным’, щелкнув по нему. Подобное происходит, когда программа находится в режиме выполнения. Пользователь может воздействовать только на один элемент управления за один раз. Так вот, если у пользователя имеется возможность воздействовать на элемент управления (вызывать событие), то говорят, что элемент управления имеет focus (фокус). Когда пользователь вводит с клавиатуры текст в текстовое поле, то фокус находится на этом поле. Событие LostFocus (Потеря фокуса) выполняется, когда фокус переходит с текущего на другой элемент управления. В этот момент мы знаем, что пользователь произвел ввод текста в текстовое поле и, соответственно, произвел изменение свойства Text. Поэтому процедура обработки событий, связанная с изменением фокуса, полезна для определения значения свойства Text.
BASIC – второй урок
В этом классе мы будем изучать некоторые новые понятия языка программирования BASIC. Мы будем рассматривать: как объявить (declaring) переменную, имена переменных и их типы. Мы рассмотрим арифметические операции, некоторые функции, а также способы работы со строками.
Переменные (Variables)
Все компьютерные программы обрабатывают информацию того или иного вида. Числа, текст, цвет, различные изображения – вот типичные виды информации, с которой работают программы. Компьютерным программам необходимо как-то сохранять информацию, с которой они работают. Мы уже знаем об одном способе сохранения информации в проектах Visual Basic, он заключается в использовании свойств элементов управления. Свойства элементов управления содержат в себе такую информацию как размер элементов управления, их внешний вид, положение на форме, и цвет элемента управления.
Но, свойств элементов управления недостаточно, чтобы сохранить всю информацию, в которой нуждается проект. А что, если нам необходимо будет узнать, сколько будут стоить десять бананов (для российских программистов – десять соленых огурцов), если каждый банан стоит 25 центов? Для этого нам необходимо будет где-то поместить информацию о числе бананов, о стоимости каждого банана и ещё необходимо где-то поместить результат перемножения этих двух чисел. Чтобы сохранить (записать в память) информацию, которую мы не можем описать с помощью свойств элементов управления, в проекте Visual Basic, мы используем так называемые переменные
(variables). Они называются так потому, что сохраненная в переменных информация может быть заменена или изменена в процессе выполнения программы. Использование переменных является основным способом управления информацией в проекте Visual Basic. При использовании переменных необходимо соблюдать некоторые правила (rules). Эти правила очень похожи на те, которые мы рассматривали для свойств элементов управления.
Имена переменных
Вы должны дать имя каждой переменной, используемой в вашем проекте. Правила для присвоения имени таковы:
· Имя должно содержать не более 40 символов.
· В имени можно использовать буквы, цифры и символ подчеркивания (_).
· На первом месте в имени должна стоять буква.
· Вы не можете использовать зарезервированные Visual Basic словосочетания (например, вы не можете дать переменной имя Form или Beep).
Наиболее важно при наименовании переменной – это придать имени определенный смысл, соответствующий предназначению переменной. Вы должны впоследствии (когда программа станет большой и сложной) в состоянии определить по имени переменной, заложенную в неё информацию. Например, в нашем опыте с покупкой бананов, наиболее полно отражающие суть переменных имена могли бы выглядеть так:
Описание Имя переменной
Стоимость каждого банана BananaCost
Количество купленных бананов Bananas
Стоимость всех бананов TotalBananaCost
Где Cost – стоимость, Total
– сумма, Banana
надеюсь переводить не надо.
Типы переменных
Нам нужно знать тип (type) информации хранимой в каждой переменной. Те же самые типы, которые мы использовали для свойств, могут применяться и к переменным: integer (целое), long integer (длинное целое), Boolean (Булевый тип) and string (строковый тип). Имеются также и другие типы – о них можно узнать в интерактивной справке, и не только узнать, но и использовать там, где это необходимо.
Здесь мы рассмотрим еще один тип информации, используемой для переменных: single (десятичное число с плавающей точкой). До сих пор во всех проектах, с которыми мы работали, использовались целые числа. Но мы знаем, что в математике есть и десятичные числа, (кто не знает, рекомендуем почитать учебник по математике). Тип single
– это число, имеющее точку, которая отделяет целую часть числа от его десятичной составляющей. В компьютерном языке есть такой термин floating point number (число с плавающей точкой). ‘Плавающая точка' на самом деле никуда не плавает (floating), а служит только для обозначения десятичной дроби. Примеры чисел типа single:
2.00 -1.2 3.14159
С переменными можно использовать оператор присваивания:
Form1.BacColor=vbRed
Запустив на выполнение проект, вы увидите такое окно сообщения (для VB4):
Method or data member
not found – метод или
объект данных не найден.
и запись BacColor в окне кода будет 'подсвечена'. Если вам необходима справка, нажмите <F1>. Visual Basic сообщает нам, что не может найти такое свойство для данного элемента управления. Теперь вам легко увидеть, в каком месте находится орфографическая ошибка, и исправить её.
Теперь давайте введем исправление в имя свойства, к примеру, напечатав вместо имени свойства Form1, другое, неправильное – For1:
Form1.BackColor 0 vbRed
Такая запись могла бы получиться, если ошибочно вместо оператора присваивания =, ввести цифру 0. Что мы видим? Появилось окно сообщения (так оно выглядит для VB4):
Expected: end of statement – предположительно: необходимо закончить ввод оператора.
Нажмите <F1> для получения справки. Visual Basic сразу реагирует, когда какой-либо оператор введен неправильно. Ваша задача состоит в том, чтобы определить, в каком именно операторе ошибка.
Таким образом, если вы допустили синтаксическую ошибку, то Visual Basic сообщит вам об этом. А интерактивная справка поможет исправить синтаксические ошибки или, как еще говорят, отладить (debugging) программу. Обратите внимание, что синтаксические ошибки обычно возникают при неправильном вводе символов с клавиатуры, поэтому следует неустанно тренировать свое мастерство в овладении техникой печатания.
Ошибки периода исполнения (Run-Time Errors)
После того, как вы успешно установите значения свойств для элементов управления и напишете процедуры обработки событий, устранив все выявленные синтаксические ошибки, вы попробуете запустить ваш проект на выполнение. Если проект запускается, то это прекрасно! Но, часто, бывает так, что выполнение проекта прерывается, и вы получаете сообщение об ошибке – это, и есть ошибка периода исполнения. В этом случае, вам, конечно, придется выяснить, из-за чего произошла остановка и выявить проблему. И снова, интерактивная справка даст вам полную информацию об устранении ошибок периода исполнения. Давайте рассмотрим все это на примере.
Возьмем ту же строку кода для процедуры Form_Load, с которой мы работали при определении синтаксической ошибки и запишем её следующим образом:
Form1.BackColor vbRed
как если бы мы забыли напечатать символ =
при установке значения цвета фона для формы. Обратите внимание, что Visual Basic допускает ввод подобной строки с ошибкой (или, иначе – некорректную запись). Здесь необходимо заметить, что отсутствие символа = является синтаксической ошибкой, но не все синтаксические ошибки отслеживаются в Visual Basic в режиме разработки (design mode). Давайте попробуем запустить проект (сохранять файлы не обязательно).
После того, как вы щелкните по кнопке Start на панели инструментов, должно появиться следующее окно сообщения (для VB4):
Invalid use of prorerty –
Неправильное применение
свойства
и в окне кода запись для имени свойства BackColor будет выделено другим цветом или как еще говорят, ‘подсвечено’. Visual Basic сообщает, что в этом месте программы есть ошибка, которая связана с указанным свойством. Щелкните <F1>, если вам необходима справка. Visual Basic довольно хорошо отслеживает подобные ошибки.
Теперь, давайте, исправим ошибку, добавив символ =
в нашу строку, но введем новое исправление, например, исключив букву ‘k’ из имени свойства BackColor, тогда наше маленькое безобразие будет выглядеть так:
LeftSide = RightSide
Символ = называется assignment operator* (знак операции присваивания).
*Оператор (operator), – еще один термин, похожий на предыдущий, но относится к знаку операции. Подразумевает не столько действия для выполнения операции, сколько обозначение операции в тексте. (Прим.).
Вы, конечно, встречали этот символ, и знаете о нем, как о знаке равенства, используемого при арифметических действиях, но никак не в компьютерном программировании. Ведь так?
Говоря об операторе присваивания, мы говорим, что вместо выражения с левой стороны от оператора присваивания, мы подставляем выражение с правой стороны. Часть выражения слева от оператора присваивания может содержать только один термин, например свойство элемента управления. С правой стороны может находиться любое существующее в языке BASIC, выражение. Эти выражения могут быть в виде математических формул, или содержать нечто, что требует вычисления. Если требуются вычисления, то все составляющие части вычисляемого выражения располагаются до оператора присваивания. Мы говорим сейчас об этом в общих словах, преследуя определенную цель. Смысл оператора присваивания будет ясен потом, когда мы немного больше изучим BASIC, поэтому не будем забегать вперед.
Типы свойств (Property Types)
Вернемся к свойствам, характеризующим элемент управления: размер, цвет, видимость или невидимость. Каждое свойство (property) имеет свой особый тип (type), зависящий от вида представляемой информации. Когда мы работаем в окне свойств, устанавливая параметры в режиме разработки, Visual Basic автоматически предлагает соответствующий тип данных. Если мы хотим изменить свойство в процедуре обработки событий, используя операцию присваивания в BASIC, то мы должны знать тип свойства, так как мы можем изменить исходное свойство только на свойство того же типа. Вспомните, как мы использовали ‘запись через точку’ (‘dot notation’) для изменения свойств в режиме выполнения (run mode):
Название свойства Значение свойства
Name frmFormFun
Caption Form Fun
Command1 Командная кнопка:
Название свойства Значение свойства
Name cmdShrink
Caption Shrink Form
Command2 Командная кнопка:
Название свойства Значение свойства
Name cmdGrow
Caption Grow Form
Command3 Командная кнопка:
Название свойства Значение свойства
Name cmdHide
Caption Hide Buttons
Command4 Командная кнопка:
Название свойства Значение свойства
Name cmdRed
Caption Red Form
Command5 Командная кнопка:
Название свойства Значение свойства
Name cmdBlue
Caption Blue Form
Command6 Командная кнопка:
яяяяяяяяяяя „«п § ЇЁбЁ Є ¦¤®© Ё§ Їа®жҐ¤га б®ЎлвЁ©, Ґ®Ўе®¤Ё¬® ў®бЇ®«м§®ў вмбп ®Є®¬ Є®¤ . ‚лЎҐаЁвҐ ў Ґ¬ Ґ®Ўе®¤Ё¬л© н«Ґ¬Ґв гЇа ў«ҐЁп Ё§ бЇЁбЄ ®ЎкҐЄв®ў Ё б®ЎлвЁҐ Ё§ бЇЁбЄ Їа®жҐ¤га. ‡ ⥬ 饫ЄЁвҐ ў Їа®бва б⢥ ¬Ґ¦¤г § Ј« ў®© бва®Є®© Ё Ё¦Ґ© бва®Є®© ®б®ў®Ј® ®Є Ё ўў®¤ЁвҐ Ґ®Ўе®¤Ё¬лҐ бва®ЄЁ Є®¤ . ќв® Ґ ва㤮. Ќ®, ®Ўп§ ⥫м®, ба ўЁў ©вҐ в®, зв® ўл ўўҐ«Ё б Є« ўЁ вгал, б ⥬, зв® ЇЁб ® ў иЁе ४®¬Ґ¤ жЁпе. ‚л ¤®«¦л Ўлвм ®зҐм в®зл!
яяяяяяяяяяя ‘ з « § ЇЁиҐ¬ Їа®жҐ¤гаг ®Ўа Ў®вЄЁ б®ЎлвЁ© cmdShrink_Click. ‚ нв®© Їа®жҐ¤гॠ¬л 㬥миЁ¬ ўлб®вг д®а¬л 100 вўЁЇ®ў Ё 㬥миЁ¬ иЁаЁг д®а¬л 100 вўЁЇ®ў:
Private Sub cmdShrink_Click()
'“¬Ґм襨Ґ (Shrink) д®а¬л
'“¬Ґми Ґ¬ ўлб®вг д®а¬л 100 вўЁЇ®ў
frmFormFun.Height = frmFormFun.Height - 100
'“¬Ґми Ґ¬ иЁаЁг д®а¬л 100 вўЁЇ®ў
frmFormFun.Width = frmFormFun.Width - 100
End Sub
ЏаҐ¦¤Ґ 祬 ЇҐаҐ©вЁ Є ¤агЈЁ¬ Їа®жҐ¤га ¬ ®Ўа Ў®вЄЁ б®ЎлвЁ©, ¤ ў ©вҐ ®Ўбг¤Ё¬ в®, зв® ¬л § ЇЁб «Ё, в.Є. §¤Ґбм Ґбвм ҐбЄ®«мЄ® ў ¦ле ¬®¬Ґв®ў. ќв Їа®жҐ¤га ®Ўа Ў®вЄЁ б®ЎлвЁ© ўлЇ®«пҐвбп, Ґб«Ё ўл 饫Є ҐвҐ Ї® Є®ЇЄҐ б ¤ЇЁбмо Shrink Form. Ќ ¤ҐҐ¬бп, ўл «ҐЈЄ® а бЇ®§ «Ё Ё бва®ЄЁ б Є®¬¬Ґв аЁп¬Ё. ‚ вҐе бва®Є е, Є®в®алҐ пў«повбп Ґ-Є®¬¬Ґв аЁп¬Ё, § ЇЁб л бва®ЄЁ Є®¤ , ўлЇ®«пойЁҐ ®ЇҐа жЁЁ Ї® Ё§¬ҐҐЁо ўлб®вл Ё иЁаЁл д®а¬л. Џ®б¬®ваЁ¬ ®ЇҐа жЁо Ё§¬ҐҐЁп ўлб®вл:
frmFormFun.Height = frmFormFun.Height - 100
‚бЇ®¬Ё¬, Є Є а Ў®в Ґв ®ЇҐа в®а ЇаЁбў Ёў Ёп (=). ‘ Їа ў®© бв®а®л ®в ®ЇҐа в®а ЇаЁбў Ёў Ёп 室Ёвбп § 票Ґ ўлзЁб«пҐ¬®Ј® ўла ¦ҐЁп. ’ ЄЁ¬ ®Ўа §®¬, жЁда 100 пў«пҐвбп ўлзЁв Ґ¬л¬, (ўл § ¬ҐвЁ«Ё, в ¬ § Є ¬Ёгб?) зЁб«®¬ Ё§ ⥪г饩 ўлб®вл д®а¬л. €§ в®Ј® § 票п ⥪г饩 ўлб®вл д®а¬л б «Ґў®© бв®а®л ®в ®ЇҐа в®а ЇаЁбў Ёў Ёп, Є®в®а®Ґ ®Ў®§ 祮 Є Є frmFormFun.Height. ‚ १г«мв ⥠нв®Ј®, бў®©бвў® Height (‚лб®в ) д®а¬л Ё§¬ҐЁвбп бў®©бвў® Height ¬Ёгб 100 вўЁЇ®ў. ‚ १г«мв ⥠ўлЇ®«ҐЁп нв®© бва®ЄЁ Є®¤ , бў®©бвў® Height Ўг¤Ґв 㬥м襮 100 Ё д®а¬ нЄа Ґ ᮦ¬Ґвбп.я
яяяяяяяяяяя ќв® ўла ¦ҐЁҐ Ї®Є §лў Ґв, Ї®зҐ¬г ¬л §лў Ґ¬ ®ЇҐа в®а ЇаЁбў Ёў Ёп (=) Ё¬Ґ® в Є, Ґ Їа®бв® § Є®¬ а ўҐбвў . ‚Ґ¤м «оЎ®© ¬®¦Ґв § ¬ҐвЁвм, зв® «Ґў п бв®а® нв®Ј® ўла ¦ҐЁп ЁЄ Є Ґ ¬®¦Ґв Ўлвм а ў (ў ¬ ⥬ вЁзҐбЄ®¬ б¬лб«Ґ нв®Ј® б«®ў ) Їа ў®©. Ќ®, Ґ§ ўЁбЁ¬® ®вв®Ј®, зв® ®Ў®§ з Ґв frmFormFun.Height, ўла ¦ҐЁҐ бЇа ў ўбҐЈ¤ Ўг¤Ґв ¬ҐмиҐ ўла ¦ҐЁп б«Ґў 100. „ ¦Ґ ЇаЁв®¬, зв® нв® Ґ ¬ ⥬ вЁзҐбЄ®Ґ а ўҐбвў®, ўл з бв® ¬®¦ҐвҐ гб«ли вм ®в Їа®Ја ¬¬Ёбв , зв® "frmFormFun.Height а ў® frmFormFun.Height ¬Ёгб 100", е®вп аҐзм Ё¤Ґв ® ЇаЁбў®ҐЁЁ, Ґ ® а ўҐб⢥. ЌҐ®Ўе®¤Ё¬® Ї®¬Ёвм ®Ў нв®© ®б®ЎҐ®бвЁ ®ЇҐа в®а ЇаЁбў Ёў Ёп ЇаЁ а §а Ў®вЄҐ Їа®Ја ¬¬.
яяяяяяяяяяя Ђ ᥩз б, а бᬮваЁ¬ б«Ґ¤гойго Їа®жҐ¤гаг ®Ўа Ў®вЄЁ б®ЎлвЁ©. Џа®жҐ¤га cmdGrow_Click 㢥«ЁзЁў Ґв ўлб®вг д®а¬л 100 вўЁЇ®ў Ё 㢥«ЁзЁў Ґв иЁаЁг д®а¬л в Є¦Ґ 100 вўЁЇ®ў:
Private Sub cmdGrow_Click()
'“ўҐ«ЁзҐЁҐ (Grow) д®а¬л
'“ўҐ«ЁзЁвм ўлб®вг д®а¬л 100 вўЁЇ®ў
frmFormFun.Height = frmFormFun.Height + 100
'“ўҐ«ЁзЁвм иЁаЁг д®а¬л 100 вўЁЇ®ў
frmFormFun.Width = frmFormFun.Width + 100
End Sub
Џа®жҐ¤га ®Ўа Ў®вЄЁ б®ЎлвЁ© cmdRed_Click Ё§¬ҐпҐв 梥в д® г д®а¬л Єа бл© жўҐв:
Private Sub cmdRed_Click()
'‘¤Ґ« вм д®а¬г Єа б®© (red)
frmFormFun.BackColor = vbRed
End Sub
Џа®жҐ¤га ®Ўа Ў®вЄЁ б®ЎлвЁ© cmdBlue_Click Ё§¬ҐпҐв 梥в д®а¬л Ј®«гЎ®© 梥в:
Private Sub cmdBlue_Click()
'‘¤Ґ« вм д®а¬г Ј®«гЎ®© (blue)
frmFormFun.BackColor = vbBlue
End Sub
Џа®жҐ¤га ®Ўа Ў®вЄЁ б®ЎлвЁ© cmdHide_Click ЇаЁ¬ҐпҐвбп ¤«п в®Ј®, зв®Ўл ᤥ« вм ҐўЁ¤Ё¬л¬Ё (ЇаЁбў®Ёвм бў®©бвўг Visible § 票Ґ False) ўбҐ Є®¬ ¤лҐ Є®ЇЄЁ, § ЁбЄ«о票Ґ¬ cmdShow. ќв® ¤Ґ« Ґвбп в Є:
Private Sub cmdHide_Click()
'‘Єалвм (hide)
ўбҐ Є®ЇЄЁ, Єа®¬Ґ cmdShow
cmdGrow.Visible = False
cmdShrink.Visible = False
cmdHide.Visible = False
cmdRed.Visible = False
cmdBlue.Visible = False
'Џ®Є § вм (show)
Є®ЇЄг cmdShow
cmdShow.Visible = True
End Sub
Ђ ¤«п Їа®жҐ¤гал ®Ўа Ў®вЄЁ б®ЎлвЁ© cmdShow_Click, § ЇЁиҐ¬ б«Ґ¤го饥 ¤Ґ©бвўЁҐ, ®Ўа ⮥ ЇаҐ¤л¤г饬г:
Private Sub cmdShow_Click()
'Џ®Є § вм (Show) ўбҐ Є®ЇЄЁ, Єа®¬Ґ cmdShow
cmdGrow.Visible = True
cmdShrink.Visible = True
cmdHide.Visible = True
cmdRed.Visible = True
cmdBlue.Visible = True
'‘Єалвм (Hide) Є®ЇЄг cmdShow
cmdShow.Visible = False
End Sub
яяяяяяяяяяя €, Є®Ґж, Їа®жҐ¤га ®Ўа Ў®вЄЁ б®ЎлвЁ© Form_Click, Є®в®а пя ЁбЇ®«м§гҐвбп ¤«п 㢥«ЁзҐЁп 'grow' д®а¬л, Ї®н⮬㠨¬ҐҐв в Є®© ¦Ґ Є®¤, Є Є Ё Є®ЇЄ cmdGrow_Click:
Private Sub Form_Click()
'“ўҐ«ЁзҐЁҐ д®а¬л
'“ўҐ«ЁзЁвм ўлб®вг д®а¬л 100 вўЁЇ®ў
frmFormFun.Height = frmFormFun.Height + 100
' “ўҐ«ЁзЁвм иЁаЁг д®а¬л 100 вўЁЇ®ў
frmFormFun.Width = frmFormFun.Width + 100
End Sub
(ЌҐ®Ўе®¤Ё¬® ўЁ¬ вҐ«м® ®вҐбвЁбм Є ўлЎ®аг Їа®жҐ¤га ў ®ЄҐ Є®¤ . Љ®Ј¤ ўл ўлЎЁа ҐвҐ н«Ґ¬Ґв гЇа ў«ҐЁп Form, в® ў бЇЁбЄҐ Їа®жҐ¤га ў ¬ Ўг¤Ґв ЇаҐ¤«®¦Ґ Їа®жҐ¤га Load. Ђ ў ¬ б«Ґ¤гҐв ўлЎа вм Click Ё§ бЇЁбЄ Їа®жҐ¤га). Џа®б¬®ваЁвҐ ⥬г, Ј¤Ґ а ҐҐ ¬л ®Ўб㦤 «Ё бЇ®б®Ўл б®еа ҐЁп ®ў®Ј® Їа®ҐЄв . ‘®еа ЁвҐ ў и Їа®ҐЄв.
яяяяяяяяяяя ‘Ґ©з б г ў б 㦥 ¤®бв в®з® ®Їлв , зв®Ўл «ҐЈЄ® гўЁ¤Ґвм б®ўҐаи Ґ¬лҐ б®ЎлвЁп ¤«п в®© Ё«Ё Ё®© Їа®жҐ¤гал. ЋЎа вЁвҐ ®б®Ў®Ґ ўЁ¬ ЁҐ в®, Є Є ¤«п бў®©бвў Visible Є®Ї®Є cmdHide Ё cmdShow ЇаЁ¬ҐпҐвбп б®ЎлвЁҐ Click. ‡ ¬Ґвм⥠⠪¦Ґ, зв® ¬®ЈЁҐ Їа®жҐ¤гал ®Ўа Ў®вЄЁ б®ЎлвЁ© Ё¬Ґов ®зҐм Їа®бв®© Ё Ї®е®¦Ё© Є®¤. Ќ ЇаЁ¬Ґа, б®ЎлвЁҐ Form_Click Ї®е®¦Ґ б®ЎлвЁҐ cmdGrow_Click. Џ®¤®ЎлҐ § ЇЁбЁ ¬®¦® ©вЁ ў а §ле з бвпе Їа®ҐЄв Visual Basic. …б«Ё ўл Ї®¬ЁвҐ, а ҐҐ ¬л ®Ўб㦤 «Ё бЇ®б®Ўл а §¬ҐйҐЁп ®¤®вЁЇле н«Ґ¬Ґв®ў гЇа ў«ҐЁп д®а¬Ґ. ’ Є ў®в, ЇаЁ § ЇЁбЁ Є®¤ , ¬л, ®Ў®а®в, ЇаЁўҐвбвўгҐ¬ ЁбЇ®«м§®ў ЁҐ бЇ®б®Ў®ў । ЄвЁа®ў Ёп, в ЄЁе Є Є Copy Ё Paste, ¤«п ¬®Ј®Єа в®© ўбв ўЄЁ Ї®ўв®апойЁебп бва®Є. —в®Ўл бЄ®ЇЁа®ў вм зв®-«ЁЎ®, Ґ®Ўе®¤Ё¬® ўл¤Ґ«Ёвм г¦л© ⥪бв, ЁбЇ®«м§гп ¬лим - в Є, ¦Ґ, Є Є, ўл нв® ¤Ґ« «Ё ЇаЁ а Ў®вҐ б ⥪бв®ўл¬ аҐ¤ Єв®а®¬. ‡ ⥬ ўлЎа вм Edit (Џа ўЄ ) ў Ј« ў®¬ ¬Ґо Visual Basic, § ⥬ Copy (Љ®ЇЁа®ў вм). Џ®б«Ґ нв®Ј® Ї®¬ҐбвЁвҐ Єгаб®а ў в® ¬Ґбв®, Єг¤ Ґ®Ўе®¤Ё¬® ўбв ўЁвм ⥪бв. ’ҐЄбв ¬®¦® ўбв ў«пвм Ё ў ¤агЈЁҐ Їа®жҐ¤гал. ‚лЎҐаЁвҐ б®ў Edit, § ⥬ Paste (‚бв ўЁвм). “а ! ‘Є®ЇЁа®ў л© вҐЄбв Ї®пўЁ«бп ў ®ў®¬ ¬ҐбвҐ. ‚®§¬®¦®, ўбв ў«Ґл© ⥪б⠡㤥в 㦤 вмбп ў ҐЎ®«м讬 । ЄвЁа®ў ЁЁ, ®, ўбҐ а ў®, ўл бнЄ®®¬ЁвҐ ¬®Ј® ўаҐ¬ҐЁ ЇаЁ § ЇЁбЁ Є®¤ . € нв® ў ¬ Ї®вॡгҐвбп 㬥вм ¤Ґ« вм ўЇ®б«Ґ¤бвўЁЁ ¤«п § ЇЁбЁ ¤ ¦Ґ ҐЎ®«миЁе Єгб®зЄ®ў Їа®Ја ¬¬, в ЄЁе, Є ЇаЁ¬Ґаг, Є Є нв®в. ’ Є¦Ґ б®ўҐв㥬 ЁбЇ®«м§®ў вм Є®¬ ¤л । ЄвЁа®ў Ёп ⥪бв , в ЄЁҐ Є Є Find (Ќ ©вЁ) Ё Replace (‡ ¬ҐЁвм). €бЇ®«м§г©вҐ Ёе, Є®Ј¤ нв® ¬®¦® Ё 㦮.
яяяяяяяяяяя ‚ VB5 Ё VB6 Ґбвм Ё ¤агЈЁҐ Їг⨠㬥миҐЁп Є®«ЁзҐбвў ўў®¤Ё¬®Ј® б Є« ўЁ вгал ⥪бв , Ё, ᮮ⢥вб⢥®, 㬥м襨п зЁб« ў®§¬®¦ле ®иЁЎ®Є. …б«Ё ўл 饫ЄЁвҐ Tools, § ⥬ Options ў Ј« ў®¬ ¬Ґо Visual Basic, § ⥬ ўлЎҐаЁвҐ § Є« ¤Єг Editor, в® гўЁ¤ЁвҐ ў аЁ в ўлЎ®а Ї®¤ §ў ЁҐ¬ Auto List
Members (Ђўв®¬ вЁзҐбЄ®Ґ ®в®Ўа ¦ҐЁҐ бЇЁбЄ н«Ґ¬Ґв®ў). …б«Ё ў Єў ¤а вЁЄҐ Їа®вЁў нв®© ¤ЇЁбЁ бв®Ёв Ј «®зЄ (ў аЁ в ўлЎа ), в® ў ®ЄҐ Є®¤ ЇаЁ § ЇЁбЁ бва®зҐЄ Є®¤ , ў ҐЄ®в®але ¬Ґбв е Ўг¤гв Ї®пў«пвмбп ҐЎ®«миЁҐ ¤ЇЁбЁ б Ї®¤бЄ §Є ¬Ё ® вҐе ®ЇҐа в®а е, ¤ Є®в®ал¬Ё ўл а Ў®в ҐвҐ. ‡ ⥬ ўл ¬®¦ҐвҐ ўлЎа вм Ё§ нвЁе Ї®¤бЄ §®Є в®, зв® ў ¬ Ґ®Ўе®¤Ё¬® Ё ўўҐб⨠ᮮ⢥вбвўгойго Є®¬ ¤г Ё«Ё ®ЇҐа в®а 楫ЁЄ®¬, Ґ Ї® ЎгЄў ¬ б Є« ўЁ вгал. …б«Ё г ў б гбв ®ў«Ґ VB5 Ё«Ё VB6, ЄвЁўЁ§ жЁп ў аЁ в ўлЎ®а Auto List Members ў «оЎ®¬ б«гз Ґ Ўг¤Ґв Ґ «ЁиЁ¬. „«п Ї®«гзҐЁп ¤®Ї®«ЁвҐ«м®© Ёд®а¬ жЁЁ ЁбЇ®«м§г©вҐ ЁвҐа ЄвЁўго бЇа ўЄг.
‡ ЇгбЄ Їа®ҐЄв ўлЇ®«ҐЁҐ
яяяяяяяяяяя Џ®Ґе «Ё! ‡ ЇгбвЁвҐ ўлЇ®«ҐЁҐ ў и Їа®ҐЄв, - 饫ЄЁвҐ Є®ЇЄг Start я Ї Ґ«Ё Ёбва㬥⮢ Visual Basic. …б«Ё Їа®ҐЄв Ґ § ЇгбЄ Ґвбп, в® Ґ¤Ёб⢥®Ґ, зв® ¬®¦® ЇаҐ¤«®¦Ёвм, нв® - Їа®ўҐаЁвм Їа ўЁ«м®бвм ўўҐ¤ҐЁп бва®Є Є®¤ , Ё Ї®ўв®аЁвм § ЇгбЄ б®ў . ‚ б«Ґ¤го饬 Є« бᥠ¬л Ўг¤Ґ¬ Ё§гз вм вҐе®«®ЈЁо ЁбЇа ў«ҐЁп ®иЁЎ®Є ў Їа®Ја ¬¬ е - ®в« ¤Єг ('debugging').
яяяяяяяяяяя Џ®б«Ґ § ЇгбЄ Їа®ҐЄв , Ї®Їа®Ўг©вҐ ў а Ў®вҐ ўбҐ Є®¬ ¤лҐ Є®ЇЄЁ. “ўҐ«ЁзмвҐ а §¬Ґа д®а¬л, 㬥миЁвҐ а §¬Ґа д®а¬л, Ё§¬ҐЁвҐ 梥в д®а¬л, бЄа®©вҐ Є®ЇЄЁ Ё ўл§®ўЁвҐ Ёе Ї®пў«ҐЁҐ б®ў . Џа®ўҐам⥠Є ¦¤го Є®ЇЄг Ё гЎҐ¤ЁвҐбм, зв® ўбҐ а Ў®в Ґв, Є Є § ¤г¬ ®. Џа®ўҐамвҐ, з⮠饫箪 Ї® д®а¬Ґ в Є¦Ґ ¤ Ґв ¦Ґ« Ґ¬л© १г«мв в. ќвЁ Їа®ўҐаЄЁ ¬®Јгв Ї®Є § вмбп ¤®ў®«м® Їа®бвл¬Ё Ё ®зҐўЁ¤л¬Ё, ® ў Ў®«миЁе Їа®ҐЄв е ҐЄ®в®алҐ б®ЎлвЁп, ¤«п Є®в®але ўл ЇЁб «Ё Є®¤, ¬®Јгв Ґ Ўлвм б®ўҐаиҐл ¤®ў®«м® ¤«ЁвҐ«м®Ґ ўаҐ¬п Ё ўл Ґ Ўг¤ҐвҐ § вм, а Ў®в Ґв «Ё ¤ п б®ЎлвЁ© п Їа®жҐ¤га ¤®«¦л¬ ®Ўа §®¬. € ў н⮬ б®бв®Ёв ¤агЈ®© нв Ї ҐЇ®б।б⢥® ᮧ¤ Ёп Їа®ҐЄв - вй ⥫쮥 ҐЈ® вҐбвЁа®ў ЁҐ. ЌҐ®Ўе®¤Ё¬® Ўлвм б®ўҐа襮 㢥аҐл¬, зв® Є ¦¤®Ґ б®ЎлвЁҐ а Ў®в Ґв, Є Є § Ї« Ёа®ў ®. …б«Ё ўл зв®-«ЁЎ® Ё§¬ҐЁ«Ё ў Їа®ҐЄвҐ, в® Ї®б«Ґ нв®Ј® ҐЈ® Ґ®Ўе®¤Ё¬® б®еа Ёвм.
„«п вҐе, Єв® Ґ ®бв ў«Ёў Ґвбп ¤®бвЁЈг⮬
яяяяяяяяяяя „«п Є ¦¤®Ј® Їа®ҐЄв ў н⮬ Єгаᥠ¬л Ўг¤Ґ¬ ЇаҐ¤« Ј вм ў ¬ ўҐбвЁ ў ҐЈ® Є ЄЁҐ-«ЁЎ® ¤®Ї®«ЁвҐ«млҐ Ё§¬ҐҐЁп б ¬®бв®п⥫м®. Ќ ЇаЁ¬Ґа, Ё§¬ҐЁвҐ, ¤Ґ©бвўЁҐ Є®Ї®Є Shrink Form Ё Grow Form в Є, зв®Ўл д®а¬ ЇҐаҐ¬Ґй « бм ў а §лҐ з бвЁ нЄа (ЁбЇ®«м§г©вҐ бў®©бвў Left Ё Top). „®Ў ўм⥠ҐйҐ ҐбЄ®«мЄ® 梥⮢ ¤«п д® д®а¬л, ЁбЇ®«м§гп а бᬮваҐлҐ бЁ¬ў®«млҐ Є®бв вл. ‚ўҐ¤ЁвҐ Ё§¬ҐҐЁп ¤«п Є®ЇЄЁ Hide Buttons в ЄЁ¬ ®Ўа §®¬, зв®Ўл дгЄжЁЁ Є®¬ ¤®© Є®ЇЄЁ ўлЇ®«п«Ёбм, Є®Ј¤ ¤«п бў®©бвў Enabled гбв ®ў«Ґ® § 票Ґ False, ЎҐ§ ЁбЇ®«м§®ў Ёп бў®©бвў Visible. ’ ЄЁҐ ¦Ґ Ё§¬ҐҐЁп Ї®Їа®Ўг©вҐ Їа®¤Ґ« вм б Є®ЇЄ®© Show Buttons.
ђҐ§о¬Ґ
яяяяяяяяяяя Џ®§¤а ў«пҐ¬! ‚л § ўҐаиЁ«Ё а Ў®вг ¤ ®в®бЁвҐ«м® б«®¦л¬ (ў ⮬ б¬лб«Ґ, зв® §¤Ґбм Ё¬Ґовбп Ў®«ҐҐ 祬 ®¤Ё н«Ґ¬Ґв гЇа ў«ҐЁп) Їа®ҐЄв®¬ Visual Basic. ‚л Ї®«гзЁ«Ё ҐЄ®в®алҐ § Ёп ® а §а Ў®вЄҐ Їа®ҐЄв , б®еа ҐЁЁ Їа®ҐЄв , г§ «Ё Є®Ґ-зв® ® д®а¬Ґ Ё Є®¬ ¤®© Є®ЇЄҐ Є Є н«Ґ¬Ґв е гЇа ў«ҐЁп Ё, ў®®ЎйҐ, Їа®и«Ё Ї®«л© жЁЄ« Ї®бв஥Ёп Їа®ҐЄв ®в з « ¤® Є®ж . ’ҐЇҐам ўл Ўг¤ҐвҐ згўбвў®ў вм ᥡп 㢥८ ваҐе нв Ї е Ї®бв஥Ёп Їа®ҐЄв : а §¬ҐйҐЁҐ н«Ґ¬Ґв®ў гЇа ў«ҐЁп, гбв ®ўЄ бў®©бвў, Ё § ЇЁбм Їа®жҐ¤га ®Ўа Ў®вЄЁ б®ЎлвЁ©. ‚ б«Ґ¤гойЁе Є« бб е ўл Ўг¤ҐвҐ бва®Ёвм ¤агЈЁҐ Їа®ҐЄвл, в Є¦Ґ ЁбЇ®«м§гп нвЁ ваЁ нв Ї , ® ЇаЁ¬Ґпп ®ўлҐ н«Ґ¬Ґвл гЇа ў«ҐЁп, ®ўлҐ Є®¬ ¤л п§лЄ BASIC.
в Visual Basic. Когда появится
Откройте новый проект в Visual Basic. Когда появится форма, установите её положение на экране и размеры так, как вам удобно. Проверьте свойства Left, Top, Width, и Height. Установите свойство BackColor. Установите свойство Caption. Поместите элемент управления Command Button (Командная кнопка) на форме. Задайте её размеры и положение.
Рассмотрим некоторые свойства командной кнопки. Выберите командную кнопку в списке элементов управления окна свойств. Обратите внимание на её геометрическую форму. Командная кнопка имеет форму прямоугольника. Свойство Width определяет ширину кнопки в твипах, а свойство Height – высоту, подобно свойствам для формы. А вот назначение свойств Left и Top для кнопки несколько отличается от формы. Для элементов управления, которые не являются формой, свойство Left (Слева) определяет расстояние от левого края элемента управления до левого края формы, но не до левого края экрана. Положение элементов управления на форме также определяется в твипах. Подобным образом, свойство Top (Сверху) определяет расстояние (в твипах) от верхнего края элемента управления до верхнего края формы. Для одной командной кнопки, это выглядит так:
Left
Другое важное свойство командной кнопки, это свойство Caption (Заголовок). Текст, написанный на кнопке, и есть его заголовок. Обычно, надпись на кнопке определяет её назначение. Измените свойство Caption на командной кнопке. В списке есть свойство BackColor для командной кнопки, но оно не может быть изменено. Разместите на форме несколько командных кнопок. Расставьте их и подберите размеры. Измените свойство Caption.
Как мы уже знаем, чтобы перейти в окне свойств от одного элемента управления к другому, необходимо выбрать соответствующий элемент управления из списка в верхней части окна. Другим, более быстрым способом доступа к свойствам нужного элемента управления, является способ, при котором вы просто щелкаете по выбранному элементу управления на форме, делая его активным (active). Щелкните по одной из командных кнопок. Обратите внимание, как происходит выбор элемента управления в окне свойств. Щелкните по другой командной кнопке. Заметили изменения? Щелкните по свободному месту на форме. Выбранный элемент управления в окне свойств становится формой. Этот простой способ переключения между элементами управления будет вам полезен при разработке проектов.
Если Visual Basic не запущен на компьютере, то запустите его и откройте новый проект.
· Поместите одну командную кнопку на форму.
· Для свойства Name формы установите значение frmFirstCode.
· Для свойства Caption установите значение My First Code (Мой первый код).
· Для свойства Name командной кнопки установите значение cmdBeep.
· Для свойства Caption командной кнопки установите значение Beep! (Сигнал!)
При установке свойств не забывайте переключаться с формы на командную кнопку! После выполненных действий форма должна выглядеть примерно так:
Теперь мы хотим записать всего одну процедуру обработки событий – процедуру реакции командной кнопки на событие Click (Щелчок мышью). В результате щелчка по кнопке, мы хотим, чтобы прозвучал звуковой сигнал.
Выведите на экран окно кода (например, нажмите <F7>):
VB4:
VB5, VB6:
Появившееся у вас окно кода может немного отличаться. В среде Visual Basic существует вариант настройки вывода данных на экран, называемый полно-модульный (full-module), когда все процедуры обработки событий находятся на экране одновременно, а не отдельно, как в нашем случае. Если ваша среда разработки находится в полно-модульном режиме, то вам необходимо изменить этот режим, т.к. сейчас мы не будем его проходить, а вам будет проще ориентироваться в окнах. Чтобы выйти из полно-модульного режима, щелкните в главном меню Tools, затем Options. В появившемся окне перейдите на закладку Editor (Редактор) и убедитесь, что нет галочки в окошке напротив варианта настройки Full-Module View. Если она там есть, то щелкните в окошке, чтобы она исчезла.
Если объект cmdBeep не отображен в окошке списка объектов Object, то щелкните по стрелке раскрывающегося списка и выберите объект cmdBeep (командная кнопка). Окно кода будет выглядеть так:
Чтобы познакомиться с этими свойствами, запустите Visual Basic, откройте новый проект и, соответственно, форму. Установите значения свойств Top, Left, Height и Width в окне свойств и посмотрите, как изменяется положение и размеры формы. А теперь, наоборот, измените, размеры и положение формы с помощью мыши на экране, и посмотрите, как изменились значения свойств в окне свойств. Установите свойство Caption. Выберите новый цвет фона, используя технологию, рассмотренную в предыдущем классе.
Чтобы увидеть результат действия свойства BorderStyle установите значения 1-Fixed Single (Единственное фиксированное), или 2-Sizable (Изменяемый размер); в этом курсе мы будем использовать только эти два значения, и запустите проект. Да, да, вы можете запустить на выполнение проект с одним элементом управления – формой! Попробуйте изменить размеры формы при разных значениях BorderStyle. Заметьте разницу. Остановите выполнение проекта.
События
Форма, прежде всего, является как бы ‘контейнером’ для других элементов управления, но она не поддерживает события. То есть, она может реагировать на некоторые действия пользователя. В этом курсе мы рассмотрим только два события для формы:
Событие Описание
Click Событие выполняется, когда пользователь щелкает (click) по форме с помощью мыши.
Load Событие выполняется, когда форма в самом начале загружается (load) в память компьютера. Это подходящий момент для установки начальных значений для разных свойств и других параметров проекта.
Короткое замечание по поводу присваивания имени форме. Помните, в предыдущем классе мы говорили, что имена элементов управления используются в процедурах обработки событий. Для форм, это не так. Все процедуры обработки событий для формы имеют формат:
Form_EventName
То есть, независимо от того, какое свойство Name вы устанавливаете для формы, процедуру обработки событий можно отнести только к записи Form. Итак, когда вы посмотрите на процедуры обработки событий, перечисленные для формы в окне кода, прокрутив список объектов (Object List), вы найдете только форму (Form). Попробуйте в этом примере изменить свойство Name. Например, назначим для формы имя frmFirstCode, тогда в окне кода мы увидим:
Запустите Visual Basic и откройте новый проект. Поместите командную кнопку на форму. Переместите кнопку в разные места формы и следите за изменением свойств Top (Сверху) и Left (Слева). Измените размер кнопки, и следите за изменением свойств Width (Ширина) и Height (Высота). Установите свойство Caption (Заголовок).
Для многих элементов управления, включая командную кнопку, существует свойство Font (Шрифт), давайте уделим изучению этого свойства немного времени. Свойство Font устанавливается для Caption (Заголовка) командной кнопки. Когда вы щелкаете по строке Font в окне свойств, то в правой колонке, напротив этой строки, вы увидите кнопку с тремя точками, называемую ellipsis (эллипс, замещающий знак)*:
* эллипс, эллипсис – это овал в математике, контур предмета, очертание; пропуск речи какого-либо легко подразумеваемого слова в лингвистике; символ логической блок-схемы, отображающей условное событие в компьютерной терминологии (Прим.)
Щелкните по этой кнопке, и появится Font Window (Окно шрифтов):
В этом окне вы можете выбрать три основных параметра: Font (Шрифт), Font Style (Вид шрифта), и Size (Размер). Вы можете также выбрать подчеркнутый (underline) шрифт. В этом окне находится список всех шрифтов, установленных на вашем компьютере. Для установки свойства Font, выберите в этом окне необходимые параметры и щелкните по кнопке OK. Теперь попробуйте изменить шрифт, вид шрифта, размер шрифта для заголовка вашей командной кнопки.
Еще два свойства для командной кнопки – это Enabled (Разрешать) и Visible (Видимость). Каждое из этих свойств может иметь значение, либо True (Истинно), что соответствует On (включено), либо False (Ложь), что соответствует Off (отключено). Многие другие элементы управления имеют такие же значения этих свойств. Зачем же они нам нужны?
Если для элемента управления свойство Enabled установлено в положение False, то пользователь не имеет доступа к этому элементу управления. Давайте разберемся в проекте с секундомером, как работают кнопки Start и Stop:
VariableName = NewValue
Только переменная типа single может находиться слева от оператора присваивания (=), тогда как любые другие выражения на BASIC, использующие числовые переменные, могут находиться только справа от оператора. Повторяем, что по этому правилу, на первом месте стоит числовое выражение NewValue, которому затем присваивается имя VariableName. В этом случае важно установить взаимосвязь, согласно которой существует некоторое значение NewValue и оно имеет такой же тип (type) как и VariableName. То есть мы должны присвоить значению соответствующий тип переменной. Это тот же самый случай, который мы рассматривали при работе со значениями свойств.
Объявление (Declaring) переменных
После того как мы выбрали имя и тип для переменной, мы должны поместить информацию в наш Visual Basic проект. То есть нам нужно объявить (declare)
наши переменные. (Нам не нужно объявлять свойства элементов управления, так как Visual Basic уже знает о них, они в нем заложены.) Оператор, с помощью которого объявляется переменная с именем VariableName, типа Type, записывается так:
Введение в Visual Basic
Visual Basic для детей
1. Введение в Visual Basic
История о Билле и Поле.
В далеком 1970 году Билл и Пол были друзьями, и они учились в школе на берегу озера в городе Сиэттле. Билл и Пол любили возиться с компьютерами, они написали много компьютерных игр, и самые известные из них – это Tic-Tac-Toe (крестики – нолики) и moon landing (лунная поверхность). Эти игры были написаны на компьютерном языке, называемом BASIC
[по начальным буквам: Начальная (Beginner’s) Универсальная (All-Purpose) Символьная (Symbolic) Система Команд (Instruction Code)]. Когда в середине 1970-х был разработан первый персональный компьютер, Билл и Пол уже перешли из школы в колледж. К тому времени они имели достаточно знаний, чтобы успешно применять язык BASIC в работе с новыми компьютерами. И дело пошло. Они стали продавать их версию языка BASIC всем желающим (по цене $350 за программу, записанную на магнитофонной кассете). На вырученные таким образом деньги они создали компанию. Вы, возможно, слышали её название – Microsoft! Соответственно, Билл – это Билл Гейтс, который и сейчас управляет многомиллиардной империей Microsoft. Пол – это Пол Аллен, который сейчас хотя и не работает в Microsoft, но является владельцем акций крупных компьютерных фирм, содержит профессиональные спортивные команды, вкладывает капитал в недвижимость.
Да, первые продукты компании Microsoft были написаны на компьютерном языке BASIC. С того времени компания Microsoft выпустила другие версии языка BASIC. Они называются GW-BASIC, QuickBasic и QBasic, а последние новейшие версии называются Visual Basic.
Visual Basic – это один из наиболее простых для изучения языков программирования. Но, несмотря на это, с его помощью можно создавать довольно сложные компьютерные программы. Учась программировать на Visual Basic от Microsoft, вы создадите свои собственные программы. Конечно, вы не обязательно станете Биллом и Полом, но непременно получите удовольствие от обучения и приобретёте полезный опыт.
Давайте начнём.
Чтобы понять, как c помощью Visual Basic писать компьютерные программы, необходимо немало потрудиться, освоить особый язык программиста, приобрести кое-какой опыт. Вместе с вами мы будем делать это медленно, тщательно разбирая каждое новое понятие. До начала обучения необходимо знать несколько вещей:
· Как включить компьютер и как пользоваться компьютерной мышью.
· Как работать с установленной у вас операционной системой (Windows 95, 98, или NT).
· Как изменять размеры и перемещать окна.
· Как запускать программы из меню Пуск (Start).
· Как реагировать на окна с сообщениями появляющиеся при работе в Windows.
· Как находить папки и файлы на вашем компьютере.
· Как определить назначение файла по его расширению, т.е. по трем буквам, стоящим после точки за названием файла, например, Example.ext, где буквы ext обозначают – extension (расширение).
Будет очень полезно, если вы уже имеете опыт работы с текстовыми, табличными редакторами и другими программами. Но, если у вас нет опыта, - то не отчаивайтесь, и попросите у кого-либо помощи. И если человек хорошо знает компьютер, то он объяснит вам все необходимое за пять минут. Вообще, если вам трудно в чем-то разобраться, всегда лучше спросить у кого-либо знающего. Мы все так начинали и не надо бояться задавать вопросы.
Ну, давайте двигаться дальше. И, как мы уже вам сказали, будем делать это, не торопясь. В первом классе мы будем изучать, как запустить Visual Basic на вашем компьютере, как открыть программу или проект в Visual Basic, как выполнить программу, как остановить выполнение программы, как выйти из Visual Basic. Эти первые сведения будут хорошей основой для дальнейшего обучения.
Запуск Visual Basic
Предполагается, что вы имеете установленную и настроенную версию Visual Basic на компьютере. Если это не так, то как раз подходящий момент попросить у кого-нибудь помощи. За прошедшие годы вышло несколько версий Visual Basic. Вы в полной мере освоите этот курс, используя Visual Basic 4.0 (32-битная версия), Visual Basic 5.0, или Visual Basic 6.0. В описании уроков мы будем использовать сокращение VB вместо Visual Basic, и давать указания относительно различных версий. Например, если у вас установлена версия Visual Basic 4.0, то необходимо просматривать информацию, помеченную как VB4, для использующих программу Visual Basic 5.0, - просмотрите помеченное как VB5, а для тех, у кого Visual Basic 6.0, - VB6.
Для запуска Visual Basic:
· Щелкните на кнопке Start (Пуск) на панели задач Windows.
· В открывшемся меню, укажите на строку Programs (Программы), затем перейдите на строку Microsoft Visual Basic # (где значок # обозначает номер установленной у вас версии Visual Basic).
· Щелкните на строке Visual Basic # .
(В некоторых случаях пути запуска программы могут отличаться, но если вы имеете хоть какой-то опыт запуска программ в Windows, то не должны испытывать трудностей в отыскании необходимых файлов). Программа Visual Basic начнет загружаться. На экране появится несколько окон, имеющих некоторые внешние отличия для разных версий VB.
Toolbar (Панель инструментов)
Title Bar (Строка заголовка) |
VB4:
Title Bar (Строка заголовка)
|
|
Main Menu (Главное меню) |
|
Toolbar (Панель инструментов)
VB5:
VB6:
При запуске VB5 и VB6, может появиться диалоговое окно New Project (Новый проект), где нужно указать тип создаваемого проекта. Пока для нас в большинстве случаев подойдет Standart EXE. Нажмите кнопку Open (Открыть).
Рассмотрим появившиеся на экране окна. Большую часть верхней части экрана занимает Главное окно (Main Window) Visual Basic. Главное окно имеет Строку заголовка (Title Bar) в верхней части. В строке заголовка находится информация об используемой в данный момент программе Visual Basic. Ниже строки заголовка находится Главное меню (Main Menu), которое необходимо для доступа к различным функциям Visual Basic. Работа в главном меню должна быть вам знакома по опыту использования текстового редактора. Под главным меню находится Панель инструментов (Toolbar). Здесь расположены небольшие кнопки с картинками. Эти кнопки служат для быстрого доступа к различным функциям Visual Basic, дублируя часто употребляемые команды главного меню. Если вы поместите указатель курсора мыши на кнопку панели инструментов, то через секунду появится всплывающая подсказка (tooltip), сообщающая о назначении данной кнопки, - попробуйте! Почти все приложения Windows (табличные и текстовые редакторы, некоторые компьютерные игры) имеют панель инструментов с подсказками для решения различных задач. Вы часто будете обращаться к панели инструментов в работе. Все другие элементы и окна, находящиеся на экране, будут рассмотрены позже.
Открытие проекта в Visual Basic
Если мы хотим что-либо сделать в Visual Basic, то необходимо сначала открыть проект (open a project). Программы, написанные с использованием Visual Basic, обозначаются как проекты (projects). В проекты включается вся информация вашей компьютерной программы. Когда программа на Visual Basic написана, мы сохраняем ее как проект. На этом занятии мы попробуем открыть один из проектов Visual Basic.
Для открытия проекта мы будем использовать панель инструментов (toolbar). Найдите на панели инструментов кнопку с рисунком в виде открытой папки. Это кнопка открытия проекта:
· Щелкните по кнопке. Появится диалоговое окно Открытия проекта (Open Project).
· Найдите на вашем жестком диске папку с названием VBKids. Папка содержит описания курса и проекты. Откройте эту папку.
· Найдите папку под названием VBKProjects. Папка содержит все проекты для обучающего курса. В этой папке находятся три другие папки: VB4Projects (содержит проекты для Visual Basic 4.0, 32-битная версия), VB5Projects (содержит проекты для Visual Basic 5.0), и VB6Projects (содержит проекты для Visual Basic 6.0). Откройте папку в соответствии с установленной у вас версией Visual Basic.
Запомните путь, по которому вы нашли эту папку. В течение курса вы неоднократно будете к ней обращаться для открытия проектов.
Выберите файл проекта под названием Sample (Пример). Откройте Sample. Вы увидите на экране окно с названием Sample:
Если это окно не появилось на экране, то выполните следующее:
VB4: Щелкните View (Показать) в главном меню, затем щелкните Form (Форма).
VB5, VB6: Щелкните View (Показать) в главном меню, затем щелкните Object (Объект).
Для быстрого переключения между окнами, используйте на клавиатуре клавишу F7, удерживая нажатой клавишу <Shift>. Эта команда клавиатуры используется для переключения между окнами.
Сейчас мы не будем уделять много времени рассказу обо всём, что находится на экране. Познакомимся лишь с некоторыми понятиями и терминами Visual Basic. И не пытайтесь все сразу запомнить, мы ещё неоднократно в течение курса будем обращаться к изучаемым понятиям.
Окно проекта с изображением называется Формой (Form). Все проекты Visual Basic создаются с помощью форм. Вероятно, вы заметили, что все программы Windows используют похожие формы. В верхней части формы находится Строка заголовка (Title Bar). В строке заголовка имеется значок или иконка (icon) в виде маленькой картинки, по изображению, на которой можно судить о назначении формы (Visual Basic for Kids - Sample). Здесь же находятся три небольшие кнопки для управления окном (сейчас мы не будем рассматривать их свойства). На форме находятся изображения различных предметов. Эти различные предметы являются основными элементами компьютерной программы написанной на Visual Basic.
Вы видите несколько маленьких квадратиков с расположенными рядом названиями игрушек (Ball – мяч, Bear – мишка, Doll – кукла, Top – волчок, Wagon – тележка, Trike – детский велосипед). Рядом находятся картинки самих игрушек. Обратите внимание на маленькие кружочки с названиями цветов напротив (Blue – голубой, Red – красный, Green – зелёный, Black – черный). В небольшое поле с полосой прокрутки справа, вы можете ввести какой-либо текст. Рядом находится большая кнопка с надписью Beep! (Гудок!). Под названиями игрушек расположено устройство для выбора значения номера. И, наконец, справа мы видим мяч в большом вытянутом прямоугольнике, а левее – маленький предмет похожий на часы. Все эти предметы, находящиеся на форме называются Элементами управления (Controls) или Объектами (Objects). Элементы управления обеспечивают взаимодействие (interface) или связь между вами (или тем, кто будет использовать программу, назовем его пользователем) и компьютером. Вы используете элементы управления для передачи сообщений компьютеру. Затем компьютер обрабатывает полученную информацию и выводит (возвращает) результат вычислений на экран через ваши элементы управления. Между прочим, сама форма является элементом управления. Если вы работали с программами в Windows, то, конечно, видели элементы управления, но просто не знали, что они так называются. Например, кнопки на панели инструментов – это элементы управления; полосы прокруток, позволяющие перемещаться по документу в текстовом редакторе – элементы управления; значки в меню – элементы управления; и кнопка, по которой вы щёлкаете, когда открываете и сохраняете файлы – тоже элемент управления.
Из того, что сказано выше, вы, наверное, уже поняли, что элементы управления являются важным понятием в Visual Basic. Они важны в том смысле, что с их помощью вы будете создавать программы. Изучению элементов управления посвящена значительная часть курса.
Прямо сейчас давайте запустим на выполнение нашу программу для того, чтобы получить некоторое представление о работе проекта (и его элементов управления) в Visual Basic. Но, перед этим, обратите внимание на строку заголовка главного окна Visual Basic, а именно на слово, заключенное в скобки – [design] [разработка]. Это говорит о том, что Visual Basic находится в режиме Разработки (Design). Этот режим часто применяется при создании проектов в Visual Basic. Всегда обращайте внимание на строку заголовка, чтобы знать, в каком режиме работает Visual Basic.
Выполнение проекта в Visual Basic
После разработки проекта в Visual Basic вы можете запустить или выполнить программу. При этом происходит прогон программы, после чего пользователь, взаимодействуя с элементами управления (controls) на форме, может поручить компьютеру, выполнить определенное задание. Запуск проекта возможен с панели инструментов. Найдите кнопку, которая напоминает кнопку Play на видеомагнитофоне или другом проигрывающем устройстве:
· Щелкните эту кнопку для выполнения Sample (этот проект мы открыли ранее).
Форма проекта будет выглядеть так:
Обратите внимание, что кое-что изменилось. Все изображения игрушек исчезли. Цвет фона у формы стал голубым. В маленьком кружке напротив надписи Blue (Голубой) появилась черная точка. Исчезли маленькие часики. Мяч в длинном прямоугольнике переместился к основанию. Что же произошло? Конечно, мы всё это выясним. Посмотрите на заголовок главного окна и заметьте, что теперь Visual Basic находится в режиме [run] [Выполнение].
Теперь, когда проект запущен, что-то должно произойти, но ничего не происходит. Visual Basic ожидает от вас некоторых действий. В этом месте говорят, что проект Visual Basic ожидает совершения события
(event). Ничто не может произойти в программе Visual Basic без совершения события. Поэтому говорят, что Visual Basic это управляемый событиями (event-driven) язык программирования. Итак, давайте совершать события.
Событие происходит, когда вы что-нибудь делаете на форме, – щелкаете где-нибудь мышью, вводите текст или просто перетаскиваете по форме объекты. В верхнем левом углу формы находится группа небольших квадратиков, заключенных в прямоугольник в виде линии. Линия разорвана в верхней части надписью Toys (Игрушки). Напротив каждого маленького квадратика напечатано название игрушки. Щелкните мышью внутри одного из квадратиков. Обратите внимание, что произошло. Появилась галочка, которая показывает, что вы выбрали именно этот квадратик, и появилась игрушка на экране, соответствующая названию, находящемуся напротив выбранного квадратика. Щелкая курсором мыши в квадратике, мы совершаем событие, называемое Click (Щелчок мышью). Компьютер распознаёт событие и делает то, что вы ему велели (то, что записано в компьютерной программе), таким образом, совершается отдельное событие. В данном случае событие указывает компьютеру, что надо показать на дисплее выбранную игрушку. Щелкните в том же квадратике ещё раз. Галочка и изображение игрушки исчезнут. Вы вызвали другое событие и указали компьютеру, что надо убрать изображение игрушки. Этот отдельный элемент управления называется check box (флаговая кнопка или флажок). Примечание: вы можете установить флажок (пометить галочкой) несколько квадратиков в любом порядке и вывести на экран изображения разных игрушек. Флажки применяются тогда, когда вы хотите выбрать несколько элементов из списка.
В этом примере используются ещё два элемента управления. Прямоугольная область, обрамляющая флаговые кнопки называется frame (рамка). Место, где находятся изображения игрушек, называется элементом управления image (картинка). Давайте посмотрим, как реагируют на события другие элементы управления нашей формы.
Приблизительно у середины экрана находятся четыре маленьких кружка, заключённые в рамку под названием Color (Цвет). Напротив каждого кружка напечатано название цвета. В кружке с названием Blue (Голубой) находится черная точка, показывающая на выбранный цвет (заметьте, что цвет у формы голубой). Щелкните в любом другом кружке. Что изменилось? Цвет формы изменился на другой выбранный цвет. Это событие Click (Щелчок мышью) сообщает компьютеру, что необходимо изменить цвет фона у формы. Примечание: когда вы выбираете новый цвет, черная точка появляется в новом кружке и исчезает в предыдущем. В отличие от флаговых кнопок, здесь вы можете поставить отметку только в одном кружке. И это вполне логично – ведь форма может иметь только один цвет! Элементы управления в виде кружков с точкой называются option buttons (кнопки выбора). Кнопки выбора используются, когда необходимо выбрать лишь одно положение из нескольких.
Под рамкой Toys (Игрушки) находится другая рамка под названием Pick a Number (Выбор номера). В ней мы видим белое поле, в котором появляются номера; это поле называется label (надпись). Под меткой находится другой элемент управления называемый scroll bar (полоса прокрутки). Вы неоднократно видели и пользовались полосой прокрутки в других программах. Здесь полоса прокрутки используется для переключения номеров на наборном поле. На полосе прокрутки щелкните по стрелке, указывающей вправо. Значение номера после каждого щелчка будет увеличиваться на 1. Если вы будете удерживать кнопку мыши, то номер будет увеличиваться непрерывно. Однократно щелкните указателем мыши по светлой области слева от кнопки. Номер будет увеличиваться сразу на 10. Щелкните по маленькой мигающей панельке, называемой бегунком, находящейся между кнопками со стрелками, и, удерживая клавишу мыши, переместите бегунок вправо и влево. Заметьте, как изменяется номер в окошке. В этом примере, компьютер реагирует на Смену (Change)
события, которое происходит каждый раз при перемещении бегунка. При смене события компьютеру сообщается, что положение полосы прокрутки изменилось, и новое значение должно быть введено в элемент управления – надпись.
Под рамкой Pick a Number (Выбора номера) есть область с вертикальной полосой прокрутки справа. Этот элемент управления называется text box (текстовое окно). Вы можете щелкнуть в нём, чтобы появился мигающий курсор, и, после этого, ввести любой текст, используя клавиатуру. Попробуйте. Текстовое окно представляет собой своеобразный встроенный текстовый редактор. Каждый раз, когда вы вводите какой-либо символ, происходит несколько событий. При нажатии клавиши клавиатуры происходит событие называемое KeyPress (Нажатие клавиши) и событие Change (Смена), которое сообщает, что текст в окне изменился.
Рядом с текстовым окном находится кнопка, на которой написано Beep! (Гудок!). Щелкните по нему, и вы услышите звук в колонках вашего компьютера. Этот элемент управления называется command button (командная кнопка). Командная кнопка является одним из самых распространенных элементов управления в Visual Basic. Событие Click (Щелчок мышью) сообщает компьютеру, что необходимо подать звуковой сигнал.
И последний объект нашей формы – это вытянутый по вертикали жёлтый прямоугольник справа, называемый элементом управления picture box (графическое окно). В нем находится небольшой шарик, который называется элементом управления shape (геометрические фигуры). Под графическим окном расположена командная кнопка с надписью Start (Пуск). Щелкните по кнопке, что вызовет событие Click (Щелчок мышью). Шарик начнёт перемещаться. Он подходит к краю прямоугольника и начинает двигаться обратно. Перемещение шарика можно остановить, щелкнув по кнопке, на которой теперь написано Stop (Стоп). Помните про небольшие часики на форме в режиме компоновки, но которые исчезли после запуска проекта? Они используются в примере с перемещающимся шаром и называются элементом управления timer (таймер). Событие щелчка мышью по командной кнопке запускает элемент управления timer, и, кроме того, изменяет надпись на самой кнопке. Элемент управления timer генерирует события через определённые промежутки времени. Например, событие Timer (Таймер) происходит (генерируется) каждую 1/10 секунды таким образом, что перемещение шарика выглядит непрерывным. Обратите внимание, что когда шарик движется, можно управлять изменением цвета формы, вызывать появление и исчезновение игрушек, печатать текст и вызывать звук. Таким образом, с помощью Visual Basic можно обрабатывать несколько событий сразу.
Очевидно, что наш проект демонстрирует далеко не все возможности Visual Basic, но все изучаемые нами понятия принципиально важны. Это точка отсчета до того времени, когда вы создадите свой собственный проект. Проект состоит из элементов управления, которые позволяют пользователю обмениваться информацией с компьютером. Вызывая события через элементы управления, мы получаем реакцию компьютера в виде какого-либо результата. В этом уроке мы не рассматривали подробно, как реагирует компьютер на те или иные события, но обязательно рассмотрим это позже. По окончанию курса вы сможете самостоятельно разрабатывать проекты, такие как Sample и даже более сложные. Теперь посмотрим, как остановить выполнение проекта.
Остановка выполнения проекта в Visual Basic
Есть несколько способов остановить выполнение проекта в Visual Basic. Мы будем использовать панель инструментов. Найдите кнопку, на которой изображён значок Stop (Стоп), такой же, как на видеомагнитофоне или кассетном проигрывателе (вам, вероятно, придётся переместить форму проекта, чтобы получить доступ к панели инструментов):
· Щелкните по этой кнопке. Выполнение проекта будет остановлено, и вы вернётесь в режим разработки.
Другой способ остановки проекта состоит в том, что надо нажать на кнопку Закрыть (Close) на самой форме. На этой маленькой кнопке изображён значок, похожий на X и находится она справа вверху формы.
Закрытие Visual Basic
Когда вы заканчиваете работу над проектом, необходимо выйти из Visual Basic и закрыть программы. Эта процедура может отличаться для разных версий Visual Basic, но, тем не менее, она является стандартной для различных Windows программ.
· Откройте меню File (Файл) в главном меню
· Перейдите на строку Exit (Выход) внизу меню файл и щелкните
Visual Basic начнёт закрывать все свои окна. Вы возвращаетесь на рабочий стол Windows. Если вы закрываете Visual Basic с запущенной программой Sample (в строке заголовка главного окна стоит [run]), то перед закрытием окон появится сообщение с вопросом о сохранении файлов. Щелкните No (Нет). Подобно тому, как вы закрывали проект, другим способом закрыть Visual Basic является щелчок по кнопке с символом, похожим на X вверху справа главного окна.
Резюме (Краткое изложение вышесказанного)
Ух, ты! Вы утомились? Мы освоили много нового материала в этом уроке, и, если что-то осталось в голове, то всё OK (Хорошо). Мы вам и не обещали сладкой жизни – ведь это все равно, что изучить новый язык. Не волнуйтесь, если вы не все запомнили. Мы ещё вернёмся не раз к тому, о чем поведали вам. Важно то, что теперь вы уже имеете некоторое представление о том, из чего состоит проект Visual Basic, и как он работает. И теперь вы знаете, как запустить и закрыть Visual Basic.
Подводя итог этому классу, мы увидели, что основой при создании проекта в Visual Basic является форма (form). Элементы управления (Controls), помещённые на форму, позволяют взаимодействовать пользователю и компьютеру. Пользователь совершает события (events), управляя работой компьютера.
В следующем классе вы приобретёте навыки, которые позволят вам самостоятельно создать проект на Visual Basic. Вы узнаете, как отдельные части проекта взаимодействуют друг с другом. Используя, в качестве примера, Sample, вы научитесь составлять наиболее важные части проекта. Затем, в классе 3 вы создадите уже полностью самостоятельный проект.
Visual Basic для детей
5. Элементы управления Labels
(Надписи), Text Boxes
(Текстовые поля), понятие о переменных
Обзор и предварительные замечания
Мы снова находимся в нашей любимой среде программирования Visual Basic и продолжаем изучать новые элементы управления и новые операторы языка программирования BASIC. Начиная занятие, давайте вспомним три этапа построения проекта Visual Basic: (1) размещение элементов управления на форме, (2) назначение свойств для этих элементов управления, и (3) запись процедур обработки событий. В этом классе мы будем рассматривать способы нахождения и устранения ошибок в проекте, подробно изучим такие элементы управления, как label (надпись) и text box (текстовое поле), узнаем о таком важном понятии как переменные (variables). И ещё мы создадим проект, с помощью которого вам удобно будет подсчитывать ваши денежные расходы и доходы.
Отладка (Debugging) проекта в Visual Basic
Даже, если вы разработаете подробный план проекта и тщательно подберете элементы управления с соответствующими процедурами событий, вы, все равно, не застрахованы от ошибок. Ошибки или как их называют программисты – bugs (жучки, тараканы по-русски), так и стараются заползти в ваш проект. Вам, как программисту, необходим стратегический план по поиску и уничтожению ‘bugs’, этой заразы. Способ уничтожения, устранения ошибок или ‘bugs’ в проекте называется debugging (отладка). К сожалению, надежных и эффективных средств для поиска ошибок в программах не так уж и много. Поэтому, каждый программист по-своему ‘отлавливает жучков’, исправляет ошибки. И у вас, со временем, появятся свои приемы. А сейчас, мы дадим вам некоторые общие рекомендации.
Ошибки, возникающие в проектах, или ‘bugs’ могут быть трех видов:
· Синтаксические (Syntax) ошибки
· Ошибки периода исполнения (Run-time) т.е. ошибки в программе, обнаруживаемые только во время выполнения программы
· Логические (Logic) ошибки
Синтаксические ошибки возникают, когда вы неправильно устанавливаете свойства в режиме разработки и при вводе строк кода на BASIC. Иногда это орфографические ошибки, иногда – несовпадение с тем, что должно быть записано. Ваш проект не будет запускаться, если имеются какие-либо синтаксические ошибки. Ошибки периода исполнения обнаруживаются после попытки запуска проекта. Выполнение проекта прерывается и, единственное, что можно сказать, так это то, что причина остановки не связана со свойствами элементов управления. Логические ошибки достаточно трудно обнаружить. Проект вроде бы запущен, но работает не так, как было задумано. Давайте рассмотрим каждый вид ошибок и способы их устранения.
Синтаксические ошибки
Синтаксические ошибки наиболее просто выявляются и исправляются. Среда программирования Visual Basic содержит мощную справочную систему, содержащую информацию о синтаксических ошибках. Синтаксические ошибки обычно возникают при установке свойств для элементов управления или при записи кода процедур обработки событий на BASIC.
Откройте новый проект в Visual Basic. Найдите в окне свойств для элемента управления Form свойство Left, выделите его, и установите вместо нуля, значение, например, в виде слова Junk. Для ввода нового значения нажмите Enter. Что при этом произошло? Вы увидите небольшое окно сообщения подобного вида, (такое окошко появляется в VB4):
Invalid property value – неправильное значение свойства
Нажмите <F1> для получения интерактивной справки и прочитайте разъяснения по данной проблеме. (При этом у вас должна быть установлена справочная система MSDN). Запомните, что значение свойства должно соответствовать определенному типу. Установка значения неправильного типа для какого-либо свойства является синтаксической (syntax) ошибкой. Но мы видим, что Visual Basic всегда на страже и не позволит нам допустить подобную ошибку. Щелкните по кнопке OK в окне сообщения, и для свойства Left установится исходное значение.
Что случится, если синтаксическая ошибка возникнет при записи строк кода? Давайте попробуем. Откройте окно кода для процедуры Form_Load. Под заглавной строкой, введите с клавиатуры следующую строку и нажмите <Enter>:
|