Получите профессию
за 6 месяцев
Пройти курс
Рабочие листы
к вашим урокам
Скачать
Смотреть ещё
681
методическую разработку по информатике
Перейти в каталогВыбранный для просмотра документ VB Лабораторный практикум 1 часть.doc
Государственное бюджетное образовательное учреждение
высшего профессионального образования Московской области
«Международный университет природы, общества и человека «Дубна»
(Университет «Дубна»)
Филиал ДИНО университета «Дубна»
ЛАБОРАТОРНЫЙ ПРАКТИКУМ
1 часть
Visual Basic. Основы программирования
Теория
Лабораторно-практические работы
Задания для самостоятельного выполнения
Дмитров 2012
Автор:
Живодерова Валентина Викторовна – преподаватель спецдисциплин филиала ДИНО университета «Дубна».
Лабораторный практикум предназначен для проведения лабораторно-практических работ при изучении языка программирования Visual Basic в общеобразовательных и профессиональных образовательных учреждениях, а также для самостоятельного изучения.
В пособии использованы материалы отечественных и переводных книг по Visual Basic, а так же автором обобщен личный опыт преподавания данного языка.
Предисловие............................................................................................................................................................................................ 4
Основные понятия Visual Basic........................................................................................................................................... 5
Этапы создания Windows-приложений........................................................................................................................................... 5
Экран проектирования в системе Visual Basic............................................................................................................................ 6
Объекты управления и их свойства................................................................................................................................................... 7
Основные свойства объектов управления....................................................................................................................................... 8
Свойства, используемые для управления формой...................................................................................................................... 8
Основные объекты управления и их специфичные свойства...................................................................................................... 9
Наименование объектов Visual Basic.............................................................................................................................................. 11
События....................................................................................................................................................................................................... 12
События, возникающие при работе с мышью............................................................................................................................. 12
События, возникающие при работе с клавиатурой................................................................................................................... 12
События, связанные с фокусом........................................................................................................................................................ 12
События, специфичные для объектов............................................................................................................................................ 12
Окно кода процедуры обработки события.................................................................................................................................... 13
Понятие метода в Visual Basic......................................................................................................................................................... 14
Проект приложения................................................................................................................................................................................ 15
Структура проекта............................................................................................................................................................................. 15
Запуск проекта...................................................................................................................................................................................... 15
Сохранение проекта............................................................................................................................................................................. 15
Открытие проекта.............................................................................................................................................................................. 15
Компиляция проекта............................................................................................................................................................................ 16
Лабораторно-Практические работы.............................................................................................................................. 17
Общие рекомендации по выполнению работ............................................................................................................................... 17
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 1......................................................................................................................... 18
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 2......................................................................................................................... 20
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 3......................................................................................................................... 22
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 4......................................................................................................................... 24
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 5......................................................................................................................... 26
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 6......................................................................................................................... 28
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 7......................................................................................................................... 30
Задания для самостоятельного выполнения.................................................................................................... 32
Задание № 1............................................................................................................................................................................................... 32
Задание № 2............................................................................................................................................................................................... 32
Задание № 3............................................................................................................................................................................................... 33
Задание № 4............................................................................................................................................................................................... 33
Задание № 5............................................................................................................................................................................................... 33
Задание № 6............................................................................................................................................................................................... 34
Задание № 7............................................................................................................................................................................................... 34
Задание № 8............................................................................................................................................................................................... 34
Список использованной литературы......................................................................................................................... 35
Приложение........................................................................................................................................................................................... 36
Язык программирования Visual Basic все шире используется в российском образовании. Одна из проблем, с которыми сталкивается преподаватель, работающий с этим языком, - недостаток методической литературы. Данное Лабораторный практикум может быть полезен преподавателям и учащимся, (подготовленным пользователям) изучающим объектно-ориентированное программирование на языке Visual Basic, а также может использоваться при проведении факультативных и кружковых занятиях в средних учебных заведениях. Опыт работы с другими языками программирования не обязателен, хотя, конечно, полезен.
Цель данного пособия – предоставить пользователю систематическое и наглядное изложение примеров разработки приложений под Windows.
Лабораторный практикум ( часть 1 )состоит из трех основных разделов:
1. Теория «Основные понятия Visual Basic”
В этом разделе описываются базовые понятия, позволяющие программистам новичкам понять основы Visual Basic. Этом материал не претендует на полное изложение, его следует рассматривать, скорее всего, как справочную информацию, которая позволит эффективно выполнять практические работы.
2. Лабораторно-практические работы по теме «Основные объекты управления и их свойства»
Каждая работа содержит подробное пошаговое описание действий по созданию программного проекта. При оценке выполнения практических работ следует обращать внимание на точное выполнение всех предписаний в работе.
Каждая выполненная работа должна быть сохранена.
3. Задания для самостоятельного выполнения
Самостоятельное выполнение заданий позволяет закрепить навыки работы учащихся в среде Visual Basic Преподаватель может использовать их в качестве контрольных работ.
Как работать с пособием.
Для правильной работы необходимо иметь:
- Операционную систему Windows 95 или более поздней версии;
- Visual Basic 5.0. и выше;
- Процессор Pentium 166 MHz и выше;
- 5 MB HDD и более;
- Драйвер CD ROM;
- Монитор VGA или более высокого разрешения;
- 16 MB RAM;
- Мышь.
При установке Visual Basic на учебный компьютер должны быть включена библиотека рисунков и значков Graphics.
Использованию данного учебного пособия должно предшествовать изучение теоретического материала об основных объектах управления и их свойствах и методах.
Перед выполнением первой Лабораторной работы учащийся должен создать свою папку на диске и в дальнейшем свои приложения сохранять в ней.
Контроль правильности выполнения практических работ и заданий для самостоятельного выполнения осуществляет преподаватель в режиме проектирования и в режиме выполнения.
Visual Basic – один из первых языков программирования, поддерживающих событийно-управляемое программирование. Основной смысл событийно-управляемого программирования следующий: вместо скрупулезного описания каждого шага Вы лишь указываете, как реагировать на различные события (действия пользователя): выбор команды, щелчок в окне, перемещение мыши и т.д. Вы создаете не одну большую программу, а приложение, состоящее из набора взаимодействующих микропрограмм (процедур), управляемых пользователем.
Visual Basic – это среда разработки приложений под Windows, в которую включено все, что необходимо для создания, модификации, тестирования, корректирования и компиляции ваших программ.
Слово Visual «визуальный» (наглядный) означает способ разработки пользовательского интерфейса программы.
Интерфейс – совокупность средств, обеспечивающих физическое или логическое взаимодействие устройств и программ вычислительной системы. Здесь мы вкладываем в термин разработка интерфейса более узкий смысл – изобретение и создание такого способа ввода и вывода информации, который был бы максимально прост, удобен и приятен пользователю.
1. Постановка задачи – составление по возможности точного и понятного словесного описания того, как должно работать будущее приложение, - что должен делать пользователь в процессе его работы.
2. Разработка интерфейса – создание экранной формы (окна приложения) со всеми находящимися на этой форме объектами и свойствами этих объектов
3. Программирование – определение того, какие события будут происходить в процессе работы приложения, составление алгоритмов процедур для этих событий и написание программных кодов этих процедур.
4. Отладка – устранение логических ошибок в процедурах и достижение того, чтобы приложение удовлетворительно работало в среде проектирования.
5. Сохранение проекта и компиляция (создание исполняемого приложения).
После загрузки Visual Basic на экране отображается несколько окон, положением и размерами которых можно управлять.
Экран содержит окна:
1. Строка меню
Меню содержит команды, используемые при работе Visual Basic . кроме стандартных меню File, Edit, View, Window, Help, здесь расположены меню, обеспечивающие доступ к функциям программирования, например, Project, Format, Debug
2. Панель инструментов (Toolbars Standard)
Предоставляет быстрый доступ к наиболее часто используемым командам среды программирования
3. Форма ( Form )– окно будущего приложения
4. Панель элементов управления (Toolbox)
Панель обеспечивает проектировщика набором инструментов, необходимых во время разработки для размещения элементов управления на форме
5. Окно свойств (Properties)
Перечисляет установленные свойства для выбранной формы или элемента управления.
6. Окно проводника проекта (Project Explorer)
Представляет список форм и модулей текущего проекта. Проект – это набор файлов, используемых для построения приложения.
Объектом называется некая сущность, которая, во-первых, четко проявляет свое поведение, а во-вторых, является представителем некоторого класса подобных себе объектов.
Классом объектов называется общее описание объектов, для которых характерно наличие множества общих свойств и общих действий. Примером класса может служить класс Командная кнопка – общее описание кнопок в окнах приложений. Эти кнопки могут быть всех цветов и размеров, но должны иметь множество общих свойств и других характеристик, например, событий, которые для этих объектов одинаковы.
Форма – это окно будущего приложения. Форма обладает свойствами, определяющими ее внешний вид, методами, определяющими ее поведение, и событиями, которые определяют ее взаимодействие с пользователем.
Элементы управления – это объекты, содержащиеся внутри объекта - Форма. Каждый тип элемента управления имеет свой собственный набор свойств, методов и событий, что делает его пригодным для определенной цели.
Свойства в Visual Basic - количественно измеряемый атрибут объекта (элемента управления или формы). Значения свойств можно задать на стадии проектирования в окне свойств. Активизировать окно свойств, можно по-разному:
- в строке меню View / Properties Window
- клавиша F4
- кнопка на панели инструментов
Установка значений свойств объектов
Значения свойств объектов можно менять двумя способами:
- при проектировании:
В каждый момент проектирования только один объект является выделенным (активным). Он окружен рамкой из восьми маркеров. В окне свойств отображается список свойств именно активного объекта. Новое значение свойства вводится в окне свойств.
- при выполнении приложения:
в программный код включается команда, имеющая следующий общий вид
ИмяОбъекта.Свойство=Значение
Получение значений свойств
Получают значение свойств тогда, когда хотят определить состояние объекта до выполнения каких-либо действий из кода. Общий вид команды следующий:
Переменная=ИмяОбъекта.Свойство
Свойство |
Назначение |
Name |
Имя объекта |
Caption |
Заголовок |
Visible |
Видимость |
BorderStyle |
Стиль границ |
FontBold |
Полужирный шрифт |
FontItalic |
Курсив |
FontName |
Тип шрифта |
FontSize |
Размер шрифта |
FontUnderline |
Шрифт подчеркнутый |
Enabled |
Доступ |
Left |
Координата по горизонтали |
Top |
Координата по вертикали |
Height |
Высота объекта |
Width |
Ширина объекта |
BorderColor |
Цвет фона |
ForeColor |
Цвет шрифта |
BorderColor |
Цвет границ |
FillStyle |
Стиль заполнения |
MousePointer |
Вид курсора при наведении на объект |
Свойство |
Назначение |
MinButton MaxButton |
Наличие кнопки минимизации окна Наличие кнопки максимизации окна |
KeyPreview |
Определяет, вызываются ли процедуры обработки события клавиатуры формы перед событиями клавиатуры элементов управления |
Left Top |
Определяют местоположение формы по отношению к левому верхнему углу экрана монитора |
Icon |
Устанавливает отображаемый при сворачивании формы значок |
WindowState |
Состояние окна после загрузки приложения |
Auto Redraw |
Определяет возможность автоматического перерисования |
ClipControls |
Определяет необходимость перерисовки всего объекта или появляющейся части |
ControlBox |
Определяет наличие кнопки системного меню на форме |
DrawWidth |
Определяет ширину рисуемой линии (точки) |
ScaleHeight, ScaleWidth |
Определяет число единиц измерения по вертикали и горизонтали |
ScaleLeft, ScaleTop |
Определяет координаты верхнего левого угла |
Пистограмма / Назначение |
Специфические свойства |
|
|
Командная кнопка (CommandButton) |
Default при значении True командная кнопка определена как кнопка по умолчанию, т.е. при нажатии Enter она будет нажата. Cancel определяет как кнопку отмены по умолчанию т.е. при нажатии Esc она будет нажата. Style стиль, принимает два значения: стандартный и графическийЕсли стиль Graphical, то можно менять свойства: Picture картинка DownPicture- картинка внизу DisabledPicture- картинка если у кнопки нет доступа |
|
Текстовое окно ( TextBox ) – экранная область, в которое можно вводить текст |
MaxLength максимальная длина, если значение нуль, то можно вводить любое кол-во символовMultiline значение False запрещает ввод более одной строки, значение True – разрешает ввод нескольких строк после нажатия Enter ScrollBars наличие (1, 2, 3) или отсутствие (0) линеек прокруток в текстовом полеText текст, отображаемый в поле. Locked блокировка редактирования Следующие свойства доступны в режиме выполнения SelStart число, указывающее место вставки в строке текста SelLength количество выделяемых символов SelText определяет выделенный текст |
|
Метка ( Label ) – применяется для отображения текста, который пользователь не может редактировать |
Alignment выравниваниеAutoSize автоподстройка размера. При значении True размер метки подгоняется под размер текста, заданный свойством Caption. Если значение False метка сохраняет размер, установленный при проектировании WordWpar перенос слов BorderStyle стиль границ |
|
Переключатель (OptionButton) для организации выбора из нескольких возможностей. Выбор одного сбрасывает все другие переключатели. |
Value показывает выбран переключатель или нетStyle стиль, изменение вида переключателяЕсли стиль Graphical, то можно менять свойства: Picture картинка DownPicture- картинка внизу DisabledPicture- картинка если у переключателя нет доступа
|
|
Флажок (Check Box) - для организации выбора типа да/нет. Работают независимо друг от друга, пользователь может установить любое их число одновременно. |
|
|
Рамка (Frame) для объединения объектов в группы |
|
|
Линейки прокрутки ( Scroll bar ) горизонтальная и вертикальная действуют совершенно одинаково. Эти объекты позволяют узнавать о позиции движка (scrollbox), кроме того контролировать диапазон действия линейки прокрутки и дискретность перемещения движка |
LargeChange определяет величину, которая добавляется или вычитается из значения Valueпри щелчке внутри линейки прокрутки Max число, определяющее крайнюю правую или нижнюю позицию Min число, определяющее крайнюю левую или верхнюю позициюSmallChange -определяет величину, которая добавляется или вычитается из значения Value при щелчке на одной из стрелок на концах линейки прокруткиValue число, которое отражает текущую позицию движка на линейке |
|
Таймер ( Timer) – это объект, способный инициировать события через регулярные промежутки времени |
Interval число (от 0 до 65535), определяющее интервал времени в мс между двумя событиями. Интервал, равный нулю, отключает таймер |
|
Линия (Line) –для вычерчивания линий на поверхности формы. Не поддерживает никаких событий. |
X1, Y1 координаты левого края линии X2, Y2 координаты правого края линии BorderWidth толщина линии BorderStyle стиль линии |
|
Список (ListBox)-предоставляет список возможных вариантов выбора, позволяет ограничить ввод элементами списка |
Style стиль списка Sorted сортировка элементов списка List позволяет заполнить список на стадии проектирования ListIndex определяет положение выбранного элемента списка ListCount определяет количество элементов списка Text элемент списка или строка, введенная пользователем |
|
Комбинированный список (ComboBox) Совмещает возможности списка и текстового окна, содержит редактируемое поле |
|
|
Окно рисунка (PictureBox)- для размещения графической информации в определенных участках формы. Требуют больше памяти и времени на обработку, больше подходят для динамических объектов Может выполнять функции контейнера для других элементов управления. |
Picture позволяет выводить растровую картинку (.bmp), либо значок (.icon) AutoSize автоподстройка размера |
|
Изображение (Image) – для размещения графической информации в определенных участках формы. Удобно использовать в статической среде (не предполагается изменение) |
Picture позволяет выводить растровую картинку (.bmp), метафайл, файлы JPEG или GIF либо значок (.icon) Stretch Растягивать. Если значение True картинка подгоняется под размер элемента управления. |
|
Контур или фигура (Shape) для вычерчивания контуров в виде прямоугольника, окружности, овала, квадрата, прямоугольника, квадрата с закругленными углами |
Shape тип контура FillStyle стиль заполнения BorderStyle стиль границ контура BorderWidth толщина контура |
|
Список файлов( FileListBox) позволяет узнать, какие есть файлы на дисках системы и выбрать один из них |
Pattern определение шаблона для списка файлов Следующие свойства определяют тип отображаемых файлов Archive архивный System системный Hidden скрытый ReadOnly только для чтения |
|
Список каталогов (DirListBox) позволяет узнать, какие есть каталоги на дисках системы и выбрать один из них |
Path позволяет установить или получить текущий каталог |
При изменение имени (Name) объектов Visual Basic рекомендуется использовать следующую простую схему:
- начинать название с трехбуквенного префикса;
- использовать только буквы, цифры и знак подчеркивания ( _ );
- использовать не более 40 символов.
Создатели Visual Basic рекомендуют начинать название с трехбуквенного префикса в соответствии с типом объекта. Например, у вас может быть командная кнопка с названием cmdCancel и форма frmMain. Рекомендуемые префиксы перечислены в табл.
Объект |
Рекомендуемый префикс |
Форма |
Frm |
Флажок |
Chk |
Комбинированное окно |
Cbo |
Командная кнопка |
Cmd |
Окно данных |
Dat |
Список каталогов |
Dir |
Список дисков |
Dsk |
Рамка |
Fra |
Сетка |
Grd |
Горизонтальная линейка прокрутки |
Hsb |
Изображение |
Img |
Метка |
Lbl |
Линия |
Lin |
Список |
Lst |
Меню |
Mnu |
Переключатель |
Opt |
Окно рисунка |
Pic |
Фигура |
Shp |
Текстовое окно |
Txt |
Таймер |
Tmr |
Вертикальная линейка прокрутки |
Vsb |
Событием называется характеристика класса объектов, описывающая внешнее воздействие, на которое реагирует объект этого класса во время работы приложения.
Программы на Visual Basic управляются событиями, другими словами – действия пользователя вызывают выполнение различных процедур. Работает это примерно так: программа ждет, пока пользователь не сделает что-либо, т.е. пока не произойдет событие; затем программа реагирует на это событие, запуская соответствующую процедуру или процедуры, затем программа снова терпеливо ждет следующего события.
Событие |
Описание |
Параметры событий |
Click |
Щелчок |
|
DblClick |
Двойной щелчок |
|
MouseDown |
Кнопка мыши нажата |
Shift – определяет статус клавиш Shift( 1 ), Ctrl( 2 ), Alt(4) ни одна кнопка не нажата - 0Button – определяет статус нажатой кнопки (левая - 1, правая - 2, средняя–4,) X,Y – позиция указателя курсора |
MouseUp |
Нажатая кнопка мыши отпущена |
|
MouseMove |
Мышь перемещается из своей текущей позиции |
|
DragDrop |
Завершение перетаскивания |
Source – ссылка на объект, который был перемещен, X,Y – позиция курсора |
DragOver |
«Буксируемый» объект попадает в область другого объекта |
Stale – принимает значения 0 –область занята, 1–область свободна |
Событие |
Описание |
Параметры событий |
KeyPress |
Нажата клавиша, соответствующая символу ASCII |
KeyAscii- значение ASCII-кода нажатой клавиши |
KeyDown |
Нажата любая клавиша на клавиатуре |
KeyCode – указывает нажатую клавишу Shift – определяет статус клавиш Shift(1), Ctrl( 2 ), Alt(4) |
KeyUp |
Отпущена любая клавиша |
Объект, имеющий фокус, может получать вводимую пользователем информацию с помощью мыши и клавиатуры.
Событие |
Описание |
GotFocus |
Получении фокуса |
LostFocus |
Потеря фокуса |
Событие |
Описание |
Для какого объекта характерны |
Load UnLoad |
Загрузка Закрыть форму |
Форма |
Resize |
Изменение размера |
Форма, Картинка |
Change |
Изменение |
Текстовое окно, Полосы прокрутки, Список каталогов Комбинированный список, |
Scroll |
Прокрутка |
Полосы прокрутки, Список, Комбинированный список, Список файлов, Список каталогов |
Timer |
Истечение интервала времени |
Таймер |
Любой объект можно связать с набором процедур, исполняемых в строго определенные моменты. Процедура (procedure) – это группа операторов языка. Исполняется процедура – исполняются ее операторы. Так или иначе, весь составленный вами исполняемый код обязательно помещается в какую-нибудь процедуру. Процедура, присвоенная объекту, связана с определенным событием и поэтому называется процедурой обработки события. Важно отметить, что с одним объектом могут быть связаны несколько событий.
Имя процедуры обработки события для элемента управления составляется из имени элемента управления (Name), знака подчеркивания ( _ ) и имени события.
Для открытия окна кода процедуры существует три способа:
1. двойной щелчок по объекту
2. клавиша F7
3. в меню выбрать View / Code
1. список объектов формы
2. список событий объекта
3. процедура
Процедуры по умолчанию не делают ничего; они состоят лишь из объявления процедуры (Sub)и оператора, помечающего конец процедуры (End Sub)
Программный код вводится между строками Private Sub и End Sub
Visual Basic предоставляет большое количество встроенных процедур и функций (функции – это особый класс процедур, которые возвращают значения аргументов). Эти процедуры и функции описаны в справочной системе или документации на систему программирования.
Процедуры и функции уже не одно десятилетие являются неотъемлемой частью любого языка программирования. Лишь сравнительно недавно, когда появились языки, поддерживающие объектно-ориентированное программирование, были ведены особые типы процедур и функций, названные методами. Методы «работают» как процедуры и функции, но принадлежат конкретным объектам, так же как и свойства. Методы объекта определяют те задачи, которые может выполнить данный объект.
Чтобы вызвать метод, надо указать имя объекта и через точку имя метода.
Некоторые методы предусмотрены практически для всех типов объектов, другие же более специфичны. В таблице. приводится список основных методов, элементы управления, для которых они определены, и краткое описание действия.
Название метода |
Элементы управления, для которых используются методы |
Описание действия |
Addltem |
ListBox, ComboBox |
Добавление элемента в список |
Circle |
Form , PictureBox |
Рисование дуги, эллипса или окружности |
Clear |
ListBox, ComboBox |
Удаление всех элементов списка |
Cls |
Form, PictureBox |
Очистка от графических элементов или текста |
Drag |
Все, кроме Line, Menu, Shape, Timer |
Перемещение объекта |
Hide |
Form |
Спрятать форму с экрана без ее выгрузки |
Line |
Form, PictureBox |
Рисование линии или прямоугольника |
Move |
Все, кроме Timer и Menu |
Перемещение элемента |
Point |
Form, PictureBox |
RGB (red-green-blue) цвет точки |
PopupMenu |
Form |
Вывод всплывающего меню в заданной точке формы |
|
Form, PictureBox. |
Печать строки на объекте |
Pset |
Form, PictureBox. |
Точка на объекте |
Refresh |
Все |
Немедленная перерисовка на экране |
RemoveItem |
ListBox, ComboBox |
Удаление элемента списка или ячеек в сетке |
Scale |
Form, PictureBox. |
Координаты объекта |
SetFocus |
CheckBox, ComboBox, CommandButton, FileListBox, Form, HscrollBar, ListBox, OptionBiitton. PictureBox, TextBox. VScrollBar |
Установка курсора |
Show |
Form |
Вывод формы на экран |
ZOrder |
Все |
Расположение на переднем или заднем плане |
Программный проект – это совокупность частей, составляющих будущее Windows-приложен. Любой проект должен состоять из одной или нескольких экранных форм и одного или нескольких программных модулей.
При создании приложения в Visual Basic программист работает с проектами. Проект (project) - это набор файлов, используемых для построения приложения. В этот набор входят:
Файл формы(для каждой формы) – содержит описание формы и ее элементов управления, включая установленные значения свойств, а также используемые в форме процедуры обработки событий. Файл формы имеет расширение .FRM
Стандартные модули хранятся в файлах с расширением .BAS (они могут использоваться при решении не одной, а нескольких задач и в данном пособии не рассматриваются, как и некоторые другие)
Файл проекта – содержит сведения о размещении всех других файлов проекта, имеет расширение .VBP.
Все файлы проекта могут быть объединены в один исполняемый файл (с расширением .EXE).
Для запуска проекта используйте один из приведенных способов:
- с помощью меню выбрать Run / Start
- нажать клавишу F5
- нажать кнопку запуска на панели инструментов
Для сохранения следует выполнить File / Save Project или нажать кнопку на панели инструментов. Visual Basic сначала предложит сохранить форму, а затем проект.
В появившемся диалоговом окне :
- установите диск и каталог назначения;
- измените имя файла формы;
- нажмите кнопку Сохранить
- установите диск и каталог назначения;
- измените имя файла проекта;
- нажмите кнопку Сохранить
Для открытия существующего проекта следует выполнить File / Open Project или нажать на кнопкe панели инструментов. В появившемся диалоговом окне:
- установите диск и каталог назначения;
- выберите имя файла проекта;
- нажмите Открыть
Когда вы закончите разработку проекта, вы можете скомпилировать его, чтобы создать стандартный файл .EXE прикладной программы Windows. Эту программу можно будет запускать самостоятельно, без Visual Basic. Чтобы скомпилировать проект:
- выберите File, Make EXE File
- поменяйте, если надо, диск и папку назначения
- в строке File Name введите требуемое имя
- щелкните на Ok
Важное замечание: чтобы запустить вашу прикладную программу на компьютере, где не установлен Visual Basic , сначала надо скопировать файл VB5.dll в каталог Windows /System. Если ваш проект использует файлы специальных средств управления .OCX или .VBX, их тоже надо скопировать в каталог Windows /System.
1. Перед выполнением первой работы создайте на диске свой каталог и в дальнейшем сохраняйте свои проекты в нем;
2. При сохранении проекта обязательно давайте уникальные имена файлам (не соглашайтесь с именами, предложенными по умолчанию), расширение не менять;
3. Имена файла формы и файла проекта могут совпадать;
4. Практические работы выполняйте в указанной последовательности;
5. Имя объекта (Name) должно быть изменено (если это требуется) до создания программного кода для этого объекта
6. В окне программного кода не удалять и не менять строки Private Sub и End Sub
7. Самая распространенная ошибка , возникающая при выполнении приложения
«Run-time error ‘424’» означает, что неверно указано имя объекта в программном коде. В этом случае программу следует остановить, исправить ошибку и загрузить заново.
Тема: Основные объекты управления и их свойства
Цель: Получить навыки работы с объектами командная кнопка, метка, изображение
Порядок выполнения
1. Загрузите Visual Basic
2. Установите на форме Метку и две Командных кнопки
3. Измените свойства объектов в соответствии с таблицей
Объект |
Свойство |
Значение |
Метка |
Name |
LblInfo |
|
Caption |
(отсутствует) |
Командная кнопка |
Name |
CmdOkey |
|
Caption |
O&Key |
Командная кнопка |
Name |
CmdCls |
|
Caption |
&Cls |
4. В окне кода процедуры обработки события Click для объекта cmdOkey набрать
LblInfo.Caption=”ПРИВЕТСТВУЮ ТЕБЯ, МОЙ ДРУГ”
5. В окне кода процедуры обработки события Click для объекта cmdCls набрать
LblInfo.Caption=” ”
6. Загрузите программу, проверьте работу кнопок двумя способами:
- щелчком мышки по кнопкам
- сочетанием клавиш Alt / K, Alt / С (в английском режиме)
7. Остановите программу и измените свойства для кнопок в соответствии с таблицей
Для кнопки CmdOkey |
Style |
1-Graphical |
BackСolor |
(любой цвет) |
|
MousePointer |
99-Custom |
|
MouseIcons |
\Icons\Misc\Face03 |
|
Для кнопки CmdCls |
Style |
1-Graphical |
BackСolor |
(любой цвет) |
|
MousePointer |
99-Custom |
|
MouseIcons |
\Icons\Misc\Face01 |
8. Проверьте работу программы. Остановите программу и измените свойства для кнопок в соответствии с таблицей
Для кнопки CmdOkey |
Picture |
\Icons\Misc\Misc34 |
DownPicture |
\Icons\Misc\Misc36 |
|
Для кнопки CmdCls |
Picture |
\Icons\Misc\Misc06 |
DownPicture |
\Icons\Win95\Waste |
9. Проверьте работу программы. Остановите программу. Добавьте на форму изображение (Image) и измените у него свойство Picture, выбрав любую картинку (которая еще не использовалась в этой программе)
10. Для изображения Image1 добавьте программный код, который копирует картинку на командную кнопку:
cmdOkey.Picture=Image1.Picture
11. В программный код cmdCls_Click() добавьте одну строку, которая убирает в кнопки картинку:
cmdOkey.Picture=LoadPicture
12. Загрузите программу, проверьте работу измененной и созданной процедур.
13. Добавьте на форму еще два изображения и напишите для них программный код для того, чтобы их картинка копировалась на кнопку (самостоятельно)
14. Результат показать преподавателю.
Тема: Основные объекты управления и их свойства
Цель: Получить навыки работы с объектами метка, текстовое окно и рамка
Порядок выполнения
1. Загрузите Visual Basic
2. Установите на форме следующие объекты и измените им свойства
Объект |
Свойство |
Значение |
Метки |
Caption |
Ваше имя |
|
Font |
Размер 10, полужирный |
|
Caption |
Ваша фамилия |
|
Font |
Размер 10, полужирный |
|
Name |
LblHello |
|
Caption |
(отсутствует) |
|
BorderStyle |
1 |
|
Alignment |
2 |
Командные кнопки
|
Name |
CmdHello |
Caption |
Приветствие |
|
Name |
CmdCls |
|
Caption |
Очистить |
|
Текстовые окна |
Name |
TxtFam |
Text |
(отсутствует) |
|
Name |
TxtName |
|
|
Text |
(отсутствует) |
Рамка |
Name |
Frame1 |
Caption |
(отсутствует) |
3.
4. Самостоятельно измените значения свойств Backcolor, ForeColor, Font для меток и текстовых окон
5. В окне кода процедуры обработки события Click для объекта CmdHello набрать
Frame1.Caption = "Приветствую тебя, о мудрейший"
LblHello.Caption = txtFam.Text + " " + txtName.Text
6. В окне кода процедуры обработки события Click для объекта CmdCls набрать
Frame1.Caption = " "
LblHello.Caption = " "
txtName.Text = " "
txtFam.Text = " "
7. Проверьте работу программы на различных входных данных. Остановите работу программы
8. Установите для метки LblHello автоподстройку размера, для этого:
- выделите метку
- установите для свойства AutoSize значение True
9. Проверьте работу.
10. Остановите работу программы. Измените для свойства AutoSize значение False
11. Установите блокировку редактирования для текстового окна TxtFam, для этого:
- выделите текстовое окно
- в окне свойств для свойства Locked установите значение True
12. Проверьте работу программы.
13. Остановите работу программы. Отмените блокировку (самостоятельно)
14. Установите ограничение на количество символов для окна txtName, для этого:
- выделите окно
- в окне свойств для свойства MaxLength установите значение 10
15. Установите разрешение на ввод нескольких строк для поля txtFam, для этого:
- выделите поле
- для свойства MultiLine установите значение True
- для свойства ScrollBars установите значение 1 (2, 3)
16. Проверьте работу программы.
17. Добавьте на форму еще одну метку (LblInfo) и командную кнопку (cmdInfo)
18. В окне кода процедуры обработки события Click для объекта CmdInfo набрать:
LblInfo.Caption = txtFam.SelText
19. Проверьте работу программы:
- введите любой набор символов в поле txtFam ,
- с помощью мышки выделите произвольный фрагмент;
- щелкните по кнопке cmdInfo
20. Измените программу для кнопки cmdInfo
LblInfo.Caption = txtFam. SelLength
21. Проверьте работу программы (см. п. 19)
22. Сделайте еще одно изменение в этой же программе и проверьте работу
LblInfo.Caption = txtFam. SelStart
23. Результат показать преподавателю.
Тема: Основные объекты управления и их свойства
Цель: Получить навыки работы с объектами переключатель, флажок и рамка
Порядок выполнения
1. Загрузите Visual Basic
2. Установите на форме следующие объекты и измените им свойства
Объект |
Свойство |
Значение |
Рамки |
Caption |
Размер шрифта |
|
Font |
Размер 10 |
|
Caption |
Начертание |
|
Font |
Размер 10 |
Переключатели |
Name |
Opt10 |
Caption |
10 |
|
Name |
Opt18 |
|
Caption |
18 |
|
|
Name |
Opt24 |
|
Caption |
24 |
Флажки |
Name |
ChkItalic |
Caption |
Курсив |
|
Name |
ChkBold |
|
|
Caption |
Полужирный |
|
Name |
ChkUnder |
|
Caption |
Подчеркнутый |
Текстовое окно |
Name |
Text1 |
Text |
(отсутствует) |
3. Приведите свою форму в соответствие с образцом
4. Самостоятельно измените значения свойств Backcolor, ForeColor, Font для объектов формы
5. В окне кода процедуры обработки события Click для объекта Opt10 набрать
Text1.FontSize = 10
6. Самостоятельно введите код для других переключателей
7. В окне кода процедуры обработки события Click для объекта ChkItalic набрать
Text1.FontItalic = ChkItalic.Value
8. Самостоятельно введите код для других флажков
9. Проверьте работу программы: введите текст в текстовое окно и отформатируйте его, используя переключатели и флажки
10. Остановите работу программы
11. Установите на форму еще одну рамку «Цвет шрифта», разметите в ней три переключателя:
OptRed Красный
OptBlue Синий
OptGreen Зеленый
12. В окне кода процедуры обработки события Click для объекта OptRed набрать
Text1.ForeColor=vbRed
13. Введите код для других переключателей, используя встроенный константы vbBlue, vbGreen
14. Проверьте работу программы. Остановите работу программы
15. Измените стиль и цвет для переключателей в рамке «Цвет шрифта», для этого:
- выделите переключатель OprRed
- установите для свойства Style значение 1-Graphical
- удалите значение в свойстве Caption у переключателя и уменьшите ширину
- установите для свойства BackColor красный цвет
16. По аналогии измените два других переключателя
17. Измените стиль флажков в рамке «Начертание», для этого:
- выделите флажок ChkItalic
- установите для свойства Style значение 1-Graphical
- удалите значение в свойстве Caption
- для свойства Picture выберите любую иконку (VB\Graphics\Icons\…)
- при необходимости измените размеры флажка
18. По аналогии измените два других флажка (картинки все разные)
19. Проверьте работу программы
20. Результат показать преподавателю.
Тема: Основные объекты управления и их свойства
Цель: Получить навыки работы с объектами горизонтальная и вертикальная прокрутка и линия
Порядок выполнения
1. Загрузите Visual Basic
2. Установите на форме следующие объекты и измените им свойства
Объект |
Свойство |
Значение |
Рамки |
Caption |
Толщина линии |
|
Font |
Размер 10 |
|
Caption |
Стиль линии |
|
Font |
Размер 10 |
Горизонтальные прокрутки |
Name |
Hsb1 |
Left |
500 |
|
Top |
0 |
|
Width |
4000 |
|
Max |
4000 |
|
Min |
500 |
|
LargeChange |
100 |
|
SmallChange |
10 |
|
Name |
Hsb2 |
|
Value |
4000 |
|
Left |
500 |
|
|
Top |
4300 |
|
Width |
4000 |
|
Max |
4000 |
|
Min |
500 |
|
LargeChange |
100 |
|
SmallChange |
10 |
|
Name |
HsbWidth |
|
Max |
10 |
|
Min |
1 |
|
Name |
HsbStyle |
|
Max |
6 |
|
Min |
0 |
Вертикальные прокрутки |
Name |
Vsb1 |
Value |
2000 |
|
Left |
0 |
|
Top |
0 |
|
Height |
4000 |
|
Max |
4000 |
|
Min |
500 |
|
LargeChange |
100 |
|
SmallChange |
10 |
|
Name |
Vsb2 |
|
|
Value |
2000 |
|
Left |
5000 |
|
Top |
0 |
|
Height |
4000 |
|
Max |
4000 |
|
Min |
500 |
|
LargeChange |
100 |
|
SmallChange |
10 |
Линия |
Name |
Line1 |
3. Приведите свою форму в соответствие с образцом
4. В окне кода процедуры обработки события Change набрать
для объекта Vsb1
Line1.Y1 = Vsb1.Value
для объекта Vsb2
Line1.Y2 = Vsb2.Value
для объекта Hsb1
Line1.X1 = Hsb1.Value
для объекта Hsb1
Line1.X2 = Hsb2.Value
для объекта HsbStyle
Line1.BorderStyle = HSbStyle.Value
для объекта HsbWidth
Line1.BorderWidth = HSbWidth.Value
5. Проверьте работу программы, изменяя значения на прокрутках несколькими способами:
- щелчок по одной из стрелок на концах линейки прокрутки;
- перемещение «бегунка»
- щелчок внутри линейки прокрутки
6. Результат показать преподавателю.
Тема: Основные объекты управления и их свойства
Цель: Получить навыки работы с объектами фигура, закрепить навыки работы с объектами переключатель, флажок, прокрутка
Порядок выполнения
7. Загрузите Visual Basic
8. Установите на форме следующие объекты и измените им свойства
Объект |
Свойство |
Значение |
Рамки |
Caption |
Выбери фигуру |
|
Caption |
Ширина границы фигуры |
|
Caption |
Стиль заполнения фигуры |
|
Caption |
Стиль границ |
|
Caption |
Цвет границ |
Переключатели |
Name |
Opt1 |
Caption |
Прямоугольник |
|
Name |
Opt2 |
|
Caption |
Квадрат |
|
|
Name |
Opt3 |
|
Caption |
Овал |
|
Name |
Opt4 |
Caption |
Окружность |
|
Name |
Opt5 |
|
|
Caption |
Прямоугольник с закругленными углами |
Горизонтальные прокрутки |
Name |
HsbWidth |
Max |
20 |
|
Min |
1 |
|
Name |
HsbFillSt |
|
Max |
7 |
|
Min |
0 |
|
Name |
HsbBorderSt |
|
Max |
6 |
|
Min |
0 |
|
Name |
HsbRed |
|
Max |
255 |
|
Min |
0 |
|
Name |
HsbBlue |
|
Max |
255 |
|
Min |
0 |
|
Name |
HsbGreen |
|
|
Max |
255 |
|
Min |
0 |
Фигура |
Name |
Shape1 |
9. Приведите свою форму в соответствие с образцом
10. Самостоятельно измените значения свойств, Font для объектов формы
11. В окне кода процедуры обработки события Change для объектов HSred , HsbBlue, HsbGreen набрать
Shape1.BorderColor = RGB(HSred.Value, HSgreen.Value, HSBlue.Value)
12. В окне кода процедуры обработки события Click для объекта Opt1 набрать
Shape1.Shape = 0
13. Самостоятельно введите код для других переключателей, меняя только число:
Квадрат 1
Овал 2
Окружность 3
Прямоугольник с закругленными углами 5
14. В окне кода процедуры обработки события Change для объекта HsbWidth набрать
Shape1.BorderWidth = HsbWidth.Value
15. Самостоятельно введите код для прокруток, которые меняют стиль заполнения фигуры и стиль границ
16. Проверьте работу программы
17. Результат показать преподавателю.
Тема: Основные объекты управления и их свойства
Цель: Получить навыки работы с объектами изображение, картинка, таймер
Порядок выполнения
1. Загрузите Visual Basic
2. Установите на форме следующие объекты и измените им свойства
Объект |
Свойство |
Значение |
Рамки |
Caption |
Перемещение |
|
Font |
Размер 10 |
|
Caption |
Изменение размера |
|
Font |
Размер 10 |
Командные кнопки |
Name |
CmdLeft1 |
Style |
1-Graphical |
|
Picture |
Vb\Graphics\Icons\Arrows\Arrw04lt |
|
Caption |
(отсутствует) |
|
|
Name |
CmdTop1 |
|
Style |
1-Graphical |
|
Picture |
Vb\Graphics\Icons\Arrows\Arrw04up |
|
Caption |
(отсутствует) |
|
Name |
CmdLeft2 |
|
Style |
1-Graphical |
|
Picture |
Vb\Graphics\Icons\Arrows\Arrw04rt |
|
Caption |
(отсутствует) |
|
Name |
CmdTop2 |
|
Style |
1-Graphical |
|
Picture |
Vb\Graphics\Icons\Arrows\Arrw04dn |
|
Caption |
(отсутствует) |
|
Name |
CmdWidth |
Style |
1-Graphical |
|
Picture |
Vb\Graphics\Cursors\Ve_sizebt |
|
Caption |
(отсутствует) |
|
Name |
CmdHeight |
|
Style |
1-Graphical |
|
Picture |
Vb\Graphics\Cursors\Ho_sizeb |
|
Caption |
(отсутствует) |
|
Изображение |
Name |
ImgMain |
|
Picture |
Vb\Graphics\Icons\Misc\Face03 |
3.
4. В окне кода процедуры обработки события Click набрать
для объекта cmdLeft1
ImgMain.Left = ImgMain.Left – 100
для объекта cmdTop1
ImgMain.Top = ImgMain.Top - 100
для объектов cmdLeft2, cmdTop2 (самостоятельно)
для объекта cmdWidth
ImgMain.Width = ImgMain.Width + 100
для объекта cmdHeight
ImgMain.Height = ImgMain.Height + 100
5. Проверьте работу программы(обратите внимание, что размеры картинки не меняются)
6. Остановите программу, измените для объекта imgMain значение True для свойства Stretch
7. Проверьте работу программы еще раз.
8. В окне кода процедуры обработки события Click для объекта imgMain введите код, который уменьшает высоту и ширину изображения (самостоятельно)
9. Добавьте на форму следующие объекты и измените им свойства
Объект |
Свойство |
Значение |
Картинка |
Name |
PicMain |
|
Picture |
Любой файл из Vb\Graphics\Metafile\Arrows\ |
|
Height |
1000 |
|
Width |
1000 |
|
AutoSize |
False |
Командные кнопки |
Name |
CmdStart |
Caption |
Старт |
|
Name |
CmdStop |
|
Caption |
Стоп |
|
|
Name |
Cmd1 |
|
Caption |
Показать |
Таймер |
Name |
Timer1 |
|
Interval |
0 |
10. В окне кода процедуры обработки события Click набрать
для объекта cmdStart
Timer1.Interval = 1000
для объекта cmdStop
Timer1.Interval = 0
для объекта cmd1
picMain.Visible = True
для объекта PicMain
picMain.Visible = False
11. В окне кода процедуры обработки события Timer для объекта Timer1 набрать
picMain.Left = Rnd * 6000
picMain.Top = Rnd * 5000
12. Проверить работу программы: (при щелчке по картинке, она становится невидимой)
13. Результат показать преподавателю.
Тема: Основные объекты управления и их свойства
Цель: Получить навыки работы с объектами список и комбинированный список
Порядок выполнения
1. Загрузите Visual Basic
2. Установите на форме следующие объекты и измените им свойства
Объект |
Свойство |
Значение |
Рамка |
Caption |
Выбранная запись и ее номер |
|
Font |
Размер 10 |
Метки |
Name |
Lbl1 |
Caption |
(отсутствует) |
|
Name |
Lbl2 |
|
Caption |
(отсутствует) |
|
Список |
Name |
LstFruct |
List
|
Груша Слива Персик Ананас Вишня Апельсин Лимон Мандарин |
|
Sorted |
True |
|
|
Height |
1000 |
|
Style |
0-Standard |
3. Приведите свою форму в соответствие с образцом
4. Самостоятельно измените значения свойств Backcolor, ForeColor, Font для объектов формы
5. В окне кода процедуры обработки события Click для объекта LstFruct набрать
Lbl2.Caption = LstFruct.ListIndex
Lbl1.Caption = LstFruct.Text
6. Проверьте работу созданной программы (обратите внимание, что список отсортирован и нумерация элементов списка начинается с нуля).
7. Остановите программу, установите для объекта LstFruct значение 1-CheckBox для свойства Style и проверьте работу программы.
8. Добавьте на форму следующие объекты и измените им свойства
Объект |
Свойство |
Значение |
Рамка |
Caption |
Количество записей в списке |
|
Font |
Размер 10 |
Метка |
Name |
Lbl3 |
Caption |
(отсутствует) |
|
Комбинированный список |
Name |
CboProduct |
List |
Хлеб Молоко Сыр Сметана Масло Творог |
|
Sorted |
False |
|
|
Width |
1000 |
|
Style |
0-DropDown Combo |
|
Text |
(отсутствует) |
Командные кнопки |
Name |
CmdAdd |
|
Caption |
Добавить |
|
Name |
CmdDel |
|
Caption |
Удалить |
9.
10. В окне кода процедуры обработки события Click для объекта CmdAdd набрать
CboProduct.AddItem CboProduct.Text
Lbl3.Caption = CboProduct.ListCount
11. В окне кода процедуры обработки события Click для объекта CmdDel набрать
n = CboProduct.ListIndex
CboProduct.RemoveItem n
Lbl3.Caption = CboProduct.ListCount
12. Проверьте работу программы
13. Результат показать преподавателю.
При выполнении ниже приведенных заданий должны быть выполнены следующие требования:
- форма приложения должна полностью соответствовать приведенному образцу;
- имена объектов управления должны иметь трехбуквенный префикс в соответствии с типом объекта;
- проект должен быть сохранен;
- после разработки приложения создать исполняемый файл.
Разработать приложение, которое в зависимости от выбранного переключателя в группе «Метод платежа» отображает в окне приложения только одну из следующих групп переключателей:«Наличными» или «Кредитная карта»
Разработать приложение, позволяющее добавлять и удалять фамилии студентов в список, а также выводить в метку выбранные значения из трех списков (при щелчке по командной кнопке). Значения для списков «Студенты», «Список экзаменов», «Оценка» сформировать на стадии проектирования
Разработать приложение, позволяющее с помощью списков «Фирма», «Цвет», «Исполнение», «Тип кузова» и полосы прокрутки дать описание модели автомобиля. Выбранные значения должны отображаться в метке по щелчку по кнопке «Зафиксировать» .
Значения списков формируются на стадии проектирования.
Разработать приложение, которое с помощью полос прокруток позволяет менять высоту и ширину изображения.
Разработать приложение, позволяющее при щелчке по одному из изображений выводить сообщение о его назначении.
Разработать приложение, позволяющее менять режимы работы текстового окна и метки с помощью групп соответствующих флажков.
Разработать приложение, позволяющее с помощью командных кнопок перемещать линию в выбранном направлении.
Разработать приложение, позволяющее с помощью группы флажков отображать или не отображать элементы управления в окне приложения..
1. Росс Нельсон, Running Visual Basic 3 for Windows, пер. с англ. – М.: Издательский отдел «Русская Редакция» ТОО «Channel Trading Ltd.», 1995
2. Кауэлл Дж.Visual Basic 4.0: просто - о самом существенном, Пер. с англ. - М. :ИНФРА-М, 1998.
3. Волченков Н.Г. Учимся программировать: Visual Basic 5, - М.:»Диалог-МИФИ», 1998
4. Волченков Н.Г, Программирование на Visual Basic 6 в 3-х ч., М.:ИНФРА-М, 2000
5. Visual Basic 6.0, Руководство для профессионалов, пер. с англ.- СПб.:БХВ – Санкт-Петербург, 1999
Использование цветов
Существует три практических пути управления цветом.
Функция QBColor
Visual Basic поддерживает 16 предопределенных цветов, что сделано, главным образом, для совместимости с более ранними версиями языка. Эти цвета могут быть указаны с помощью функции QBColor(значение). Значение является целым числом от 0 до 16
Значение |
Цвет |
0 |
Черный |
1 |
Синий |
2 |
Зеленый |
3 |
Циан |
4 |
Красный |
5 |
Фиолетовый |
6 |
Желтый |
7 |
Белый |
8 |
Серый |
9 |
Светло-синий |
10 |
Светло-зеленый |
11 |
Светло-циан |
12 |
Светло-красный |
13 |
Светло-фиолетовый |
14 |
Светло-желтый |
15 |
Светло-белый |
Функция RGB
Экранные цвета могут определяться сочетанием их красного, зеленого и синего компонентов с помощью функции RGB(красный, зеленый, синий)
Красный – интенсивность красного компонента;
Зеленый – интенсивность зеленого компонента;
Синий – интенсивность синего компонента;
Интенсивность выражается целым числом от 0 до 255. Меньшее значение указывает на меньшую интенсивность компонента.
Назначение цвета напрямую
Visual Basic для определения цвета позволяет использовать встроенные константы, которые представляют собой число.
Имя константы |
Цвет |
Шестнадцатеричное значение |
VbBlack |
Черный |
0 |
VbRed |
Красный |
FF |
VbGreen |
Зеленый |
FF00 |
VbYellow |
Желтый |
FFFF |
VbBlue |
Синий |
FF0000 |
VbMagenta |
Фиолетовый |
FF00FF |
VbCyan |
Циан |
FFFF00 |
VbWhite |
Белый |
FFFFFF |
В нашем каталоге доступно 74 808 рабочих листов
Перейти в каталогПолучите новую специальность за 2 месяца
Получите профессию
за 6 месяцев
Пройти курс
Рабочие листы
к вашим урокам
Скачать
Выбранный для просмотра документ VB Лабораторный практикум 2 часть.doc
Государственное бюджетное образовательное учреждение
высшего профессионального образования Московской области
«Международный университет природы, общества и человека «Дубна»
(Университет «Дубна»)
Филиал ДИНО университета «Дубна»
ЛАБОРАТОРНЫЙ ПРАКТИКУМ
2 часть
Visual Basic. Основы программирования
Теория
Лабораторно-практические работы
Задания для самостоятельного выполнения
Дмитров 2012
Автор:
Живодерова Валентина Викторовна – преподаватель спецдисциплин филиала ДИНО университета «Дубна».
Лабораторный практикум предназначен для проведения лабораторно-практических работ при изучении языка программирования Visual Basic в общеобразовательных и профессиональных образовательных учреждениях , а также для самостоятельного изучения.
В пособии использованы материалы отечественных и переводных книг по Visual Basic, а так же автором обобщен личный опыт преподавания данного языка.
Предисловие............................................................................................................................................................................................ 4
Данные, Выражения, Функции............................................................................................................................................... 5
Данные в Visual Basic............................................................................................................................................................................. 5
Типы данных............................................................................................................................................................................................. 5
Константы............................................................................................................................................................................................... 5
Переменные............................................................................................................................................................................................... 6
Область видимости переменных........................................................................................................................................................ 6
Присвоение значения переменной....................................................................................................................................................... 7
Выражения и функции............................................................................................................................................................................. 8
Арифметическое выражение.............................................................................................................................................................. 8
Логическое выражение.......................................................................................................................................................................... 8
Строковое выражение.......................................................................................................................................................................... 8
Встроенные математические функции........................................................................................................................................... 9
Финансовые функции.............................................................................................................................................................................. 9
Функции обработки строк................................................................................................................................................................... 9
Функции даты и времени...................................................................................................................................................................... 9
Системные функции............................................................................................................................................................................ 10
Функции преобразования типов........................................................................................................................................................ 10
Функции для работы с графикой...................................................................................................................................................... 10
Лабораторно-Практические работы.............................................................................................................................. 11
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА №1.......................................................................................................................... 12
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 2......................................................................................................................... 14
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 3......................................................................................................................... 16
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 4......................................................................................................................... 18
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 5......................................................................................................................... 20
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 6......................................................................................................................... 22
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 7......................................................................................................................... 24
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 8......................................................................................................................... 26
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 9......................................................................................................................... 28
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 10....................................................................................................................... 30
Задания для самостоятельного выполнения.................................................................................................... 31
Задание № 1............................................................................................................................................................................................... 31
Задание № 2............................................................................................................................................................................................... 31
Задание № 4............................................................................................................................................................................................... 31
Задание № 5............................................................................................................................................................................................... 31
Задание № 6............................................................................................................................................................................................... 31
Задание № 7............................................................................................................................................................................................... 32
Задание № 8............................................................................................................................................................................................... 32
Задание № 9............................................................................................................................................................................................... 33
Задание № 10............................................................................................................................................................................................. 33
Список использованной литературы......................................................................................................................... 34
Язык программирования Visual Basic все шире используется в российском образовании. Одна из проблем, с которыми сталкивается преподаватель, работающий с этим языком, - недостаток методической литературы. Данное учебное пособие может быть полезно преподавателям и учащимся, (подготовленным пользователям) изучающим объектно-ориентированное программирование на языке Visual Basic, а также может использоваться при проведении факультативных и кружковых занятиях в средних учебных заведениях. Опыт работы с другими языками программирования не обязателен, хотя, конечно, полезен.
Цель данного пособия – предоставить пользователю систематическое и наглядное изложение примеров разработки приложений под Windows.
Учебное пособие ( часть 2 )состоит из трех основных разделов:
1. Теория
В этом разделе рассматриваются такие важные понятия, как переменная, значение переменной, стандартные типы данных, встроенные функции и оператор присвоения. Этот материал не претендует на полное изложение, его следует рассматривать, скорее всего, как справочную информацию, которая позволит эффективно выполнять практические работы.
2. Лабораторно-практические работы по темам:
Каждая работа содержит подробное пошаговое описание действий по созданию программного проекта. При оценке выполнения практических работ следует обращать внимание на точное выполнение всех предписаний в работе.
3. Задания для самостоятельного выполнения
Самостоятельное выполнение заданий позволяет закрепить навыки работы учащихся в среде Visual Basic Преподаватель может использовать их в качестве контрольных работ.
Как работать с пособием.
Для правильной работы необходимо иметь:
- Операционную систему Windows 95 или более поздней версии;
- Visual Basic 5.0. и выше;
- Процессор Pentium 166 MHz и выше;
- 5 MB HDD и более;
- Драйвер CD ROM;
- Монитор VGA или более высокого разрешения;
- 16 MB RAM;
- Мышь.
При установке Visual Basic на учебный компьютер должны быть включена библиотека рисунков и значков Graphics.
Использованию данного учебного пособия должно предшествовать изучение теоретического материала по тематике практических работ.
Перед выполнением первой практической работы учащийся должен создать свою папку на диске и в дальнейшем свои приложения сохранять в ней.
Контроль правильности выполнения практических работ и заданий для самостоятельного выполнения осуществляет преподаватель в режиме проектирования и в режиме выполнения.
Любая программа выполняет обработку данных. Данные могут быть постоянными величинами ( константы ) и переменными величинами. Переменные и постоянные величины должны быть отнесены к какому-либо типу данных. В Visual Basic существует набор стандартных типов данных, кроме того можно объявить свой собственный тип данных.
Типом данных называется способ хранения и представления данных в компьютерной системе. Стандартные типы данных, поддерживаемые языком Visual Basic , приведены в таблице.
Тип данных |
Диапазон значений |
Объем занимаемой памяти |
Integer (целое) |
от -32768 до 32767 |
2 байта |
Long (длиное целое) |
от –2147483648 до 2147483647 |
4 байта |
Byte (короткое целое число) |
от 0 до 255 |
1 байт |
Boolean (булево) |
False, True |
2 байта |
Single (десятичное обычной точности) |
от 1,41 Е-45 до 3,4 Е+38 (по модулю) |
4 байта |
Double (десятичное двойной точности) |
от 4,95 Е-324 до 1,79 Е+308 (по модулю) |
8 байт |
String (строка) |
Строка любых символов |
1 байт на каждый символ |
Object (объект) |
Ссылка на объект |
4 байта |
Variant (произвольный) |
|
16 байт (числ. тип) 22 байта +длина строки (строковый тип) |
Date (дата)
|
Значения даты и времени диапазон от 01 янв. 100 г до 31 дек. 9999г. |
8 байт |
Currency Десятичное протяженное |
Значением является число до 15 знаков до десят.точки до 4 знаков после точки. |
8 байт |
Константы – это такие величины, которые в процессе выполнения программы не изменяют своих значений. Visual Basic имеет целый ряд внутренних (системных ) констант, которые имеют префикс vb. В качестве примера -Таблица констант дней недели
Имя константы |
Значение |
VbSunday |
1 |
VbMonday |
2 |
VbTuesday |
3 |
VbWednesday |
4 |
VbThursday |
5 |
VbFriday |
6 |
VbSaturday |
7 |
Константы, определяющие цвет, смотрите в приложении Учебного пособия часть 1
Константа VbTab делает промежутки при выводе информации.
Подробно константы системы Visual Basic перечислены в библиотеках объектов VB и VBA в окне Object Browser (просмотр объектов)
Переменные величины при выполнении программы могут свои значения изменять. Переменная имеет имя. Правила формирования имени переменной:
- имя начинается с буквы; остальные символы – буквы и цифры, можно использовать знак подчеркивания «_»;
- имя не должно содержать точки;
- длина имени не более 255 символов;
- имя должно быть уникальным в пределах данной процедуры;
- выбирать имя лучше так, чтобы оно несло информацию о назначении переменной;
- имя не должно быть ключевым словом Visual Basic.
Visual Basic не требует обязательного объявления переменной перед ее использованием. Если переменная не объявлена, Visual Basic использует тип данных, заданный по умолчанию - Variant. Этот тип может содержать любую информацию. Частое использование этого типа для хранения информации имеет два существенных недостатка – влечет лишнюю трату ресурсов памяти и может привести к непредсказуемому поведению заданных по умолчанию значений. Поэтому все же лучше объявлять переменные перед их использованием.
Объявление типа переменной означает команду установить границы значений переменной, которые определяются ее типом. Команда записывается с помощью программного кода. Существует несколько способов объявления типа переменной.
1 способ. Объявление типа с помощью суффикса
К имени переменной приписывается один из следующих суффиксов:
Суффикс |
% |
& |
! |
# |
$ |
@ |
Тип |
Integer |
Long |
Single |
Double |
String |
Currency |
2 способ. Объявление типа с помощью оператора описания типа
Dim ИмяПеременной As ТипПеременной
Dim, As- это ключевые слова Visual Basic.
При объявлении переменных следует учитывать следующее: переменная, объявленная в процедуре, инициализируется каждый раз, когда происходит вызов этой процедуры. Чтобы переменная сохраняла свое старое значение при повторном обращении к процедуре, при ее описании надо использовать ключевое слово Static (статическая):
Static ИмяПеременной As ТипПеременной
Переменные могут быть объявлены в модулях, формах или процедурах.
- Переменная, объявленная в процедуре, доступна для использования только в пределах этой процедуры (локальная ), даже если она была объявлена как Static;
- Переменная, объявленная в General Declarations (раздел общих объявлений ) формы доступна в пределах всей формы.
- Область видимости переменных, объявленных на уровне модуля, зависит от ключевых слов, использованных при объявлении.
- Если переменная объявлена посредством Dim, область видимости – модуль.
- Если переменная объявлена посредством ключевого слова Public, область ее видимости – вся программа ( переменная - глобальная).
Для присвоения переменной некоторого значения используется оператор присвоения.
Общий вид оператора присвоения:
[ Let ] ИмяПеременной=ЗначениеПеременной
Ключевое слово Let в квадратных скобках может отсутствовать.
ЗначениеПеременной – это либо константа или выражение, значение которого должно быть вычислено. В том и другом случае это значение должно находиться в диапазоне возможных значений для данного типа переменной.
Арифметическое выражение – это последовательность чисел, констант, переменных, числовых функций, которые соединены между собой знаками арифметических действий (см. табл.).
Операция |
Описание операции |
A ^ B |
Возведение А в степень В |
- A |
Перемена знака А |
A * B |
Умножение А на В |
A / B |
Деление А на В |
A \ B |
Целая часть от деления А на В |
A Mod B |
Остаток от деления А на В |
A + B |
Сложение А с В |
A - B |
Вычитание В из А |
Логическое выражение – это последовательность символьных, числовых констант и переменных, математических и строковых функций, которые соединены между собой знаками сравнения и знаками логических операций (см. табл.). Логическое выражение принимает только два значения: истина ( True ) и ложь ( False ).
Знак сравнения |
Действие |
|
Знак логической операции |
Действие |
= |
Равно |
|
And |
Логическое «И» |
< |
Меньше |
|
Eqv |
Эквивалентность |
> |
Больше |
|
Imp |
Импликация |
<= |
Меньше или равно |
|
Or |
Логическое «ИЛИ» |
>= |
Больше или равно |
|
Xor |
Исключающее «ИЛИ» |
<> |
Не равно |
|
Not |
Логическое «НЕ» |
Строковое выражение – это последовательность символьных констант, переменных, символьных функций и знака присоединения «+» (конкатенации)
Функция – это процедура, которая выполняет и возвращает значение. Общий вид обращения к функции:
ИмяФункции ( СписокАргументовФункции )
ИмяФункции - это либо имя уже имеющейся в языке (встроенной) функции, либо имя функции, определяемой программистом.
АргументФункции – это либо константа, либо переменная, либо выражение.
Функция |
Значение функции |
Abs ( x ) |
Абсолютная величина числа х |
Cint ( x ) |
Целое число, ближайшее к числу х |
Fix ( x ) |
Целое число, равное числу х без дробной части |
Int ( x ) |
Наибольшее целое число, не превышающее х |
Sqr ( x ) |
Квадратный корень из х |
Sin ( x ) |
Синус |
Cos ( x ) |
Косинус |
Tan ( x ) |
Тангенс |
Atn ( x ) |
Арктангенс |
Rnd |
Псевдослучайное число от 0 до 1 |
Функция |
Значение функции |
Pmt ( проц.ставка, число выплат, кредит) |
Периодическая выплата |
PV ( проц.ставка, число выплат, выплата ) |
Кредит |
Rate ( число выплат, выплата, кредит ) |
Процентная ставка, отнесенная на период выплаты |
Функция |
Значение функции |
InStr ( строка, подстрока ) |
Позиция подстроки в строке |
Lcase ( строка ) |
Строка со строчными буквами |
Left ( строка, длина ) |
Левая подстрока данной длины |
Len ( строка ) |
Длина строки |
Mid ( строка, позиция, длина ) |
Подстрока данной длины, начиная с данной позиции |
Right ( строка, длина ) |
Правая подстрока данной длины |
Trim ( строка ) |
Строка без первых и последних пробелов |
Ucase ( строка ) |
Строка с прописными буквами |
Функция |
Значение функции |
Time |
Текущее системное время |
Timer |
Число прошедших с полуночи секунд |
Now |
Системная дата и время |
Date |
Системная дата |
Month ( дата ) |
Номер месяца |
Year ( дата ) |
Год |
Day |
День |
WeekDay(дата) |
Номер дня недели (воскресенье – 1 и т.д) |
Функция |
Значение функции |
InputBox ( Приглашение[, Заголовок] [, НачЗначение ] [,X] [,Y])
Предназначена для ввода данных пользователем через системное окно X,Y – координаты левого верхнего угла окна |
Введенный пользователем текст |
MsgBox ( Сообщение [ , Опция, Заголовок ] )
Предназначена для вывод сообщения через системное окно
Опция определяет набор кнопок и вид пиктограммы в окне сообщения 0 Ok 1 Ok, Отмена 2 Стоп, Повтор, Пропустить 3 Да, Нет, Отмена 4 Да, Нет 5 Повтор, Отмена 16 критическое сообщение 32 вопрос 48 предупреждение 64 информация |
Целое число, определяющее какая из кнопок Окна сообщения была нажата 1 (VbOk) Ок 2 (VbCancel) Отмена 3 (VbAbort) Стоп 4 (VbRetry) Повтор 5 (VbIgnore) Пропустить 6 (VbYes) Да 7 (VbNo) Нет |
Функция |
Значение функции |
Asc ( строка ) |
Код ASCII первого символа строки |
Chr ( код ASCII ) |
Символ, соответствующий коду |
CInt ( строка цифр или число ) |
Целое число |
Val ( строка ) |
Число |
Str ( число ) |
Строка |
CDate(выражение) |
Выражение типа Date |
CBool(выражение) |
Выражение типа Boolean |
CByte(выражение) |
Выражение типа Byte |
CCur(выражение) |
Выражение типа Currency |
CDbl(выражение) |
Выражение типа Double |
CInt(выражение) |
Выражение типа Integer |
CLng(выражение) |
Выражение типа Long |
Функция |
Значение функции |
LoadPicture ( строка-путь к графическому файлу ) |
Содержимое графического файла |
QBColor ( число от 0 до 15 ) |
Цвет |
RGB ( N1, N2, N3 )
N1 – интенсивность красного цвета (от 0 до 255) N2 - интенсивность зеленого цвета (от 0 до 255) N3 - интенсивность синего цвета (от 0 до 255) |
Цвет |
1. Выполнение предложенных работ целесообразно проводить после проработки практических работ и заданий для самостоятельного выполнения из 1 части учебного пособия;
2. Перед выполнением конкретной работы необходимо изучить теоретический материал по тематике работы;
3. Практические работы выполняйте в указанной последовательности;
4. После выполнения каждой работы сформулируйте для себя назначение созданного проекта, а также разберитесь с назначением каждой команды программного кода.
Тема: Типы данных
Цель работы: получить навыки использования в программе различных типов данных
Порядок выполнения
1. Откройте новый проект и установите на форме командную кнопку( Name – Cmd1, Caption – Пример 1), переместите ее в правый верхний угол формы.
2. В окне кода процедуры обработки события Click для объекта Cmd1 набрать
Dim X As Integer, Y As Integer
X = 5 / 2: Y = 10 / 3: Z = X / Y
Print X, Y, Z
3. Проверьте работу программы, прокомментируйте значения переменных X,Y
4. Измените программу, добавив после первой строки
Dim Z As Currency
5. Проверьте работу программы, прокомментируйте значение переменной Z
6. Измените программу, удалив строки объявления всех переменных (или поставьте знак комментария – апостроф перед оператором Dim
7. Проверьте работу программы, прокомментируйте значения всех переменных
8. Добавьте на форму командную кнопку( Name – Cmd2, Caption – Пример 2), переместите ее в правый верхний угол формы и в окне кода процедуры обработки события Click для объекта Cmd2 набрать
Dim S As Integer
S = 10 ^ 5
Print S
9. Проверьте работу второй кнопки, объясните причину вывода сообщения об ошибке
10. Остановите работу программы и предложите два способа , позволяющие вычислить требуемое значение без ошибок. Результат показать преподавателю.
11.
12. Для командной кнопки Вычислить набрать программный код
Dim x1, x2, x3
Dim z As Currency
Dim a As Double
Dim b As Currency
x1 = Val(TxtTonn.Text)
x2 = Val(TxtKg.Text)
x3 = Val(TxtGram.Text)
z = Val(TxtZena.Text)
a = (x1 * 1000000 + x2 * 1000 + x3) * z
b = (x1 * 1000000 + x2 * 1000 + x3) * z
LblItog1.Caption = a
LblItog2.Caption = b
13. Проверьте работу программы на предложенных входных данных (см. образец). Объясните, значение какой переменной будет ближе к точному значению (точное значение найти вручную с помощью программы Калькулятор)
Тема: Ввод, вывод и присвоение в программе
Цель работы: получить навыки разработки приложений для вычислительных задач
Порядок выполнения
1. Загрузите графический редактор Paint. 1 часть
2. Выберите в меню программы Рисунок / Атрибуты
3. В появившемся окне установите Единицы см, Ширина 6, Высота 3., нажмите Ок
4. Используя инструментарий программы нарисуйте параллелепипед с обозначением сторон и сохраните свой рисунок.
5. Закройте программу Paint
6. Загрузите Visual Basic
7. Установите на форме следующие объекты и измените им свойства
Объект |
Свойство |
Значение |
Метки |
Caption |
Объем коробки вычисляется по формуле |
|
Caption |
V=A*B*H |
|
Caption |
Длина |
|
Caption |
Ширина |
|
Caption |
Высота |
|
Caption |
Объем |
Командная кнопка
|
Name |
CmdResult |
Caption |
Определение объема |
|
Текстовые окна |
Name |
Text1 |
Name |
Text2 |
|
Name |
Text3 |
|
Name |
Text4 |
|
Изображение |
Name |
Image1 |
Picture |
(созданный Вами рисунок) |
8. Приведите свою форму в соответствие с образцом
9. В окне кода процедуры обработки события Click для объекта CmdResult набрать
Dim a,b,h,v As Integer
a = Val(Text1.Text)
b = Val(Text2.Text)
h = Val(Text3.Text)
v = a * b * h
Text4.Text = v
10. Проверьте работу программы на различных входных данных
2 часть
11. Откройте новый проект, на форме расположите объекты и измените для них свойства:
Объект |
Свойство |
Значение |
Командные кнопки |
Caption |
Обмен значениями |
|
Name |
Cmd1 |
|
Caption |
Обмен шрифтами |
|
Name |
Cmd2 |
|
Caption |
Обмен начертанием |
|
Name |
Cmd3 |
Текстовые окна |
Name |
Text1 |
Font |
14, Полужирный, Ms Serif |
|
ForeColor |
Черный |
|
Text |
Это левое поле |
|
Name |
Text2 |
|
|
Font |
14, Курсив, Garamond |
|
ForeColor |
Красный |
|
Text |
Это правое поле |
12.
13. В окне кода процедуры обработки события Click для объекта Cmd1 набрать
Dim stroka1 As String, stroka2 As String
stroka1 = Text1.Text : stroka2 = Text2.Text
Text1.Text = stroka2 : Text2.Text = stroka1
14. В окне кода процедуры обработки события Click для объекта Cmd2 набрать
Dim stroka1 As String, stroka2 As String
stroka1 = Text1.FontName : stroka2 = Text2.FontName
Text1.FontName = stroka2 : Text2.FontName = stroka1
15. В окне кода процедуры обработки события Click для объекта Cmd3 набрать
Dim stroka1 As Boolean, stroka2 As Boolean
'полужирный
stroka1 = Text1.FontBold : stroka2 = Text2.FontBold
Text1.FontBold = stroka2 : Text2.FontBold = stroka1
'курсив
stroka1 = Text1.FontItalic : stroka2 = Text2.FontItalic
Text1.FontItalic = stroka2 : Text2.FontItalic = stroka1
16. Проверьте работу программы. Объясните, почему объявленные переменные имеет различный тип в процедурах.
17. Добавьте командную кнопку на форму и разработайте программу для нее для обмена цветом шрифта между окнами (самостоятельно)
Тема: Ввод, вывод и присвоение в программе
Цель работы: получить навыки разработки приложений для вычислительных задач
Порядок выполнения
1. Расположите на форме следующие объекты и измените для них свойства:
Объект |
Свойство |
Значение |
Рамка |
Caption |
Введите X и Y |
Текстовое окно |
Name |
TxtX |
Text |
(отсутствует) |
|
Текстовое окно |
Name |
TxtY |
Text |
(отсутствует) |
|
Линейка прокрутки |
Name |
HSX |
Max |
1000 |
|
Min |
0 |
|
Линейка прокрутки |
Name |
HSY |
Max |
100 |
|
Min |
0 |
|
Рамка |
Caption |
Результат |
Метка |
Name |
LblResult |
Caption |
(отсутствует) |
|
Командные кнопки
|
Name Caption |
CmdPlus + |
Name Caption |
CmdMinus - |
|
Name Caption |
CmdDel / |
|
Name Caption |
CmdMul * |
2. Для текстовых окон и метки установите выравнивание по центру (свойство Alignment)
3. Для всех объектов, кроме прокруток, увеличьте размер шрифта (свойство Font)
4. Приведите свою форму в соответствии с образцом.
5. В разделе общих объявлений набрать
Dim X,Y As Integer
6. В окне кода процедуры обработки события Change для объекта HSX набрать:
TxtX.Text = HSX.Value
а для объекта HSY набрать
TxtY.Text = HSY.Value
7. В окне кода процедуры обработки события Click для объекта CmdРlus набрать
x = Val(TxtX.Text)
y = Val(TxtY.Text)
LblResult.Caption = x + y
8. Загрузите программу и проверьте работу кнопки «+» (ввод значений для X и Y выполните двумя способами: с клавиатуры и с помощью прокруток)
9. Остановите программу. Напишите программный код для остальных командных кнопок (самостоятельно)
10. Добавьте на форму несколько командных кнопок для вычисления следующих значений:
Sin ( X ) + Cos ( Y ); ; Tg ( X ) 2 - | Y |
11. Результат показать преподавателю.
Тема: Встроенные функции
Цель работы: получить навыки использования математических функций
Порядок выполнения
1. Откройте новый проект, расположите на форме следующие объекты и измените для них свойства:
Объект |
Свойство |
Значение |
Рамка |
Caption |
Случайное число от 0 до10 |
Текстовое окно |
Name |
TxtX |
Text |
(отсутствует) |
|
Рамка |
Caption |
Sin(X) |
Метка |
Name |
LblSin |
Caption |
(отсутствует) |
|
BorderStyle |
1 |
|
Командная кнопка
|
Name Caption |
CmdResult Вычислить |
Рамка |
Caption |
Cos(X) |
Метка |
Name |
LblCos |
Caption |
(отсутствует) |
|
BorderStyle |
1 |
|
Рамка |
Caption |
Tn(X) |
Метка |
Name |
LblTan |
Caption |
(отсутствует) |
|
BorderStyle |
1 |
|
Рамка |
Caption |
Квадратный корень |
Метка |
Name |
LblSqr |
Caption |
(отсутствует) |
|
BorderStyle |
1 |
|
Рамка |
Caption |
X^2 |
Метка |
Name |
Lbl_2 |
Caption |
(отсутствует) |
|
BorderStyle |
1 |
2.
3. В окне кода процедуры обработки события Click для объекта CmdResult набрать:
x = Rnd * 10
txtX.Text = x
LblSin.Caption = Sin(x)
LblCos.Caption = Cos(x)
LblTan.Caption = Tan(x)
LblSqr.Caption = Sqr(x)
Lbl_2.Caption = x ^ 2
4. Загрузите программу и проверьте ее работу
5. Самостоятельно измените форму и программный код для:
- изменения интервала случайного числа от 0 до 50
- получения целого случайного числа от 10 до 100
- определения остатка от деления числа Х на 2
6. Результат показать преподавателю.
Тема: Встроенные функции
Цель: Получить навыки использования функций обработки строк
Порядок выполнения
1. Откройте новый проект, установите следующие объекты и измените им свойства
Объект |
Свойство |
Значение |
|||
Рамки |
Caption |
Как Вас зовут? |
|||
Caption |
Полное имя (заглавные буквы) |
||||
Caption |
Полное имя (строчные буквы) |
||||
Caption |
Инициалы |
||||
Метки |
Caption |
Фамилия |
|||
|
Caption |
Имя |
|||
|
Caption |
Отчество |
|||
|
Name |
LblNam2 (для рамки строчные буквы) |
|||
Командные кнопки |
Name |
CmdNam1 |
|||
Caption |
Вывести |
||||
|
Name |
CmdNam2 |
|||
|
Caption |
Вывести в одну строку |
|||
|
Name |
CmdNam3 |
|||
|
Caption |
Вывести в три строки |
|||
|
Name |
CmdFIO |
|||
|
Caption |
Вывести инициалы |
|||
|
Name |
CmdShifr |
|||
|
Caption |
Шифровать |
|||
Текстовые окна |
Name |
TxtFam |
|||
|
Name |
TxtName |
|||
|
Name |
TxtOt |
|||
|
Name |
TxtNam1 (для заглавных букв) |
|||
|
Name |
TxtFIO |
|||
|
Name |
TxtShifr |
2. Приведите свою форму в соответствие с образцом
3. В окне кода процедуры обработки события Click набрать для объекта cmdNam1
TxtNam1.Text = UCase(tXTfAM.Text) + " " + UCase(TxtName.Text) + " " + UCase(TxtOt.Text)
4. В окне кода процедуры обработки события Click набрать для объекта cmdNam2
LblNam2.Caption = LCase(tXTfAM.Text) + " " + LCase(TxtName.Text) + " " + LCase(TxtOt.Text)
5. В окне кода процедуры обработки события Click набрать для объекта cmdNam3
LblNam2.Caption = LCase(tXTfAM.Text) + Chr(13) + Chr(10) + LCase(TxtName.Text)
6. В окне кода процедуры обработки события Click набрать для объекта cmdFIO
Dim fam, nam,ot As String
Fam= TxtFam.Text
Nam= TxtName.Text
Ot= TxtOt.Text
TxtFIO.Text = Left(Fam, 1) + "." + Left(Nam, 1) + "." + Left(Ot, 1)
7. В окне кода процедуры обработки события Click набрать для объекта cmdShifr
Dim S,Shifr As String
Dim K As Integer
S = TxtFIO.Text
Shifr=””
K = Asc(Left(S, 1))
Shifr=Shifr+Str(K)+” “
K = Asc(Mid(S, 3, 1))
Shifr=Shifr+Str(K)+” “
K = Asc(Right(S, 1))
Shifr=Shifr+Str(K)
TxtShifr.Text = Shifr
8. Проверьте работу программы
9. Самостоятельно добавьте на форму еще три метки и командную кнопку. При щелчке по этой кнопке в метки должны выводиться числа – количество символов в имени, фамилии и отчестве соответственно.
10. Результат показать преподавателю.
Тема: Встроенные функции
Цель: Получить навыки использования функций преобразования типов
Порядок выполнения
1. Установите на форме следующие объекты и измените им свойства
Объект |
Свойство |
Значение |
Метки |
Caption |
212 |
|
Caption |
100 |
|
Caption |
По Фаренгейту |
|
Caption |
По Цельсию |
|
Caption |
-40 |
|
Caption |
-40 |
Вертикальная прокрутка |
Name |
VsbTherm |
Max |
-40 |
|
Min |
100 |
|
LargeChange |
10 |
|
SmallChange |
1 |
|
Текстовые окна |
Name |
TxtF |
|
Text |
(отсутствует) |
|
Name |
txtC |
|
Text |
(отсутствует) |
2. Приведите свою форму в соответствие с образцом
3. В окне кода процедуры обработки события Change набрать для объекта VsbTherm
Dim tempC, tempF As Integer
tempC = CInt ( vsbTherm.Value )
TxtC.Text = Str ( tempC )
tempF = CInt ( tempC * 9 / 5 + 32 )
txtF.Text = Str( tempF )
4. Проверьте работу программы и результат показать преподавателю.
5. Самостоятельно
6. Результат показать преподавателю.
Тема: Встроенные функции
Цель работы: Получить навыки использования встроенных системных функций.
Порядок выполнения
1. Расположите на форме следующие объекты и измените для них свойства:
Объект |
Свойство |
Значение |
Изображение (Image) |
Name |
Image1 |
Picture |
\Icons\Elements\Water |
|
Изображение (Image) |
Name |
Image2 |
Picture |
\Icons\Elements\Sun |
|
Изображение (Image) |
Name |
Image3 |
Picture |
\Icons\Elements\Show |
|
Изображение (Image) |
Name |
Image4 |
Picture |
\Icons\Elements\Litening |
|
Командные кнопки (CommandButton) |
Name Caption |
CmdHello Познакомимся? |
Name Caption |
CmdExit Выход |
2.
3. В окне кода процедуры обработки события Click для объекта Image1 набрать
MsgBox "это вода", 0, "справка"
4. Наберите код для других картинок (самостоятельно)
5. В окне кода процедуры обработки события Click для объекта CmdHello набрать
MyFam = InputBox("Ваша фамилия", "Скажите пожалуйста")
MyNam = InputBox("Ваше имя", "Скажите пожалуйста")
MyOt = InputBox("Ваше отчество", "Скажите пожалуйста")
'выделим последнюю букву отчества и определим пол человека
k = Len(MyOt)
x = Mid(MyOt, k, 1)
If x = "а" Then y = "Здравствуйте, укажаемая" Else y = "Здравствуйте, укажаемый"
MsgBox MyNam + Chr(10) + MyOt + Chr(10) + MyFam, , y
6. В окне кода процедуры обработки события Click для объекта CmdExit набрать
s = MsgBox("Вы хотите выйти", 4, "Выход")
If s = 6 Then
s = MsgBox("Хотите остаться", 32 + 4, "Просьба")
If s = 6 Then
MsgBox "Ну и правильно", 48, "Мы очень рады"
Exit Sub
End If
MsgBox "Ну и иди отсюда", 16, "Мы обиделись"
End
End If
7. Проверьте работу программы
Тема: Встроенные функции
Цель: Получить навыки использования функций времени и даты
Порядок выполнения
1. Установите на форме следующие объекты и измените им свойства 1 часть
Объект |
Свойство |
Значение |
Метки |
Caption |
Время старта |
|
Caption |
Время окончания |
|
Caption |
Сколько прошло |
Командные кнопки |
Name |
CmdStart |
Caption |
Start |
|
Name |
CmdStop |
|
Caption |
Stop |
|
Текстовые окна |
Name |
TxtStart |
|
Text |
(отсутствует) |
|
Name |
TxtStop |
|
Text |
(отсутствует) |
|
Name |
TxtItog |
|
Text |
(отсутствует) |
2.
3. В разделе общих объявлений набрать General Declarations
Dim starttime As Variant, dtime As Variant, itogtime As Variant
4. В окне кода процедуры обработки события Click набрать для объекта cmdStart
starttime = Now
txtstart.Text = Format ( starttime, "hh:mm:ss" )
txtstop.Text = "" : txtItog.Text = ""
5. В окне кода процедуры обработки события Click набрать для объекта cmdStop
endtime = Now
itogtime = endtime - starttime
txtstop.Text = Format ( endtime, "hh:mm:ss" )
txtItog.Text = Format ( itogtime, "hh:mm:ss" )
6. Проверьте работу программы. Результат показать преподавателю.
2 часть
7. Откройте новый проект, установите следующие объекты и измените им свойства
Объект |
Свойство |
Значение |
Рамки |
Caption |
Сегодня |
Caption |
Дата рождения (дд.мм.гг) |
|
Caption |
(отсутствует) |
|
Caption |
Сколько прожил дней |
|
Caption |
Ваш возраст |
|
Метки |
Name |
LblDay |
|
Name |
LblD |
|
Name |
LblM |
|
Name |
LblY |
|
Name |
LblResult |
|
Name |
LblLet |
Командная кнопка |
Name |
CmdPusk |
Caption |
Пуск |
|
Текстовое окно |
Name |
TxtDataR |
|
Text |
(отсутствует) |
8. Приведите свою форму в соответствие с образцом
9. В окне кода процедуры обработки события Click набрать для объекта cmdPusk
Dim dd, dr As Date
dd = Date
dr = TxtDataR.Text
LblDay.Caption = dd
LblD.Caption = Day(dr)
LblM.Caption = Month(dr)
LblY.Caption = Year(dr)
LblResult.Caption = dd - dr
LblLet.Caption = Format(dd - dr, "yy")
10. Проверьте работу программы
Тема: Встроенные функции
Цель: Получить навыки использования финансовых функций
Порядок выполнения
11. Откройте новый проект, установите следующие объекты и измените им свойства
Объект |
Свойство |
Значение |
Рамки |
Caption |
Годовой прирост (%) |
Caption |
Число платежей |
|
Caption |
Сумма кредита |
|
Caption |
Величина выплаты |
|
Текстовые окна |
Name |
TxtPrirost |
|
Name |
TxtKolWo |
|
Name |
TxtKredit |
|
Name |
TxtViplata |
Командные кнопки |
Name |
CmdPrirost |
Caption |
Прирост |
|
|
Name |
CmdViplata |
|
Caption |
Выплата |
|
Name |
CmdKredit |
|
Caption |
Кредит |
12. Приведите свою форму в соответствие с образцом
13. В разделе общих объявлений набрать:
Dim r As Single
Dim p, v As Currency
Dim n As Integer
14. В окне кода процедуры обработки события Click набрать для объекта cmdViplata
r = Val(TxtPrirost.Text)
n = Val(Txtkolwo.Text)
v = Val(TxtKredit.Text)
r = r / 1200
p = -Pmt(r, n, v)
TxtViplata.Text = Str(p)
15. В окне кода процедуры обработки события Click набрать для объекта cmdKredit
r = Val(TxtPrirost.Text)
n = Val(Txtkolwo.Text)
p = Val(TxtViplata.Text)
r = r / 1200
p = -p
v = PV(r, n, p)
TxtKredit.Text = Str(v)
16. В окне кода процедуры обработки события Click набрать для объекта cmdPrirost
p = Val(TxtViplata.Text)
n = Val(Txtkolwo.Text)
v = Val(TxtKredit.Text)
p = -p
r = 1200 * Rate(n, p, v)
TxtPrirost.Text = Str(r)
17. Проверьте работу программы
18. Самостоятельно добавьте на форму еще одну командную кнопку и создайте для нее программный код, который удаляет содержимое в текстовых окнах.
Тема: Встроенные функции
Цель: Получить навыки использования функций графики
Порядок выполнения
1. В графическом редакторе Paint создайте четыре рисунка «зима», «весна, «лето», «осень» и сохраните рисунки в отдельных файлах на диске С:
2. Откройте новый проект, установите следующие объекты и измените им свойства
Объект |
Свойство |
Значение |
Форма |
Name |
frmPaint |
|
WindowState |
2-Maximized |
Метка |
Name |
LblResult |
Caption |
0 |
|
Полоса прокрутки |
Name |
HsbSet |
|
Max |
15 |
|
Min |
1 |
Командные кнопки |
Name |
CmdWinter |
Caption |
Зима |
|
|
Name |
CmdSpring |
|
Caption |
Весна |
|
Name |
CmdSummer |
|
Caption |
Лето |
|
Name |
CmdAutumn |
|
Caption |
Осень |
|
Name |
cmdExit |
|
Caption |
Выход |
3. Приведите свою форму в соответствие с образцом
4.
lblResult.Caption = Str(hsbSet.Value)
frmPaint.BackColor = QBColor(hsbSet.Value)
5. Такой же код набрать для обработки события Scroll для объекта HsbSet.
6. В окне кода процедуры обработки события Click набрать для объекта cmdExit
MsgBox “До свидания”,0,”Выход”
End
7. В окне кода процедуры обработки события Click набрать для объекта cmdWinter
frmPaint.Picture = LoadPicture("c:\Мои Документы\зима.bmp")
8. Самостоятельно набрать для других командных кнопок. Проверьте работу программы
При выполнении ниже приведенных заданий должны быть выполнены следующие требования:
- форма приложения должна полностью соответствовать приведенному образцу;
- имена объектов управления должны иметь трехбуквенный префикс в соответствии с типом объекта;
- имена переменных должны быть информативны;
- все используемые переменные должны быть объявлены;
- проект должен быть сохранен.
Расположите на форме командную кнопку и линию. Разработайте приложение, работающее следующим образом: при щелчке по кнопке линия перемещается в новое положение в пределах формы, при этом координаты линии определяются случайными числами, а также случайным образом меняется цвет линии и ее толщина.
Разработайте приложение, которое для введенного значения радиуса окружности вычисляет длину окружности, площадь круга, а также меняет размер фигуры – окружности в соответствии с указанным радиусом.
Разработать приложение, которое по введенным координатам вершин треугольника вычисляет длины сторон треугольника и его площадь.
Разработать приложение, которое для введенного текста выполняет:
- определение кода первого и последнего символа;
- вывод введенного текста, поменяв местами первый и последний символ;
- вывод первой половины текста;
- вывод второй половины текста
Разработать приложение, которое для введенного целого числа выполняет:
- вывод последней цифры числа;
- вывод исходного числа без последней цифры;
- вычисление суммы двух последних цифр числа;
- выводит исходное число, заменив последнюю цифру на ноль.
Разработать приложение, с помощью которого можно было определить число молекул воздуха в комнате, если задано так называемое число Лошмидта , равное 2, 6868 ·10 25 – число молекул в одном кубическом метре воздуха при нормальных условиях. Размеры комнаты вводить в метрах с точностью 0.01. Форму разработать в соответствии с образцом.
Разработать приложение, которое определяет номер дня недели для введенной даты, а также определяет дату следующего дня. Исходная дата вводится в три текстовых окна (день, месяц, год соответственно).
1. Росс Нельсон, Running Visual Basic 3 for Windows, пер. с англ. – М.: Издательский отдел «Русская Редакция» ТОО «Channel Trading Ltd.», 1995
2. Кауэлл Дж.Visual Basic 4.0: просто - о самом существенном, Пер. с англ. - М. :ИНФРА-М, 1998.
3. Волченков Н.Г. Учимся программировать: Visual Basic 5, - М.:»Диалог-МИФИ», 1998
4. Волченков Н.Г, Программирование на Visual Basic 6 в 3-х ч., М.:ИНФРА-М, 2000
5. Visual Basic 6.0, Руководство для профессионалов, пер. с англ.- СПб.:БХВ – Санкт-Петербург, 1999
Получите профессию
за 6 месяцев
Пройти курс
Рабочие листы
к вашим урокам
Скачать
Выбранный для просмотра документ VB Лабораторный практикум 3часть.doc
Государственное бюджетное образовательное учреждение
высшего профессионального образования Московской области
«Международный университет природы, общества и человека «Дубна»
(Университет «Дубна»)
Филиал ДИНО университета «Дубна»
ЛАБОРАТОРНЫЙ ПРАКТИКУМ
3 часть
Visual Basic. Основы программирования
Теория
Лабораторно-практические работы
Задания для самостоятельного выполнения
Дмитров 2012
Автор:
Живодерова Валентина Викторовна – преподаватель спецдисциплин филиала ДИНО университета «Дубна».
Лабораторный практикум предназначен для проведения лабораторно-практических работ при изучении языка программирования Visual Basic в общеобразовательных и профессиональных образовательных учреждениях, а также для самостоятельного изучения.
В пособии использованы материалы отечественных и переводных книг по Visual Basic, а так же автором обобщен личный опыт преподавания данного языка.
Предисловие............................................................................................................................................................................................ 4
Выбор в программе............................................................................................................................................................................ 5
Ветвление If ... Then ... Else.................................................................................................................................................................... 5
Линейный формат:................................................................................................................................................................................. 5
Блочный формат:.................................................................................................................................................................................... 5
Оператор множественного выбора Select Case........................................................................................................................... 6
Организация циклов........................................................................................................................................................................ 7
Цикл со счетчиком For ...Next (Для ... Следующий)................................................................................................................... 7
Универсальный цикл Do ...Loop (Делать ... Цикл)......................................................................................................................... 8
Циклы с предусловием............................................................................................................................................................................ 8
Циклы с постусловием........................................................................................................................................................................... 8
Программирование графики................................................................................................................................................... 8
Лабораторно-практические работы................................................................................................................................ 9
Общие рекомендации по выполнению работ................................................................................................................................. 9
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 1......................................................................................................................... 10
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 2......................................................................................................................... 12
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 3......................................................................................................................... 14
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 4......................................................................................................................... 16
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 5......................................................................................................................... 18
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 6......................................................................................................................... 20
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 7......................................................................................................................... 22
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 8......................................................................................................................... 24
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 9......................................................................................................................... 26
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 10....................................................................................................................... 28
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 11....................................................................................................................... 30
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 12....................................................................................................................... 32
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 13....................................................................................................................... 34
Задания для самостоятельного выполнения.................................................................................................... 36
Задание № 1............................................................................................................................................................................................... 36
Задание № 2............................................................................................................................................................................................... 36
Задание № 3............................................................................................................................................................................................... 36
Задание № 4............................................................................................................................................................................................... 36
Задание № 5............................................................................................................................................................................................... 36
Задание № 6............................................................................................................................................................................................... 36
Задание № 7............................................................................................................................................................................................... 37
Задание № 8............................................................................................................................................................................................... 37
Задание № 9............................................................................................................................................................................................... 37
Задание № 10............................................................................................................................................................................................. 38
Задание № 11............................................................................................................................................................................................. 38
Задание № 12............................................................................................................................................................................................. 38
Задание № 13............................................................................................................................................................................................. 38
Задание № 14............................................................................................................................................................................................. 38
Задание № 15............................................................................................................................................................................................. 38
Список использованной литературы......................................................................................................................... 39
Язык программирования Visual Basic все шире используется в российском образовании. Одна из проблем, с которыми сталкивается преподаватель, работающий с этим языком, - недостаток методической литературы. Данное учебное пособие может быть полезно преподавателям и учащимся, (подготовленным пользователям) изучающим объектно-ориентированное программирование на языке Visual Basic, а также может использоваться при проведении факультативных и кружковых занятиях в средних учебных заведениях. Опыт работы с другими языками программирования не обязателен, хотя, конечно, полезен.
Цель данного пособия – предоставить пользователю систематическое и наглядное изложение примеров разработки приложений под Windows.
Учебное пособие ( часть 3 )состоит из трех основных разделов:
1. Теория
В этом разделе рассматриваются операторы языка, позволяющие осуществлять выбор в программе, повторение, а также графические методы.
Этот материал не претендует на полное изложение, его следует рассматривать, скорее всего, как справочную информацию, которая позволит эффективно выполнять Лабораторно-практические работы.
2. Лабораторно-практические работы по темам:
Каждая работа содержит подробное пошаговое описание действий по созданию программного проекта. При оценке выполнения практических работ следует обращать внимание на точное выполнение всех предписаний в работе.
3. Задания для самостоятельного выполнения
Самостоятельное выполнение заданий позволяет закрепить навыки работы учащихся в среде Visual Basic Преподаватель может использовать их в качестве контрольных работ.
Как работать с пособием.
Для правильной работы необходимо иметь:
- Операционную систему Windows 95 или более поздней версии;
- Visual Basic 5.0. и выше;
- Процессор Pentium 166 MHz и выше;
- 5 MB HDD и более;
- Драйвер CD ROM;
- Монитор VGA или более высокого разрешения;
- 16 MB RAM;
- Мышь.
При установке Visual Basic на учебный компьютер должны быть включена библиотека рисунков и значков Graphics.
Использованию данного учебного пособия должно предшествовать изучение теоретического материала по тематике практических работ.
Перед выполнением первой практической работы учащийся должен создать свою папку на диске и в дальнейшем свои приложения сохранять в ней.
Контроль правильности выполнения практических работ и заданий для самостоятельного выполнения осуществляет преподаватель в режиме проектирования и в режиме выполнения.
Выбор в программе выполняют условные операторы. Условные операторы помогают осуществить «ветвление» программы, т.е. передать управление по условию, на ту или иную «ветку» - это может быть фрагмент текста, процедура, подпрограмма или даже другой модуль.
Виды условных операторов Visual Basic :
If ... Then ... Else ...
Select ... End Select
Этот оператор обычно используется, когда проверяется одно или два условия в программе. Конструкцию If ... Then ... Else ...(Если ... Тогда ... Иначе ...) можно записать в одном из двух форматов - блочном (в несколько строк) и линейном (в одной строке).
If логич_выражение Then блок_команд_1 [Else блок_команд_2]
Если логич_выражение принимает значение «истина», выполняется блок_команд_1, иначе выполняется блок_команд_2. Else можно опустить, в этом случае, , если логич_выражение ложно, блок_команд_1 просто пропускается.
Пример 1:
Если значение переменной А больше нуля, то вычислить А2, иначе - вычислить А3
If A>0 Then S= A^2 Else S=A^3
Пример 2:
Если значения переменных А и В равны между собой , то прервать выполнение процедуры
If A=B Then Exit Sub
If логич_выражение_1 Then
блок_команд_1
[ElseIf логич_выражение_2 Then
блок_команд_2
....................................
[Else
блок_команд_n
End If
Если логич_выражение_1 принимает значение «истина», выполняется блок_команд_1, иначе, если логич_выражение_2 истинно, выполняется блок_команд_2 и т.д. Если ни одно условие не удовлетворяется, то выполняется блок_команд_n, следующий за Else.
Пример 1:
Если значения переменных А и В положительны, то вывести их сумму и произведение, в противном случае - вывести сообщение об ошибке.
If A>0 And B>0 Then
Print A+B
Print A*B
Else
Print «ошибка»
End If
Пример 2:
Если значение переменной В меньше 10, то увеличить его в 2 раза, если значение от 10 до 20, то увеличить в 3 раза, в остальных случаях - уменьшить в 10 раз.
If B<10 Then
B=B*2
ElseIf B>=10 And B<=20 Then
B=B*3
Else
B=B/10
End If
Используется при необходимости осуществить проверку более сложных условий.
Формат команды
Select Case арифм_выражение или симв_выражение
Case условие 1
блок команд 1
Case условие 2
блок команд 2
...........................
Case Else
блок команд n
End Select
В поле операндов Select Case записывается произвольное арифметическое выражение или символьное выражение, которое в процессе выполнения программы принимает то или иное числовое, логическое или символьное значение.
В поле операндов каждого оператора Case надо указать условие в одном из трех форматов:
1. Case константа_1, константа_2,...
2. Case Is знак_отношения константа
3. Case константа_1 To константа_2
Алгоритм множественного выбора заключается в следующем. Сначала вычисляется значение выражения, записанного в Select Case. Далее проверяется, удовлетворяет ли это значение одному из указанных в Case условий. Если значение удовлетворяет какому-то условию, выполняется блок команд, следующий за данным Case. Если ни одно условие не удовлетворяется, выполняется блок команд, следующий за Case Else. При выполнении того или иного блока команд управление передается команде, следующей за End Select.
Пример:
Input A
Select Case A
Case 1,5
Print «А равно 1 или 5»
Case Is >5
Print «А больше 5»
Case -8 TO 2.5
Print «А не меньше -8, но не больше 2.5»
Case Else
Print «Ни одно условие не выполняется»
End Select
Цикл - это многократно повторяемая часть программы.
В языке Visual Basic предусмотрено два основных способа организации циклов:
- повторение блока команд заданное количество раз (цикл со счетчиком);
- циклическое повторение блока команд, пока выполняется (или не выполняется) некоторое условие.
Цикл For ... Next - это цикл с заранее заданным количеством повторений.
For переменная_цикла=нач_значение To конеч_значение [Step шаг]
блок_команд
Next переменная_цикла
В поле операндов оператора For указываются:
- числовая переменная, которая называется счетчиком или переменной цикла.
- начальное и конечное значение счетчика.
Если необходимо, укажите шаг изменения счетчика по окончании каждого цикла (по умолчанию этот шаг равен 1).
Конструкция завершается оператором Next.
Принцип работы оператора :
Переменной цикла присваивается начальное значение, после этого первый раз выполняется блок команд (тело цикла). Оператор NEXT увеличивает текущее значение переменной цикла на величину шага , и, если новое значение переменной цикла не превышает заданное конечное значение, в очередной раз выполняется блок команд.
Пример 1:Вывести 10 раз текст «привет»
For I=1 To 10
Print «привет»
Next I
Пример 2: Вывести все четные натуральные числа от 10 до 20.
For K=10 To 20 Step 2
Print K
Next K
Можно выйти из цикла не дожидаясь выполнения всех повторений при помощи оператора Exit For. Управление будет передано на оператор, стоящий после Next.
С помощью For ... Next можно организовывать вложенные циклы - каждый со своим For, Next и счетчиком.
Наиболее гибкий и универсальный способ организации цикла по условию обеспечивает конструкция Do ...Loop. Конструкция имеет четыре формата:
1. Do While логич_выражение
блок_команд
Loop
2. Do Until логич_выражение
блок_команд
Loop
(при первом входе условие не проверяется, поэтому блок_команд будет выполнен хотя бы один раз).
3 . Do
блок_команд
Loop While логич_выражение
4. .Do
блок_команд
Loop Until логич_выражение
Можно выйти из цикла не дожидаясь выполнения всех повторений при помощи оператора Exit Do. Управление будет передано на оператор, стоящий после Loop.
На форме или в графическом поле (PictureBox) можно рисовать различные графические примитивы с использованием графических методов:
Scale – позволяет задать систему координат и масштаб для формы или графического окна:
Object.Scale (X1,Y1) - (X2,Y2)
Pset – установка точки с заданными координатами и цветом:
Object.Pset (X,Y) [,Color]
Line – рисование линии, прямоугольника или закрашенного прямоугольника заданного цвета:
Object.Line (X1,Y1) - (X2,Y2) [,Color][,B][F]
Circle – рисование окружности, овала или дуги с заданными координатами центра, радиусом, цветом, начальным и конечным углом дуги и коэффициентом сжатия:
Object.Circle (X,Y),Radius [,Color, Start, End, Aspect]
1. Выполнение предложенных работ целесообразно проводить после проработки практических работ и заданий для самостоятельного выполнения из 1 и 2 частей учебного пособия;
2. Перед выполнением конкретной практической работы необходимо изучить теоретический материал по тематике работы;
3. Лабораторно-практические работы выполняйте в указанной последовательности;
4. После выполнения каждой работы сформулируйте для себя назначение созданного проекта (если это заранее не определено), а также разберитесь с назначением каждой команды программного кода.
Тема: Условный оператор
Цель: Получить навыки использования условного оператора
Порядок выполнения
1. Откройте новый проект, установите следующие объекты и измените им свойства
Объект |
Свойство |
Значение |
Рамки |
Caption |
Длины сторон треугольника |
|
Caption |
Результаты проверки |
Текстовые окна |
Name |
TxtA |
Name |
TxtB |
|
Name |
TxtC |
|
Метки |
Name |
LblInfo1 |
Caption |
(отсутствует) |
|
Name |
LblInfo2 |
|
Caption |
(отсутствует) |
|
Name |
LblInfo3 |
|
Caption |
(отсутствует) |
|
Name |
LblInfo4 |
|
|
Caption |
(отсутствует) |
Командная кнопка |
Name |
CmdProverka |
Caption |
Проверить |
2.
3. В окне кода процедуры обработки события Click набрать для объекта cmdProverka
Dim a, b, c As Integer
Dim info As String
a = Val(txtA.Text)
b = Val(TxtB.Text)
c = Val(TxtC.Text)
'проверка существует ли треугольник
If (a >= b + c) Or (b >= a + c) Or (c >= a + b) Then
LblInfo1.Caption = "треугольник не существует"
Else
LblInfo1.Caption = "треугольник существует"
End If
'проверка на равенство сторон
If a = b And a = c Then
LblInfo2.Caption = "треугольник равносторонний"
Else
LblInfo2.Caption = "треугольник не равносторонний"
End If
'проверка на равнобедренность
If a = b Or a = c Or b = c Then
LblInfo3.Caption = "треугольник равнобедренный"
Else
LblInfo3.Caption = "треугольник не равнобедренный"
End If
'проверка на наличие прямого угла
If (a ^ 2 = b ^ 2 + c ^ 2) Or (b ^ 2 = a ^ 2 + c ^ 2) Or (c ^ 2 = a ^ 2 + b ^ 2) Then
LblInfo4.Caption = "треугольник прямоугольный"
Else
LblInfo4.Caption = "треугольник не прямоугольный"
End If
4. Проверьте работу программы.
5. Измените приложение так, чтобы оно определяло, умещается ли треугольник с заданными сторонами в окружность заданного радиуса. (самостоятельно).
6. Результат показать преподавателю.
Тема: Условный оператор
Цель: Закрепить навыки использования условного оператора
Порядок выполнения
1. Откройте новый проект, установите следующие объекты и измените им свойства
Объект |
Свойство |
Значение |
Рамки |
Caption |
Ваше число |
|
Caption |
Диапазон чисел |
Текстовое окно |
Name |
TxtOtvet |
Метки |
Name |
LblMalo |
Caption |
0 |
|
Name |
LblMnogo |
|
Caption |
100 |
|
Name |
Label1 |
|
Caption |
Мало |
|
Name |
Label2 |
|
|
Caption |
Много |
Командная кнопка |
Name |
CmdProverka |
Caption |
Проверить |
2.
3. В разделе общих объявлений набрать
Dim k As Integer , otv As Integer
4. В окне кода процедуры обработки события Load набрать для объекта Form
Randomize Timer
otv = Int(Rnd * 100 + 1) 'число загадано
k = 0 ' количество попыток
5. В окне кода процедуры обработки события Click набрать для объекта cmdProverka
x = Val(TxtOtvet.Text)
k = k + 1
If x = otv Then
MsgBox "количество попыток " + Str(k), , "УГАДАНО"
LblMalo.Caption = "0"
LblMnogo.Caption = "100"
MsgBox "загадано новое число", , ""
k = 0
otv = Int(Rnd * 100 + 1)
Exit Sub
End If
If x > otv Then
If x < Val(LblMnogo.Caption) Then LblMnogo.Caption = x
MsgBox "Много", , ""
Exit Sub
End If
If x < otv Then
If x > Val(LblMalo.Caption) Then LblMalo.Caption = x
MsgBox "Мало"
Exit Sub
End If
6. Проверьте работу программы.
7. Измените программу для того, чтобы :
- после каждого вывода сообщения «Много», «Мало» или «Угадано» содержимое текстового окна удалялось;
- после отгадывания числа выводилось
сообщение «Отлично», если количество попыток меньше 4,
сообщение «Хорошо», если количество попыток от 4 до 7,
сообщение «Слабо!», если количество попыток больше 7.
8. Результат показать преподавателю.
Тема: Условный оператор
Цель: Закрепить навыки использования условного оператора
Порядок выполнения
1. Установите на форме следующие объекты и измените им свойства о
Объект |
Свойство |
Значение |
Командная кнопка
|
Name |
Command1 |
Caption |
Переключи |
|
Изображения |
Name |
ImgAvto |
Picture |
\Icons\Traffic\Trffc6 |
|
Name |
ImgDog |
|
Picture |
\Icons\Arrows\Point08 |
|
Name |
ImgR |
|
Picture |
\Icons\Traffic\Trffc10c |
|
Name |
ImgG |
|
Picture |
\Icons\Traffic\Trffc10a |
|
Name |
ImgY1 |
|
Picture |
\Icons\Traffic\Trffc10b |
|
Name |
ImgY2 |
|
Picture |
\Icons\Traffic\Trffc10b |
|
Таймеры |
Name |
Timer1 |
Name |
Timer2 |
2. Выделите все изображения светофора (при нажатой клавише Shift) и установите следующие значения для свойств:
- Stretch True
- Left 1000
- Top 200
- Height 1000
-
3. Приведите свою форму в соответствие с образцом
4. В окне кода процедуры обработки события Click для объекта Command1 набрать
If ImgG.Visible = True Then
'выключи зеленый включи желтый
ImgG.Visible = False
ImgY1.Visible = True
Timer1.Interval = 0
Timer2.Interval = 0
Exit Sub
End If
If ImgY1.Visible = True Then
'выключи желтый включи красный
ImgY1.Visible = False
ImgR.Visible = True
Timer1.Interval = 0
Timer2.Interval = 1
Exit Sub
End If
If ImgR.Visible = True Then
'выключи красный включи желтый
ImgR.Visible = False
ImgY2.Visible = True
Timer1.Interval = 0
Timer2.Interval = 0
Exit Sub
End If
If ImgY2.Visible = True Then
'выключи желтый включи зеленый
ImgY2.Visible = False
ImgG.Visible = True
Timer1.Interval = 1
Timer2.Interval = 0
Exit Sub
End If
5. В окне кода процедуры обработки события Timer для объекта Timer1 набрать
ImgAvto.Top = ImgAvto.Top - 50
If ImgAvto.Top < 0 Then ImgAvto.Top = 4000
6. В окне кода процедуры обработки события Timer для объекта Timer2 набрать
ImgDog.Left = ImgDog.Left - 50
If ImgDog.Left < 0 Then ImgDog.Left = 4000
7. Проверьте работу программы
8. Измените приложение, включив проверку на аварию, для этого в процедуру Timer1_Timer добавьте
X1 = ImgDog.Left : Y1 = ImgDog.Top
X2 = ImgAvto.Left : Y2 = ImgAvto.Top
If (X2 > X1 - 500) And (X2 < X1 + 500) Then
If (Y2 < Y1 + 500) And (Y2 > Y1 - 500) Then
MsgBox "Авария"
ImgAvto.Top = 4000
ImgDog.Left = 4000
End If
End If
9. Проверьте работу программы
Тема: Выбор в программе
Цель: Закрепить навыки использования условного оператора
Постановка задачи: Организовать движение шарика внутри прямоугольного поля и уменьшение его размеров. При щелчке по шарику его размер увеличивается. Игра заканчивается, когда размеры шарика становятся достаточно малы.
Порядок выполнения
1. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Фигура |
Name |
Pole |
Shape |
0 |
|
Изображение |
Name |
Shar |
|
Stretch |
True |
Таймер |
Name |
Timer1 |
Interval |
50 |
2.
3. В разделе общих объявлений набрать:
Dim x1, y1, x2, y2, sx, sy, w, h As Integer
4. В окне кода процедуры обработки события Load набрать для объекта Form
'координаты границ поля
x1 = Pole.Left
y1 = Pole.Top
x2 = Pole.Width + x0
y2 = Pole.Height + y0
sx = 100 'шаг по горизонтали
sy = 100 'шаг по вертикали
5. В окне кода процедуры обработки события Timer для объекта Timer1 набрать
'двигаем и уменьшаем шар
shar.Left = shar.Left + sx
shar.Top = shar.Top + sy
shar.Height = shar.Height - 1
shar.Width = shar.Width - 1
w = shar.Width
h = shar.Height
'проверка на изменение движения
If (shar.Left < x1) Or (shar.Left + w > x2) Then sx = sx * (-1)
If (shar.Top < y1) Or (shar.Top + h > y2) Then sy = sy * (-1)
'проверка на окончание игры
If w < 20 Or h <20 Then
MsgBox "Вы проиграли"
End
End If
6. В окне кода процедуры обработки события Click для объекта Shar набрать
shar.Height = shar.Height + 50
shar.Width = shar.Width + 50
MsgBox "Ой, Ой"
7. Проверить работу программы
8. Измените программу так, чтобы
- при увеличении размера шарика до 1500, выходило сообщение «Поздравляю. Вы победили»
- шарик двигался с различной скоростью (менять скорость при столкновении со стенкой)
Тема: Выбор в программе
Цель: Получить навыки использования оператора множественного выбора
Порядок выполнения
9. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Командная кнопка |
Name |
CmdResult |
Caption |
Определить |
|
Рамки |
Caption |
Сколько Вам лет |
|
Caption |
Чем следует заниматься |
Метки |
Name |
LblLet |
Caption |
(отсутствует) |
|
Name |
LblInfo |
|
Caption |
(отсутствует) |
|
Текстовое окно |
Name |
TxtLet |
10. Приведите свою форму в соответствие с образцом
11. В окне кода процедуры обработки события Click для cmdResult набрать
Dim n, k As Integer
Dim info As String
n = Val(TxtLet.Text)
'определим текстовую запись возраста
If n >= 10 And n <= 20 Then
info = "лет"
Else
k = n Mod 10
Select Case k
Case 1
info = "год"
Case 2, 3, 4
info = "года"
Case Else
info = "лет"
End Select
End If
LblLet.Caption = info
'определим род деятельности
Select Case n
Case Is < 7
info = "детский сад"
Case 7 To 16
info = "учеба в школе"
Case 17 To 21
info = "учеба в ВУЗе"
Case 22 To 55
info = "трудовая деятельность"
Case Else
info = "заслуженный отдых - пенсия"
End Select
LblInfo.Caption = info
12. Проверьте работу программы.
13. Добавьте на форму текстовое окно (для ввода номера месяца рождения) и метку(для вывода времени года). Добавьте в программу CmdResult_Click код для определения времени года по номеру месяца рождения.
14. Результат показать преподавателю.
Тема: Выбор в программе
Цель: Закрепить навыки использования условного оператора и оператора множественного выбора
Порядок выполнения
1. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Командная кнопка
|
Name |
CmdEdit |
Caption |
Преобразовать |
|
Переключатели |
Name |
OptMSek1 |
Caption |
м/сек |
|
Name |
OptKmSek1 |
|
Caption |
км/сек |
|
Name |
OptKmUr1 |
|
Caption |
км/час |
|
Name |
OptMSek2 |
|
Caption |
м/сек |
|
Name |
OptKmSek2 |
|
Caption |
км/сек |
|
|
Name |
OptKmUr2 |
|
Caption |
км/час |
Текстовое окно |
Name |
TxtDano |
Метка |
Name |
LblResult |
2. Приведите свою форму в соответствие с образцом
3. В разделе общих объявлений объявите переменные S1, S2
4. В окне кода процедуры обработки события Click набрать
для optMSek1: S1=1
для optKmSek1: S1=2
для optKmUr1: S1=3
для optMSek2: S2=1
для optKmSek2: S2=2
для optKmUr2: S2=3
5. В окне кода процедуры обработки события Click для cmdEdit набрать:
x = Val(TxtDano.Text)
If S1 = 1 Then
If S2 = 1 Then y = x
If S2 = 2 Then y = x / 1000
If S2 = 3 Then y = x * 3.6
End If
If S1 = 2 Then
If S2 = 1 Then y = x * 1000
If S2 = 2 Then y = x
If S2 = 3 Then y = x * 3600
End If
If S1 = 3 Then
If S2 = 1 Then y = x / 3.6
If S2 = 2 Then y = x / 3600
If S2 = 3 Then y = x
End If
LblResult.Caption = Str(y)
6. Проверьте работу программы
7. Измените программный код, заменив использование условного оператора на оператор множественного выбора (самостоятельно).
8. Результат показать преподавателю.
Тема: Выбор в программе
Цель: Закрепить навыки использования оператора множественного выбора
Порядок выполнения
1. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Командная кнопка |
Name |
CmdResult |
Caption |
Решение задачи |
|
Рамка |
Caption |
Отметьте искомую величину |
Изображение |
Picture |
\Clipart\Scales |
Переключатели |
Name |
OptM |
Caption |
Масса |
|
Name |
OptV |
|
Caption |
Объем |
|
Name |
OptP |
|
Caption |
Плотность |
|
Метки |
Name |
LblZm |
|
Caption |
(отсутствует) |
|
Name |
LblZv |
|
Caption |
(отсутствует) |
|
Name |
LblZp |
|
Caption |
(отсутствует) |
Текстовые окна |
Name |
TxtZm |
|
Text |
(отсутствует) |
|
Name |
TxtZv |
|
Text |
(отсутствует) |
|
Name |
TxtZp |
|
Text |
(отсутствует) |
Списки |
Name |
LstM |
|
Name |
LstV |
|
Name |
LstP |
Остальные объекты – метки, для которых измените свойство Caption. |
2. Приведите свою форму в соответствие с образцом
3. В разделе общих объявлений объявите переменные
Dim s, nv, np, nm
4. В окне кода процедуры обработки события Load для объекта Form набрать
LstM.AddItem "мг"
LstM.AddItem "г"
LstM.AddItem "кг"
LstV.AddItem "куб.мм"
LstV.AddItem "куб.см"
LstV.AddItem "куб.дм"
LstP.AddItem "мг на куб.мм"
LstP.AddItem "г на куб. см"
LstP.AddItem "кг на куб.дм"
5. В окне кода процедуры обработки события Click для объекта LstM набрать
nm = LstM.ListIndex
LblM.Caption = LstM.List(nm)
6. Самостоятельно набрать программный код для объектов LstV , LstP
7.
для OptM s = 1 для OptV s = 2 для OptP s = 3
8. В окне кода процедуры обработки события Click для объекта CmdResult набрать
v = Val(TxtZv.Text) : p = Val(TxtZp.Text): m = Val(TxtZm.Text)
'переведем массу в кг
If nm = 0 Then m = m / 1000000 : If nm = 1 Then m = m / 1000
'переведем объем в куб дм
If nv = 0 Then v = v / 1000000 : If nv = 1 Then v = v / 1000
Select Case s
Case 1 'определяем массу
m = p * v
Select Case nm
Case 0 'мг
m = m * 1000000
Case 1 'г
m = m * 1000
End Select
TxtZm.Text = m
Case 2 'определяем объем
v = m / p
Select Case nv
Case 0 'куб мм
v = v * 1000000
Case 1 'куб см
v = v * 1000
End Select
TxtZv.Text = v
Case 3 'определяем плотность
p = m / v
TxtZp.Text = p
End Select
9. Проверьте работу программы
Тема: Программирование графики
Цель: Получить навыки использования графических методов
Порядок выполнения 1 часть
1. Откройте новый проект.
2. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Командная кнопка |
Name |
CmdResult |
Caption |
Пять точек |
|
Графическое окно |
Name |
Pic1 |
|
Width |
1500 |
|
Height |
1500 |
|
BackColor |
черный |
3. В окне кода процедуры обработки события Click для объекта CmdResult набрать
pic1.Scale (-10, 10)-(10, -10) 'назначить объекту новую систему координат
pic1.DrawWidth = 10 'изменим размеры точки
pic1.ForeColor = vbWhite ' цвет точек - белый
pic1.PSet (0, 0) 'вывод точек
pic1.PSet (-5, -5)
pic1.PSet (5, 5)
pic1.PSet (-5, 5)
pic1.PSet (5, -5)
4. Проверьте работу программы
5. Измените программу для вывода а) четырех точек; б) шести точек (самостоятельно)
6. Результат показать преподавателю. 2 часть
7. Откройте новый проект.
8. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Командные кнопки |
Name |
CmdFlag |
Caption |
Флаг России |
|
Name |
CmdStart |
|
|
Caption |
Пуск |
9. В окне кода процедуры обработки события Click для объекта CmdFlag набрать
Cls
Line (2000, 2000)-(4000, 2500), vbWhite, BF
PSet (2000, 2200)
Print "Да Здравствует РОССИЯ!"
Line (2000, 2500)-(4000, 3000), vbBlue, BF
Line (2000, 3000)-(4000, 3500), vbRed, BF
Line (2000, 2000)-(2000, 4000)
10. В окне кода процедуры обработки события Click для объекта CmdStart набрать
Cls
Line (200, 200)-(2200, 200), vbBlue 'вывод тонкой горизонтальной линии
DrawWidth = 6 'вывод толстой вертикальной линии
Line (200, 400)-(200, 2000), vbRed
DrawWidth = 3 'вывод наклонного отрезка средней толщины
Line (600, 1400)-(1200, 500), vbGreen
Line (1600, 2000)-(400, 1500), , B 'прямоугольник незакрашенный
Line (3000, 1400)-(2200, 500), vbCyan, BF 'прямоугольник закрашенный
11. Проверьте работу программы.
12. Самостоятельно измените программу так, чтобы она рисовала флаги Франции (вертикальные полосы - синяя, белая, красная), Германии (горизонтальные полосы – черная, красная, желтая)
3 часть
13. Откройте новый проект.
14. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Командные кнопки |
Name |
Cmd1 |
Caption |
Круг и эллипсы |
|
Name |
Cmd2 |
|
|
Caption |
Дуга, сектор круга, сектор эллипса |
Графические окна |
Name |
Pic1 |
|
Height |
3600 |
|
Width |
2000 |
|
Name |
Pic2 |
|
Height |
1300 |
|
Width |
4500 |
15. В окне кода процедуры обработки события Click для объекта набрать Cmd1
Pic1.Scale (0, 30)-(16, 0)
Pic1.ForeColor = QBColor(7) 'установим цвет линии
Pic1.FillStyle = 0 'установим стиль заполнения (сплошной)
Pic1.Circle (8, 25), 4 'вывод окружности
Pic1.FillColor = QBColor(7) 'установим цвет заполнения и линии
Pic1.ForeColor = QBColor(0)
Pic1.Circle (8, 16), 5.5, , , , 0.5 'овал горизонтальный
Pic1.Circle (8, 6.5), 4.5, , , , 1.5 'овал вертикальный
16. В окне кода процедуры обработки события Click для объекта набрать Cmd2
pic2.Scale (0, 16)-(40, 0)
'установим стиль заполнения сплошной, цвет заполнения и линий серый
pic2.FillStyle = 0
pic2.FillColor = QBColor(7)
pic2.ForeColor = QBColor(7)
'выводим четыре окружности
pic2.Circle (5, 8), 4.5
pic2.Circle (15, 8), 4.5
pic2.Circle (25, 8), 4.5
pic2.Circle (35, 8), 4.5
'изменим цвет линий на черный, стиль заполнения косая клетка, цвет заполнения красный
pic2.ForeColor = QBColor(0)
pic2.FillStyle = 7
pic2.FillColor = QBColor(12)
'вывод дуг и секторов
pic2.Circle (5, 8), 4.5, , 1, 5
pic2.Circle (15, 8), 4.5, , -1, -5
pic2.Circle (25, 8), 4.5, , -5, -1
pic2.Circle (35, 8), 4.5, vbBlack, -0.3, -5.8, 1.5
17. Проверьте работу программы.
Тема: Программирование графики
Цель: Закрепить навыки использования графических методов
1 часть
Постановка задачи: Нарисовать узор, который образован из нескольких вложенных квадратов. Стороны первого квадрата параллельны осям координат экрана. Вершины каждого последующего квадрата – это точки на сторонах предыдущего квадрата, делящие эти стороны в отношении 0,08
Порядок выполнения
1. Откройте новый проект.
2. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Командная кнопка |
Name |
CmdResult |
Caption |
Нарисуй |
|
Рамка |
Caption |
Выбери цвет линий узора |
Картинка |
Name |
Picture1 |
Height |
3000 |
|
Width |
3000 |
|
Переключатели |
Name |
Opt1 |
|
Caption |
Разноцветный |
|
Name |
Opt2 |
|
Caption |
Черный |
3. В разделе общих объявлений набрать
Dim x1, y1, x2, y2, x3, y3, x4, y4, k
4. В окне кода процедуры обработки события Load для объекта Form набрать
Picture1.Cls
x1 = 0 : y1 = 0
x2 = Picture1.Width : y2 = 0
x3 = Picture1.Width : y3 = Picture1.Height
x4 = 0 : y4 = Picture1.Height
k = 0.1
5. В окне кода процедуры обработки события Click для объекта CmdResult набрать
If Opt1.Value = True Then
Picture1.ForeColor = QBColor(Int(Rnd * 15) + 1)
Else
Picture1.ForeColor = QBColor(0)
End If
Picture1.Line (x1, y1)-(x2, y2)
Picture1.Line (x2, y2)-(x3, y3)
Picture1.Line (x3, y3)-(x4, y4)
Picture1.Line (x4, y4)-(x1, y1)
X0 = x1
Y0 = y1
x1 = x1 + (x2 - x1) * k
y1 = y1 + (y2 - y1) * k
x2 = x2 + (x3 - x2) * k
y2 = y2 + (y3 - y2) * k
x3 = x3 + (x4 - x3) * k
y3 = y3 + (y4 - y3) * k
x4 = x4 + (X0 - x4) * k
y4 = y4 + (Y0 - y4) * k
6. Проверьте работу программы, выполняя многократное нажатие кнопки «Нарисуй»
7. Измените у формы свойство DrawWidth (увеличьте значение). Просмотрите работу программы
8. Добавьте на форму еще две командные кнопки, одна из которых выполняет функцию очистки графического окна, другая позволяет восстановить размеры исходного квадрата. Результаты работы своей программы сравните с образцом.
9. Самостоятельно разработать программу, которая начертить узор, описанный в постановке задачи, но составленный из а) треугольников; б) пятиугольников; в) шестиугольников
2 часть
10. Откройте новый проект.
11. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Командные кнопки |
Name |
CmdStart |
Caption |
Старт |
|
Name |
CmdStop |
|
Caption |
Стоп |
|
Таймер |
Name |
Timer1 |
Форма |
DrawWidth |
10 |
12. В окне кода процедуры обработки события Timer для объекта Timer1 набрать
Dim x, y
Dim R, G, B
x = Form1.ScaleWidth * Rnd()
y = Form1.ScaleHeight * Rnd()
R = Int(256 * Rnd())
G = Int(256 * Rnd())
B = Int(256 * Rnd())
Form1.PSet (x, y), RGB(R, G, B)
13. Самостоятельно набери программный код для командных кнопок, одна из них должна включать таймер, другая – останавливать.
14. Результат показать преподавателю.
Тема: Условный оператор. Графические методы
Цель: Закрепить навыки использования условного оператора и графических методов
Постановка задачи: Разработать приложение, имитирующее работу часов с минутной и секундной стрелками
Порядок выполнения
1. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Линии |
Name |
Line1 |
Name |
Line2 |
|
Фигура |
Name |
Shape1 |
Shape |
0 |
|
Таймеры |
Name |
Timer1 |
Interval |
1 |
|
Переключатели |
Name |
Timer2 |
|
Interval |
0 |
2. В разделе общих объявлений набрать:
Dim i, j, x, y As Integer
3. В окне кода процедуры обработки события Load для объекта Form набрать
'назначить для формы новую систему координат
Scale (-120, 120)-(120, -120)
'установить размер циферблата часов
Shape1.Height = 120
Shape1.Width = 120
Shape1.Left = -60
Shape1.Top = 60
'установить положение стрелок
Line1.X1 = 0
Line1.Y1 = 0
Line1.X2 = 0
Line1.Y2 = 60
Line2.X1 = 0
Line2.Y1 = 0
Line2.X2 = 0
Line2.Y2 = 30
'циферблат разбит на три зоны
'переменные определяют в какую зону попадают часовая и минутная стрелки
i = 1
j = 1
4. В окне кода процедуры обработки события Timer для объекта Timer1 набрать
'таймер для секундной стрелки
x = Line1.X2 : y = Line1.Y2
If i = 1 Then ' с 0 до 15 мин
x = x + 4
b = Int(x ^ 2)
y = Sqr(3600 - b)
Line1.X2 = x : Line1.Y2 = y
If Int(x) = 60 Then i = 2
Exit Sub
End If
If i = 2 Then 'с 15 до 45 мин
x = x - 4
b = Int(x ^ 2)
y = Sqr(3600 - b)
Line1.X2 = x : Line1.Y2 = y * (-1)
If x = -60 Then i = 3
Exit Sub
End If
If i = 3 Then 'с 45 до 60 мин
x = x + 4
b = Int(x ^ 2)
y = Sqr(3600 - b)
Line1.X2 = x : Line1.Y2 = y
If Int(x) = 0 Then i = 1: Timer2_Timer
Exit Sub
End If
5. В окне кода процедуры обработки события Timer для объекта Timer2 набрать
'таймер для часовой стрелки
'таймер для минутной стрелки
x = Line2.X2 : y = Line2.Y2
If j = 1 Then ' с 0 до 15 мин
x = x + 10
b = Int(x) ^ 2
y = Sqr(900 - b)
Line2.X2 = x : Line2.Y2 = y
If Int(x) = 30 Then j = 2
Exit Sub
End If
If j = 2 Then 'с 15 до 45 мин
x = x - 10
b = Int(Abs(x)) ^ 2
y = Sqr(900 - b)
Line2.X2 = x : Line2.Y2 = y * (-1)
If Int(Abs(x)) = 30 Then j = 3
Exit Sub
End If
If j = 3 Then 'с 45 до 60 мин
x = x + 10
b = Int(x) ^ 2
y = Sqr(900 - b)
Line2.X2 = x : Line2.Y2 = y
If Int(Abs(x)) = 0 Then j = 1
Exit Sub
End If
6. Проверьте работу программы
7. «Отрегулируйте» работу ваших часов, так чтобы их ход максимально соответствовал ходу настоящих часов.
Тема: Оператор цикла.
Цель: Получить навыки использования оператора цикла по счетчику
Порядок выполнения
1. Установите на форме следующие объекты и измените им свойства: 1 часть
Объект |
Свойство |
Значение |
Командная кнопка |
Name |
Cmd1 |
Caption |
Вывести |
|
Рамки |
Caption |
Параметры оператора цикла |
Caption |
Введите текст |
|
Caption |
Текст наоборот |
|
Текстовые окна |
Name |
Txt1 |
|
Name |
Txt2 |
|
Name |
TxtStep |
|
Name |
Text1 |
|
Name |
Text2 |
Командные кнопки |
Caption |
Вывести |
Name |
Cmd1 |
|
Caption |
Перевернуть |
|
|
Name |
Cmd2 |
2.
3. В окне кода процедуры обработки события Click для объекта Cmd1 набрать:
n1 = Val(Txt1.Text)
n2 = Val(Txt2.Text)
n3 = Val(TxtStep.Text)
Cls
For i = n1 To n2 Step n3
Print i
Next i
4. Проверьте работу программы для различных значений параметров оператора цикла
5. В окне кода процедуры обработки события Click для объекта Cmd2 набрать:
s = Text1.Text
k = Len(s)
b = ""
For i = k To 1 Step -1
b = b + Mid(s, i, 1)
Next i
Text2.Text = b
6. Проверьте работу программы на различных фразах, в том числе на следующих фразах:
А РОЗА УПАЛА НА ЛАПУ АЗОРА АРГЕНТИНА МАНИТ НЕГРА
2 часть
7. Добавьте на форму следующие объекты и измените им свойства
Объект |
Свойство |
Значение |
Командная кнопка |
Name |
Cmd3 |
Caption |
Пуск |
|
Рамка |
Caption |
Таблица умножения на |
Текстовое окно |
Name |
TxtNum |
Графическое окно |
Name |
PicTabl |
8. В окне кода процедуры обработки события Click для объекта Cmd3 набрать
n = TxtNum.Text
For i = 1 To 10
PicTabl.Print i; " * "; n; " = "; n * i
Next i
9. Проверьте работу программы
Тема: Оператор цикла.
Цель: Получить навыки использования оператора цикла по условию
Порядок выполнения 1 часть
Постановка задачи: Организовать ввод чисел. Ввод закончить при вводе нуля. Найти среднее арифметическое значение введенных чисел
1. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Командная кнопка |
Name |
Cmd1 |
Caption |
Ввод чисел |
|
Список |
Name |
List1 |
Текстовые окна |
Name |
TxtSr |
|
Text |
(Отсутствует) |
Метка |
Caption |
Среднее значение |
2.
3. В окне кода процедуры обработки события Click для объекта Cmd1 набрать
List1.Clear
s = 0 : k = 0
Do
x = Val(InputBox("Введите значение( или ноль для окончания ввода"))
s = s + x : k = k + 1
List1.AddItem x
Loop While x <> 0
txtSr.Text = s / (k - 1)
4. Проверьте работу программы 2 часть
Постановка задачи: Известна процентная ставка банка. Ввести сумму нач. вклада и число, определяющее во сколько раз Вы хотите увеличить сумму вклада. Определить через сколько лет произойдет увеличение вклада и какое значение он примет
5. Добавьте на форму следующие объекты и измените для них свойства
Объект |
Свойство |
Значение |
|||
Командная кнопка |
Name |
Cmd2 |
|||
Caption |
Вычислить |
||||
Текстовые окна |
Name |
TxtProzent |
|||
Name |
TxtSumma0 |
||||
Name |
TxtN |
||||
Name |
TxtYear |
||||
Name |
TxtItog |
||||
Метки |
|
|
6. Приведите свою форму в соответствие с образцом
7. В окне кода процедуры обработки события Click для объекта Cmd2 набрать
proz = Val(TxtProzent.Text) / 100 + 1
s0 = Val(TxtSumma0.Text)
n = Val(TxtN.Text)
summa = s0 : y = 0
Do While summa < s0 * n
y = y + 1
summa = summa * proz
Loop
TxtItog.Text = summa
TxtYear.Text = y
8. Проверьте работу программы 3 часть
Постановка задачи: Дано год, численность в этом году и ежегодный прирост населения. Ввести число, определяющее во сколько раз увеличиться численность населения. Создать список, содержащий данные о численности для каждого следующего года.
9. Добавьте на форму объекты и измените им свойства:
Объект |
Свойство |
Значение |
Командная кнопка |
Name |
Cmd3 |
Caption |
Определить |
|
Текстовые окна |
Name |
TxtGod |
Name |
TxtPrirost |
|
Name |
TxtK |
|
Name |
TxtMan0 |
|
Список |
Name |
List2 |
Метки |
|
|
10. Приведите свою форму в соответствие с образцом
11. В окне кода процедуры обработки события Click для объекта Cmd3 набрать
x = Val(TxtMan0.Text)
y = Val(TxtGod.Text)
d = Val(TxtPrirost.Text) / 100 + 1
k = Val(TxtK.Text)
summa = x
Do Until summa >= x * k
y = y + 1
summa = summa * d
List2.AddItem Str(y) + " год " + Str(summa)
Loop
12. Проверьте работу программы
Тема: Оператор цикла. Графические методы
Цель: Закрепить навыки использования оператора цикла и графических методов
Порядок выполнения
13. Установите на форме следующие объекты и измените им свойства: 1 часть
Объект |
Свойство |
Значение |
Командная кнопка |
Name |
Cmd |
Caption |
Нажми |
|
Графическое окно |
Name |
PicShah |
Height |
2500 |
|
Width |
2500 |
14. В окне кода процедуры обработки события Click для объекта Cmd набрать:
PicShah.Scale (0, 0)-(8, 8)
For i = 1 To 8
For j = 1 To 8
n = n + 1
If (i + j) Mod 2 = 0 Then c = vbWhite Else c = vbRed
PicShah.Line (i - 1, j - 1)-(i, j), c, BF
Next j
Next i
15. Проверьте работу программы. 2 часть
16. Откройте новый проект и установите следующие объекты и измените им свойства
Объект |
Свойство |
Значение |
Рамки |
Caption |
График функции y=sin(x) |
Caption |
Цвет графика |
|
Caption |
Элемент графика |
|
Caption |
График функции y=x^2 |
|
Командные кнопки |
Name |
Cmd1 |
Caption |
Пуск |
|
Name |
Cmd2 |
|
Caption |
Убрать графики |
|
Графические окна |
Name |
PicSin |
Height |
1200 |
|
Width |
4800 |
|
Name |
PicSqr |
|
Height |
2300 |
|
Width |
2300 |
|
Переключатели |
Name |
OptBl |
Caption |
Черный |
|
Name |
OptRed |
|
Caption |
Красный |
|
Name |
OptBlue |
|
Caption |
Синий |
|
Name |
OptPset |
|
Caption |
Точка |
|
Name |
OptCirc |
|
Caption |
Окружность |
|
Name |
OptOval |
|
|
Caption |
Овал |
17.
18. В разделе общих объявлений объявите переменные z (цвет),. R(радиус), k (степень искажения)
19. В окне кода процедуры обработки события Click для объекта Cmd1 набрать:
PicSin.Scale (0, 10)-(20, -10)
For x = 0 To 20 Step 0.05
y = Sin(x) * 10
PicSin.Circle (x, y), r, z, , , k
Next x
PicSqr.Scale (-10, 100)-(10, -10)
For x = -10 To 10 Step 0.001
y = x ^ 2
PicSqr.Circle (x, y), r, z, , , k
Next x
20. Самостоятельно набрать код для кнопки Cmd2 и переключателей.. Проверьте работу программы
21. Добавьте на форму командную кнопку и графическое окно (размер 1000 на 1000). Для новой кнопки набрать код, который выполняет построение спирографа.
Спирограф – это зубчатый диск радиуса В,
расположенный внутри колеса радиуса А. В диске имеется небольшое
отверстие радиуса D. Уравнение кривой имеет вид: X=(A-B) cos (t) + D cos (v), Y=(A-B) sin (t)-D cos (v), где v=(A/B) t,
D<B<A Угол t меняется от 0 до 2p n, n равно В, деленному на наибольший общий
делитель В и А
A = 125: B = 75: D = 12
Pic1.Scale (-A, A)-(A, -A)
k = A: m = B
Do While k <> m 'НАХОЖДЕНИЕ НОД
If k > m Then k = k - m Else m = m - k
Loop
n = B / k
For t = 0 To 2 * 3.1428 * n Step 0.001
V = (A / B) * t
x = (A - B) * Cos(t) + D * Cos(V)
y = (A - B) * Sin(t) - D * Sin(V)
Pic1.Circle (x, y), 1, z
Next t
22. Проверить работу программы на различных значениях для A B D.
При выполнении ниже приведенных заданий должны быть выполнены следующие требования:
- приложение должно иметь удобный интерфейс;
- имена объектов управления должны иметь трехбуквенный префикс в соответствии с типом объекта;
- имена переменных должны быть информативны;
- все используемые переменные должны быть объявлены;
Ввести три числа.
- Вывести сообщение «да», если числа введены в порядке возрастания., в противном случае вывести «нет»;
- Найти среднее арифметическое min и max.;
- Найти разницу между min и max;
- Найти сумму двух из них, которые не являются min.
- Ввести координаты для двух отрезков. Определить пересекаются ли они.
- Ввести координаты центров для двух окружностей и их радиусы. Определить, пересекаются ли окружности.
Ввести четыре числа:
- Вывести два наибольших числа.
- Вывести два из них, расположенных между max и min.
- Ввести стороны двух прямоугольников. Определить, у какого из них больше площадь.
- Ввести стороны прямоугольника и радиус круга. Определить, поместится ли круг внутри прямоугольника.
- Ввести число N, определяющее номер месяца года Вывести название времени года
- Ввести число от 0 до 1000000. Определить количество цифр в числе.
- Ввести число, определяющее школьную оценку (2,3,4,5). Вывести текстовую запись оценки (неуд, удовлетворительно, хорошо, отлично).
Разработать приложение, которое позволяет определять оценку за контрольную работу по физике. Оценка зависит от суммы набранных баллов так, как показано в табл. Форму разработать в соответствии с образцом.
Баллы |
Оценка |
Менее 15 От 15 до 24 От 25 до 34 Не менее 35 |
2 3 4 5 |
Используя вложенный цикл, разработать приложение, которое рисует на форме несколько рядов одинаковых окружностей (см. образец)
Разработать приложение, которое рисует на форме несколько окружностей разного радиуса, цент окружностей совпадает (см. образец)
Разработать приложение, которое рисует на форме несколько разноцветных окружностей разного радиуса, цент окружностей смещен на одинаковую величину
(см. образец).
Вывести все числа от 1 до 1000, которые:
- являются квадратами четных чисел.
- кратны 3 и не кратны 5
Ввести два числа А и С.
- Найти произведение этих чисел, используя только операцию сложения.
- Вычислить АС, используя только операцию умножения.
Ввести число. Определить:
- количество цифр в числе.
- сумму этих цифр.
В текущем месяце бригада в каждый последующий день работы выпускала на три изделия больше, чем в предыдущий. В первый день было выпущено 42 изделия, что составило 67% дневной нормы.(В месяце 26 рабочих дней). Напечатайте “Бригада выполнила норму” или “Бригада не выполнила норму”, в зависимости от полученного результата.
Ввести текст.
- Вывести каждый второй символ.
- Определить сколько раз в нем встречается буква “а”.
- Определить сколько раз в строке встречается сочетание “ен”
- Выведите этот текст, удалив все цифры (коды цифр с 48 до 57).
- Составить программу перевода десятичного числа в двоичное.
- Составить программу перевода двоичного числа в десятичное
1. Росс Нельсон, Running Visual Basic 3 for Windows, пер. с англ. – М.: Издательский отдел «Русская Редакция» ТОО «Channel Trading Ltd.», 1995
2. Кауэлл Дж.Visual Basic 4.0: просто - о самом существенном, Пер. с англ. - М. :ИНФРА-М, 1998.
3. Волченков Н.Г. Учимся программировать: Visual Basic 5, - М.:»Диалог-МИФИ», 1998
4. Волченков Н.Г, Программирование на Visual Basic 6 в 3-х ч., М.:ИНФРА-М, 2000
5. Visual Basic 6.0, Руководство для профессионалов, пер. с англ.- СПб.:БХВ – Санкт-Петербург, 1999
Получите профессию
за 6 месяцев
Пройти курс
Рабочие листы
к вашим урокам
Скачать
Выбранный для просмотра документ VB Лабораторный практикум 4 часть.doc
Государственное бюджетное образовательное учреждение
высшего профессионального образования Московской области
«Международный университет природы, общества и человека «Дубна»
(Университет «Дубна»)
Филиал ДИНО университета «Дубна»
ЛАБОРАТОРНЫЙ ПРАКТИКУМ
4 часть
Visual Basic. Основы программирования
Теория
Лабораторно-практические работы
Задания для самостоятельного выполнения
Дмитров 2012
Автор:
Живодерова Валентина Викторовна – преподаватель спецдисциплин филиала ДИНО университета «Дубна».
Лабораторный практикум предназначен для проведения лабораторно-практических работ при изучении языка программирования Visual Basic в общеобразовательных и профессиональных образовательных учреждениях, а также для самостоятельного изучения.
В пособии использованы материалы отечественных и переводных книг по Visual Basic, а так же автором обобщен личный опыт преподавания данного языка.
Предисловие............................................................................................................................................................................................ 4
Создание меню..................................................................................................................................................................................... 5
Редактор меню............................................................................................................................................................................................ 5
Отображение контекстного меню...................................................................................................................................................... 5
Работа с несколькими окнами............................................................................................................................................ 6
Стандартные диалоговые окна........................................................................................................................................... 6
Параметры выделенного текста......................................................................................................................................... 6
Использование буфера обмена (объект Clipboard).......................................................................................... 7
События клавиатуры и мышки............................................................................................................................................ 7
События, возникающие при работе с мышью................................................................................................................................ 7
События, возникающие при работе с клавиатурой..................................................................................................................... 7
События, связанные с фокусом........................................................................................................................................................... 7
Лабораторно-практические работы................................................................................................................................ 8
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 1........................................................................................................................... 8
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 2........................................................................................................................... 9
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 3......................................................................................................................... 10
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 4......................................................................................................................... 11
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 5......................................................................................................................... 12
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 6......................................................................................................................... 13
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 7......................................................................................................................... 15
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 8......................................................................................................................... 17
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 9......................................................................................................................... 19
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 10....................................................................................................................... 21
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 11....................................................................................................................... 23
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 12....................................................................................................................... 25
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 13....................................................................................................................... 27
Задания для самостоятельного выполнения.................................................................................................... 29
Задание № 1............................................................................................................................................................................................... 29
Задание № 2............................................................................................................................................................................................... 29
Задание № 3............................................................................................................................................................................................... 29
Задание № 4............................................................................................................................................................................................... 30
Задание № 5............................................................................................................................................................................................... 30
Задание № 6............................................................................................................................................................................................... 30
Задание № 7............................................................................................................................................................................................... 30
Список использованной литературы......................................................................................................................... 31
Язык программирования Visual Basic все шире используется в российском образовании. Одна из проблем, с которыми сталкивается преподаватель, работающий с этим языком, - недостаток методической литературы. Данное учебное пособие может быть полезно преподавателям и учащимся, (подготовленным пользователям) изучающим объектно-ориентированное программирование на языке Visual Basic, а также может использоваться при проведении факультативных и кружковых занятиях в средних учебных заведениях. Опыт работы с другими языками программирования не обязателен, хотя, конечно, полезен.
Цель данного пособия – предоставить пользователю систематическое и наглядное изложение примеров разработки приложений под Windows.
Учебное пособие ( часть 4 )состоит из трех основных разделов:
1. Теория
В этом разделе рассматриваются события, связанные с мышью, клавиатурой и фокусом, средства разработки интерфейса приложений (конструктор меню и многооконный интерфейс, стандартные диалоговые окна), а также использование свойств Windows (использование буфера обмена и параметры выделенного текста).
Этот материал не претендует на полное изложение, его следует рассматривать, скорее всего, как справочную информацию, которая позволит эффективно выполнять лабораторно-практические работы.
2. Лабораторно-практические работы по темам:
Каждая работа содержит подробное пошаговое описание действий по созданию программного проекта. При оценке выполнения практических работ следует обращать внимание на точное выполнение всех предписаний в работе.
Выполнение практических работ № 12, 13 не является обязательным (на усмотрение преподавателя)
3. Задания для самостоятельного выполнения
Самостоятельное выполнение заданий позволяет закрепить навыки работы учащихся в среде Visual Basic Преподаватель может использовать их в качестве контрольных работ.
Как работать с пособием.
Для правильной работы необходимо иметь:
- Операционную систему Windows 95 или более поздней версии;
- Visual Basic 5.0. и выше;
- Процессор Pentium 166 MHz и выше;
- 5 MB HDD и более;
- Драйвер CD ROM;
- Монитор VGA или более высокого разрешения;
- 16 MB RAM;
- Мышь.
При установке Visual Basic на учебный компьютер должны быть включена библиотека рисунков и значков Graphics.
Использованию данного учебного пособия должно предшествовать изучение теоретического материала по тематике практических работ.
Контроль правильности выполнения практических работ и заданий для самостоятельного выполнения осуществляет преподаватель в режиме проектирования и в режиме выполнения.
Система меню – это основа пользовательского интерфейса. Большинство команд и возможностей программы доступны в виде меню. Visual Basic позволяет разрабатывать и кодировать меню прикладной программы.
Для создания меню в Visual Basic предназначен Редактор меню (Menu Editor). Редактор меню позволяет создавать новое меню и строки меню, добавлять в меню новые команды, а также изменять и удалять существующие пункты меню.
Редактор меню вызывается командой Tools / Menu Editor или щелчком по пиктограмме
В результате открывается окно.
Двумя важнейшими свойствами элемента управления меню являются:
Caption (Надпись) – это текст, который появляется на пункте меню.
Name (Имя) – значение этого свойства используется для ссылки на пункт меню из программы;
Для создания разделительной черты (разделяет функциональные группы пунктов меню) вместо имени вводится символ «-»;
Shortcut - раскрывающийся список комбинаций клавиш, из которого можно выбрать комбинацию «горячих» клавиш элементов списка меню;
Checked - флажок, при установке которого помечается пункт выбранною меню;
Enabled - флажок, при установке которого пункт меню доступен;
Visible - флажок, при установке которого пункт меню виден;
ç è кнопки изменения уровня пунктов меню;
é ê кнопки изменения позиции пунктов меню на одном и том же уровне:
Кнопки Next, Insert. Delete обеспечивают переход к следующему пункту меню, вставку и удаление пункта.
Контекстное меню – это меню, которое отображается в любом месте формы и не привязано к строке меню. Любое меню, имеющее по крайней мере одну команду, можно отобразить во время выполнения, как контекстное. Для этого используют метод PopupMenu, формат записи его таков:
ИмяОбъекта.PopupMenu
Любой код, следующий за вызовом метода PopupMenu, не выполняется, пока пользователь не выберет какую-нибудь команду из меню или не выйдет из меню.
Для создания многооконного интерфейса в проект можно добавлять несколько форм. Для того чтобы добавить новую форму , следует выполнить команду Project / Add Form, в появившемся окне выбрать Form нажать Открыть.
При проектировании нескольких форм удобно на экране расположить окно проекта (View / Project Explorer), в нем отображены имена форм, включенных в проект.
Каждая форма проекта хранится в своем собственном файле формы (расширение .Frm)
Файл формы содержит:
- описание формы;
- список средств управления;
- текст программы для формы и ее средств управления.
Когда вы ссылаетесь на объект в проекте с одной формой, вы просто указываете его название. В проекте с несколькими формами при обращении к объекту перед его названием необходимо поставить название формы, для отделения имени формы от имени объекта используется знак восклицания (!) или точка.
Чтобы показать форму во время выполнения программы используется метод Show
ИмяФормы.Show
Чтобы скрыть форму используется метод Hide
ИмяФормы.Hide
При загрузке программы первая форма является стартовой. Стартовой можно сделать любую из форм, для этого выполните Project / Project Properties, далее из списка Startup Object выбрать нужную форму
С помощью объекта CommonDialog отображается 6 вариантов диалоговых окон (перечисленных ниже), вид окна зависит от используемого метода или значения свойства Action.
Вид окна |
Метод |
Значение свойства Action |
Файл Открыть |
ShowOpen |
1 |
Файл Сохранить Как |
ShowSave |
2 |
Выбор цвета |
ShowColor |
3 |
Окно форматирования |
ShowFont |
4 |
Печать |
ShowPrinter |
5 |
Окно справки |
ShowHelp |
6 |
В текстовом окне можно выделять текст. Выделенный текст имеет три параметра.
SelLength равен числу символов в выделенном тексте (=0, если текст не выделен)
SelStart определяет начало выделенного текста ( или положение указателя вставки, если текст не выделен)
SelText содержит сам выделенный текст
SetText записывает копию текста в буфер обмена
GetText возвращает копию текста из буфера обмена
SetData записывает копию выбранного рисунка в буфер обмена
GetData возвращает содержимое буфера обмена (копию рисунка)
GetFormat определяет, является содержимое буфера обмена текстовым или графическим
Clear стирает содержимое буфера обмена
Событием называется характеристика класса объектов, описывающая внешнее воздействие, на которое реагирует объект этого класса во время работы приложения.
Событие |
Описание |
Параметры событий |
Click |
Щелчок |
|
DblClick |
Двойной щелчок |
|
MouseDown |
Кнопка мыши нажата |
Shift – определяет статус клавиш Shift( 1 ), Ctrl( 2 ), Alt(4) ни одна кнопка не нажата - 0Button – определяет статус нажатой кнопки (левая - 1, правая - 2, средняя–4,) X,Y – позиция указателя курсора |
MouseUp |
Нажатая кнопка мыши отпущена |
|
MouseMove |
Мышь перемещается из своей текущей позиции |
|
DragDrop |
Завершение перетаскивания |
Source – ссылка на объект, который был перемещен, X,Y – позиция курсора |
DragOver |
«Буксируемый» объект попадает в область другого объекта |
Stale – принимает значения 0 –область занята, 1–область свободна |
Событие |
Описание |
Параметры событий |
KeyPress |
Нажата клавиша, соответствующая символу ASCII |
KeyAscii- значение ASCII-кода нажатой клавиши |
KeyDown |
Нажата любая клавиша на клавиатуре |
KeyCode – указывает нажатую клавишу Shift – определяет статус клавиш Shift(1), Ctrl( 2 ), Alt(4) |
KeyUp |
Отпущена любая клавиша |
Объект, имеющий фокус, может получать вводимую пользователем информацию с помощью мыши и клавиатуры.
Событие |
Описание |
GotFocus |
Получении фокуса |
LostFocus |
Потеря фокуса |
Тема: События мышки
Цель: Получить навыки использования событий MouseMove
Порядок выполнения
1. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Метка
|
Name |
Label1 |
Caption |
(отсутствует) |
2. В окне кода процедуры обработки события MouseMove для объекта Form набрать
Form1.Caption = "Координаты курсора " + Str(X) + " " + Str(Y)
If Button = 0 Then
Label1.Caption = "Движение мышки по форме"
End If
If Button = 1 Then
Label1.Caption = "Движение мышки по форме, нажата левая кнопка мышки"
End If
If Button = 2 Then
Label1.Caption = "Движение мышки по форме, нажата правая кнопка мышки"
End If
If Shift = 1 Then
Label1.Caption = "Движение мышки по форме, нажата Shift"
End If
If Shift = 2 Then
Label1.Caption = "Движение мышки по форме, нажата Ctrl"
End If
If Shift = 4 Then
If Shift = 1 Then
Label1.Caption = "Движение мышки по форме, нажата Shift"
End If
End If
3. В окне кода процедуры обработки события MouseMove для объекта Label1 набрать
Label1.Caption = "Движение мышки по метке"
4. Проверьте работу программы
Тема: События мышки
Цель: Получить навыки использования событий MouseDown, MouseUp, MouseMove
Порядок выполнения
1. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Переключатели
Caption (отсутствует) Style - Graphical |
Name |
OptCD |
Name |
OptDisk5 |
|
Name |
OptDisk3 |
2. Приведите свою форму в соответствие с образцом (измените свойство Picture)
3. В окне кода процедуры обработки события MouseDown для объекта Form набрать:
If OptCD.Value = True Then OptCD.Move X, Y
If OptDisk5.Value = True Then OptDisk5.Move X, Y
If OptDisk3.Value = True Then OptDisk3.Move X, Y
4. Проверьте работу программы: выберите один из переключателей и выполните несколько щелчков в свободном месте на форме
5. Измените программу – переместите программу из Form_MouseDown в Form_MouseUp
6. Определите разницу в работе программы.
7. Добавьте на форму текстовое окно (Text1)
8. В окне кода процедуры обработки события MouseMove для объекта OptCD набрать
Text1.Text = "Это CD ROM"
9. В окне кода процедуры обработки события MouseMove для объекта OptDisk3 набрать
Text1.Text = "Это 3-х дюймовая дискета"
10. В окне кода процедуры обработки события MouseMove для объекта OptDisk5 набрать
Text1.Text = "это 5-ти дюймовая дискета"
11. Проверьте работы программы
12. Измените программу для того, чтобы при движении курсора мышки по форме в текстовом окне не было сообщения
13. Результат показать преподавателю
Тема: События мышки
Цель: Получить навыки использования событий DragDrop, DragOver
Порядок выполнения
1. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Метка |
Name |
Label1 |
Caption |
Гараж |
|
Изображение |
Name |
Image1 |
|
DragMode |
1- Automatic |
|
DragIcon |
(такая же картинка как и в свойстве Picture) |
2. Приведите свою форму в соответствие с образцом
3. Проверьте работу программы, перетаскивая мышкой изображение.
4. Измените программу, для этого в окне кода процедуры обработки события DragDrop для объекта Form набрать
Source.Move X, Y
5. В окне кода процедуры обработки события DragOver для объекта Form набрать
Label1.Caption = "Гараж"
6. В окне кода процедуры обработки события DragOver для объекта Label1 набрать
Label1.Caption = "приехали"
Source.Move 0, 0
7. Проверьте работу программы
8. Добавьте на форму еще два любых изображения, измените у них свойства DragMode DragIcon (аналогично первому изображению)
9. Проверьте “буксировку “ на всех изображениях.
10. Результат показать преподавателю
11. Самостоятельно разработать приложение, работающее следующим образом:
При перемещении одной из школьной принадлежности в портфель, она становится невидимой
Когда портфель полностью собран, вывести сообщение «А теперь в школу»
12. Результат показать преподавателю.
Тема: События мышки
Цель: Закрепить навыки использования событий DragDrop, DragOver
Постановка задачи: При правильном перемещении флага на название государства, он должен устанавливаться рядом с названием, если перемещение выполнено неверно, флаг исчезает
Порядок выполнения
1. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение
|
Свойство
|
Значение
|
Изображение |
Name |
ImgGerm |
Tag |
1 |
|
Name |
ImgBras |
Tag |
2 |
|
Name |
ImgFra |
Tag |
3 |
|
Name |
ImgItal |
Tag |
4 |
|
Name |
ImgEng |
Tag |
5 |
Для всех изображений |
||||
|
DragMode |
1- Automatic |
||
|
Picture |
\Icons\Flags\… |
||
|
DragIcon |
(такая же картинка как и в свойстве Picture) |
||
Метка |
Name |
LblGerm |
Tag |
1 |
|
Name |
LblBras |
Tag |
2 |
|
Name |
LblFra |
Tag |
3 |
|
Name |
LblItal |
Tag |
4 |
|
Name |
LblEng |
Tag |
5 |
2. Приведите свою форму в соответствие с образцом
3. В окне кода процедуры обработки события DragOver для объекта LblBras набрать
If Source.Tag = ImgBras.Tag Then
Source.Top = LblBras.Top
Source.Left = LblBras.Left + LblBras.Width
Source.Visible = True
End If
4. В окне кода процедуры обработки события DragOver для других меток код набрать самостоятельно
5. В окне кода процедуры обработки события DragOver для объекта Form набрать
Source.Visible = False
6. Проверить работу программы
Тема: События клавиатуры.
Цель: Получить навыки использования события KeyPress, KeyUp, KeyDown
Порядок выполнения
1. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Рамки |
Caption |
Нажата клавиша |
Caption |
Код клавиши |
|
Метки |
Name |
LblKey |
Name |
LblCode |
2. Приведите свою форму в соответствие с образцом
3. В окне кода процедуры обработки события Load для объекта Form набрать
Form1.KeyPreview = True
4. В окне кода процедуры обработки события KeyPress для объекта Form набрать
LblKey.Caption = Chr(KeyAscii)
LblCode.Caption = KeyAscii
5. Проверить работу программы
6. Добавьте на форму еще одну рамку и метку (LblKeyCode)
7. В окне кода процедуры обработки события KeyDown для объекта Form набрать
LblKeyCode.Caption = "Нажата клавиша с кодом " + Str(KeyCode)
8. В окне кода процедуры обработки события KeyUp для объекта Form набрать
LblKeyCode.Caption = "Отпущена клавиша с кодом " + Str(KeyCode)
9. Проверьте работу программы
Тема: События клавиатуры.
Цель: Закрепить навыки использования события KeyDown, KeyUp
Постановка задачи: Разработать приложение, позволяющее перемещать шарик клавишами управления курсором( èçéê). Движение возможно только между линиями (для проверки на столкновение с линией использовать уравнение прямой).
Порядок выполнения
10. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Линии |
Name |
Line1 |
Name |
Line2 |
|
Фигура |
Name |
SSS |
Shape |
3 |
|
BackStyle |
1 |
|
BackColor |
белый |
11. Приведите свою форму в соответствие с образцом
12. В окне кода процедуры обработки события Load для объекта Form набрать
Form1.KeyPreview = True
13. В окне кода процедуры обработки события KeyDown для объекта Form набрать
'определим текущие координаты
x = sss.Left
y = sss.Top
'определим будущие координаты
If KeyCode = 37 Then 'нажата клавиша ç
x = x - 50
End If
If KeyCode = 39 Then ‘'нажата клавиша è
x = x + 50
End If
If KeyCode = 38 Then ‘'нажата клавиша é
y = y - 50
End If
If KeyCode = 40 Then ‘'нажата клавиша ê
y = y + 50
End If
ys1 = (Line1.Y2 - Line1.Y1) * (x - Line1.X1) / (Line1.X2 - Line1.X1) + Line1.Y1
ys2 = (Line2.Y2 - Line2.Y1) * (x - Line2.X1) / (Line2.X2 - Line2.X1) + Line2.Y1
If y < ys1 Or y > Abs(ys2) - sss.Height Then
MsgBox "Bыход за территорию!", , "Kуда пошел?"
Exit Sub
End If
sss.Move x, y 'движение
14. Проверьте работу приложения
15.
16. Измените программу так, чтобы при нажатии клавиш шарик становился красным, а когда отпущена – белым.
17. Измените программу так, чтобы управление шариком осуществлялось клавишами М (влево), И (вверх), Т (вправо) и пробел (вниз)
Результат показать преподавателю
Тема: События, связанные с клавиатурой
Цель: Закрепить навыки использования события KeyDown, KeyUp
Постановка задачи: Разработать приложение «Колобок», которое
должно работать следующим образом: колобок
постоянно жует, его можно перемещать клавишами управления курсора, кроме этого колобок «смотрит» туда, куда движется.
Порядок выполнения
1. Загрузите редактор Paint, установите размер рисунка 1 на1 см (Рисунок / Атрибуты))
2. Создайте 4 рисунка(см. образец) и сохраните их в файлы Колобок1, Колобок2,Колобок3, Колобок4
3. Загрузите Visual BasicУстановите на форме следующие объекты и измените им свойства
4. Выделите все изображения колобка (при нажатой клавише Shift) и измените следующие значения для свойств:
- Left 1000, Top 1000
5. В окне кода процедуры обработки события Timer для объекта Timer1 набрать
If Image1.Visible = True Then
Image1.Visible = False
Image3.Visible = True
Exit Sub
End If
If Image2.Visible = True Then
Image2.Visible = False
Image4.Visible = True
Exit Sub
End If
If Image3.Visible = True Then
Image3.Visible = False
Image1.Visible = True
Exit Sub
End If
If Image4.Visible = True Then
Image4.Visible = False
Image2.Visible = True
Exit Sub
End If
6. В окне кода процедуры обработки события KeyDown для объекта Form набрать
If KeyCode = 39 Then 'вправо
If Image1.Visible = False And Image3.Visible = False Then
Image1.Visible = True
Image2.Visible = False
Image4.Visible = False
End If
Image1.Left = Image1.Left + 100
Image2.Left = Image2.Left + 100
Image3.Left = Image3.Left + 100
Image4.Left = Image4.Left + 100
End If
If KeyCode = 37 Then 'влево
If Image2.Visible = False And Image4.Visible = False Then
Image2.Visible = True
Image1.Visible = False
Image3.Visible = False
End If
Image1.Left = Image1.Left – 100
Image2.Left = Image2.Left - 100
Image3.Left = Image3.Left – 100
Image4.Left = Image4.Left - 100
End If
If KeyCode = 40 Then 'вниз
Image1.Top = Image1.Top + 100
Image2.Top = Image2.Top + 100
Image3.Top = Image3.Top + 100
Image4.Top = Image4.Top + 100
End If
If KeyCode = 38 Then 'вверх
Image1.Top = Image1.Top – 100
Image2.Top = Image2.Top - 100
Image3.Top = Image3.Top – 100
Image4.Top = Image4.Top - 100
End If
7. Проверьте работу программы
Тема: Разработка интерфейса
Цель: Получить навыки создания меню и пользовательских окон
Порядок выполнения
1. Откройте новый проект и измените свойства для формы
:
Объект |
Свойство |
Значение |
Форма |
Name |
Form1 |
Caption |
Форма первая |
|
BackColor |
Розовый |
2. Создайте на форме ниспадающее меню, для этого выполните:
- на стандартной панели инструментов щелкните по значку Menu Editor
- в появившемся окне:
- в поле Caption введите Выберите форму, В поле Name MnuAll, щелкните Next
- в поле Caption введите Форма2, В поле Name Mnu2, щелкните Next и кнопку è
- в поле Caption введите Форма3, В поле Name Mnu3, щелкните Next и кнопку è
- в поле Caption введите Выход, В поле Name MnuExit щелкните Ок
3. В окне кода процедуры обработки события Click для пункта менюMnu2 набрать
Form2.Show
4. В окне кода процедуры обработки события Click для пункта менюMnu3 набрать
Form3.Show
5. В окне кода процедуры обработки события Click для пункта менюMnuExit набрать
Form4.Show
6. Отобразите на экране окно проекта View / Project Explorer, переместите его в нижний правый угол экрана
7. Добавьте в проект вторую форму Project / AddForm
8. Для новой формы измените свойства
Объект |
Свойство |
Значение |
Форма |
Name |
Form2 |
Caption |
Форма вторая |
|
BackColor |
Голубой |
9. На второй форме создайте меню из двух пунктов:
Свойство |
Значение |
Name |
MnuReturn |
Caption |
Назад |
Name |
MnuExit |
Caption |
Выход |
10. В окне кода процедуры обработки события Click для пункта менюMnuReturn набрать
Form2.Hide
11. В окне кода процедуры обработки события Click для пункта менюMnuExit набрать
Form4.Show
12. Добавьте в проект третью форму и измените ей свойства и создайте меню
Объект |
Свойство |
Значение |
Форма |
Name |
Form3 |
Caption |
Форма третья |
|
BackColor |
Зеленый |
13. В окне кода процедуры обработки события Click для пункта менюMnuReturn набрать
Form3.Hide
14. В окне кода процедуры обработки события Click для пункта менюMnuExit набрать
Form4.Show
15. Добавьте в проект четвертую форму и измените ей свойства, добавьте объект Image и создайте меню
Объект |
Свойство |
Значение |
Форма |
Name |
Form4 |
Caption |
Выход |
|
Изображение |
Name |
Image1 |
|
Stretch |
True |
|
Height |
3000 |
|
Width |
3000 |
|
Picture |
\Icons\Misc\Face02 |
16. В окне кода процедуры обработки события Click для пункта менюMnuYes набрать
End
17. В окне кода процедуры обработки события Click для пункта менюMnuNo набрать
Form4.Hide
18. В окне кода процедуры обработки события Click для объекта Image1 набрать
PopupMenu Mnu
19. Проверьте работу программы
20. Сделайте для своей программы окно-заставку, для этого:
- добавьте еще одну форму, измените у нее свойства по своему усмотрению, добавьте любую картинку
- введите программный код, который при щелчке по картинке отображает первую форму
- сделайте новую форму стартовой, для этого выберите Project / ProjectProperties, в списке Startup Object выберите Form5
21. Проверьте работу программы.
22. Результат показать преподавателю
Тема: События, связанные с мышкой
Цель: Закрепить навыки использования событий MouseMove, MouseDown и разработки меню
Постановка задачи: Разработать приложение «Графический редактор», позволяющий рисовать изображения, используя объекты точка, квадрат, круг, а также позволяющий менять размер этих объектов и их цвет
1. Откройте новый проект.
2. Установите на форме графическое окно (Pic1)и создайте следующее меню:
Пункты меню |
Name |
Объект Квадрат Круг Точка |
MnuOb |
MnuQw |
|
MnuCirc |
|
MnuPset |
|
Цвет Красный Зеленый Синий |
MnuColor |
MnuR |
|
MnuG |
|
MnuB |
|
Размер 5 10 20 |
MnuSize |
Mnu5 |
|
Mnu10 |
|
Mnu20 |
|
Очистить |
MnuCls |
Выход |
MniExit |
3. В разделе общих объявлений набрать
Dim f, S As Integer
4. В окне кода процедуры обработки события Load для объекта Form набрать
Form1.Height = 5500
Form1.Width = 5300
Pic1.Height = 4500
Pic1.Width = 5000
Pic1.Left = 100
Pic1.Top = 100
Pic1.Scale (0, 0)-(100, 100)
5. В окне кода процедуры обработки события Click для объекта Mnu10 набрать
S=10
6. Самостоятельно ввести код для Mnu5, Mnu20
7. В окне кода процедуры обработки события Click для объекта MnuB набрать
Pic1.ForeColor = vbBlue
8. Самостоятельно ввести код для MnuR, MnuG
9. В окне кода процедуры обработки события Click для объекта
MnuQw набрать f=3
MnuCirc набрать f=2
MnuPset набрать f=1
10. Самостоятельно написать код для пунктов меню Очистить, Выход
11. В окне кода процедуры обработки события MouseDown для объекта Pic1 набрать
Select Case f
Case 1 'точка
Pic1.Pset (X, Y), Pic1.ForeColor
Case 2 'круг
Pic1.Circle (X, Y), S
Case 3 'квадрат
Pic1.Line (X, Y)-(X + S, Y + S), , B
End Select
12. В окне кода процедуры обработки события MouseMove для объекта Pic1 набрать
If Button = 1 Then ‘нажата левая кнопка
Select Case f
Case 1 'точка
Pic1.Pset (X, Y), Pic1.ForeColor
Case 2 'круг
Pic1.Circle (X, Y), S
Case 3 'квадрат
Pic1.Line (X, Y)-(X + S, Y + S), , B
End Select
End If
13. Проверьте работы программы.
14. Измените программы так, чтобы при нажатии правой кнопки мышки она «работала» как стерка, т.е. рисовала квадрат белым цветом.
15. Результат показать преподавателю.
16. Добавьте в меню для пункта «Объекты» подпункт «Распылитель»и введите следующий код
f=4
17. Измените процедуры для событий MouseDown, MouseMove, добавив в каждую из них следующий код
Case 4
For i = 1 To 20
Pic1.PSet (Rnd * S + X - S / 2, Rnd * S + Y - S / 2), Pic1.ForeColor
Next i
18. Измените программу для рисования линии, используя следующий код: (не забудьте объявить новые переменные)
Case 10 'прямая
If z = 0 Then
z = 1
x0 = X : y0 = Y
Else
Pic1.Line (x0, y0)-(X, Y)
z = 0
End If
19. Предложите способ рисования ломанной линии
Тема: Использование буфера обмена и параметров выделенного текста
Цель: Получить навыки использования в программе буфера обмена.
Постановка задачи: Создать приложение для использования буфера обмена для обмена данными между текстовым окном и комбинированным списком, а также для вставки рисунка, созданного в Paint в окно рисунка.
Порядок выполнения:
1. Откройте новый проект
2. Добавить на форму следующие объекты и установить для них свойства:
Комбинированный список |
Name |
cboList |
Графическое окно |
Name |
picMyPic |
Текстовое окно |
Name |
TxtEdit |
3. Набрать код процедуры обработки события Load для объекта Form:
'Заполним комбинированный список
cboList.AddItem "Телефон"
cboList.AddItem "Рыба"
cboList.AddItem "Звонок"
4. Набрать код процедуры обработки события GotFocus для объекта picMyPicture :
'Изменим тип границы окна рисунка при помещении 'на него фокуса
picMyPicture.BorderStyle = 1
5. Набрать код процедуры обработки события LostFocus для объекта :picMyPicture
'Изменим тип границы окна рисунка при "потере" им фокуса.
picMyPicture.BorderStyle = 0
6. Набрать код процедуры для пункта Копировать
Clipboard.Clear 'Очистим буфер обмена
'Поиск выделенного элемента управления и
'помещение его содержимого в буфер обмена
If TypeOf Screen.ActiveControl Is TextBox Then
Clipboard.SetText Screen.ActiveControl.SelText
ElseIf TypeOf Screen.ActiveControl Is ComboBox Then
Clipboard.SetText Screen.ActiveControl.Text
ElseIf TypeOf Screen.ActiveControl Is PictureBox Then
Clipboard.SetData Screen.ActiveControl.Picture
End If
7. Набрать код процедуры для пункта Вырезать:
'Выполним процедуру mnuCopy_Click ()
mnuCopy_Click
'Поиск выделенного элемента управления
'и удаление его содержимого
If TypeOf Screen.ActiveControl Is TextBox Then
Screen.ActiveControl.SelText = " "
ElseIf TypeOf Screen.ActiveControl Is ComboBox Then
Screen.ActiveControl.Text = " "
ElseIf TypeOf Screen.ActiveControl Is PictureBox Then
Screen.ActiveControl.Picture = LoadPicture()
Else
End If
8. Набрать код процедуры для пункта Вставить:
If TypeOf Screen.ActiveControl Is TextBox Then
Screen.ActiveControl.SelText = Clipboard.GetText()
ElseIf TypeOf Screen.ActiveControl Is ComboBox Then
Screen.ActiveControl.Text = Clipboard.GetText()
ElseIf TypeOf Screen.ActiveControl Is PictureBox Then
Screen.ActiveControl.Picture = Clipboard.GetData()
9. Проверить работу программы, для этого:
загрузите программу;
сверните ваше приложение;
в редакторе Paint создайте рисунок и скопируйте его в буфер обмена;
разверните ваше приложение, вставьте рисунок в окно рисунка (оно должно быть выделено).
Приложение позволяет также копировать, вырезать, вставлять текст в (из) текстовое окно, комбинированный список. Поэкспериментируйте.
10. Сохраните проект.
Тема: Параметры выделенного текста, использование буфера обмена
Цель: Закрепить навыки использования свойств Windows и разработки интерфейса
Постановка задачи: Разработать приложение «Текстовый редактор», позволяющий копировать, перемещать выделенный контекст, форматировать, осуществлять поиск и замену в тексте.
Порядок выполнения:
1. Открыть новый проект
2. Установите для Form1 следующие параметры:
Caption Мой текстовый редактор
Height 4000
Left 1095
Name frmMain
Top 1170
Width 5000
3. Сохраните проект под именем BASICTXT
4. Добавьте на форму текстовое окно и установите следующие параметры:
FontSize 18
Height 3600 : Width 4870
Left 0 : Top 0
Name txtEditBox
Scrollbars 2-Vertical
Text отсутствует
MultiLine True
5. Загрузить проект, набрать произвольный текст. Нажать 10 раз Enter ( текст скроется из виду). Разверните окно (текстовое окно не увеличилось вместе с окном формы). Введите еще одну фразу. С помощью прокрутки верните на экран первоначальный текст. Остановите работу программы.
6. Для того, чтобы размер текстового окна менялся вместе размером формы в процедуру Form_Resize вставьте следующие строки:
txtEditBox.Height = ScaleHeight
txtEditBox.Width = ScaleWidth
7.Сохраните проект. Загрузите его. Разверните окно на весь экран, Обратите внимание на изменения в работе программы. Остановите программу.
8.Создать на форме следующее меню:
|
Правка
вырезать
копировать
вставить
найти
заменить
——————
Выход Ctrl+Q
9. Для пункта меню Выход ввести программный код.
10. Для пункта меню Вырезать ввести программный код:
Clipboard.Clear ' очистим буфер обмена
' поместить выделенный текст в системный буфер обмена
Clipboard.SetText txtEditBox.SelText
txtEditBox.SelText = "" 'очистить выделенный текст
11. Самостоятельно написать код для пункта Копировать.
12. Для пункта Вставить набрать программный код:
txtEditBox.SelText = Clipboard.GetText()
13. Загрузить программу и проверить правильность выполнения пунктов Вырезать, Копировать и Вставить
14. Для пункта меню Поиск и для него ввести программный код:
Find = InputBox("Что ищем?", "Поиск")
If Find = "" Then Exit Sub
LenFind = Len(Find)
LenS = Len(TxtEditBox.Text)
For I = TxtEditBox.SelStart To LenS
TxtEditBox.SelStart = I
TxtEditBox.SelLength = LenFind
If TxtEditBox.SelText = Find Then Exit Sub
Next I
16. Загрузить программу и проверить выполнение пункта Поиск. Измените программу так, чтобы, независимо от текущей позиции курсора в тексте, поиск осуществлялся с начала текста. Сохранить проект.
17. Добавить в пункт Правка подпункт Выделить все и написать для него программный код самостоятельно (установить курсор в начало текста, определить количество введенных символов, выделить все символы). Проверить правильность работы программы
19. Для каждого пункта Формат набрать программный код, меняющий параметры текстового окна.
20. Проверить работу программы. Сохранить проект.
21. Написать программный код для пункта Заменить:
Find = InputBox("Что ищем?", "Замена")
zam = InputBox("Чем заменим?", "Замена")
If Find = "" Then Exit Sub
LenFind = Len(Find)
LenS = Len(TxtEditBox.Text)
For I = TxtEditBox.SelStart To LenS
TxtEditBox.SelStart = I
TxtEditBox.SelLength = LenFind
If TxtEditBox.SelText = Find Then
TxtEditBox.SelText = zam
Exit Sub
End If
22. Проверьте работу программы, измените программный код для того, чтобы замена производилась во всем тексте («Заменить все»)
23. Результат показать преподавателю. Сохранить.
Тема: Работа с несколькими формами
Цель: Закрепить навыки разработки многооконного интерфейса.
Постановка задачи: Модернизировать приложение «Текстовый редактор: создать пользовательские диалоговые окна для режимов Найти и Заменить
1.Откройте проект BASICTXT.
2. Вставьте новую форму для создание пользовательского окна
3. Задайте следующие параметры для новой формы:
Name frmFind
Caption Поиск
BorderStyle 3-Fixed Dialog
ControlBox False
Height 1500 : Width 4500
Left 1500 : Top 4500
MaxButton False : MinButton False
4. Добавьте на форму командную кнопку и задайте ей следующие параметры:
Name cmdFind
Caption &Поиск
Default True
Height 375 : Width 1215
Left 3000 : Top 120
5. В окне проекта выберите BASICTXT.FRM и выведите на экран программу для пункта меню Найти.
6. Текст этой программы переместите в процедуру командной кнопки Поиск формы frmFind
7. Сохраните форму frmFind
8. Для формы Поиск установите текстовое окно со следующими параметрами:
Name txtFind
Height 375 : Width 2775
Left 120 : Top 120
Tabindex 0 : Text (отсутствует)
9. Исправьте процедуру cmdFind_Click() (изменения выделены курсивом)
Find = txtFind.Text
If Find = "" Then Exit Sub
LenFind = Len(Find)
LenS = Len(frmMain!txtEditBox.Text)
For I = frmMain!txtEditBox.SelStart To LenS
frmMain!txtEditBox.SelStart = I
frmMain!txtEditBox.SelLength = LenFind
If frmMain!txtEditBox.SelText = Find Then frmFind.Hide: Exit Sub
Next I
10. Активизируйте форму Мой текстовый редактор и исправьте программу для пункта меню Найти:
frmFind.Show
11. Сохраните проект и проверьте работу программы
12. Добавьте в свой текстовый редактор независимый переключатель (для определения нужно ли различать при поиске прописные и строчные буквы) для этого:
-установите на форме Поиск объект CheckBox и задайте для него свойства:
Name chkIgnoreCase
Caption Игнорировать
- измените программный код для командной кнопки Поиск
Find = txtFind.Text
‘ если включен переключатель, то строка поиска переводится в верхний регистр
If chkIgnoreCase.Value Then Find = UCase(Find)
If Find = "" Then Exit Sub
LenFind = Len(Find)
LenS = Len(frmMain!txtEditBox.Text)
For I= frmMain!txtEditBox.SelStart To LenS
frmMain!txtEditBox.SelStart = I
frmMain!txtEditBox.SelLength = LenFind
‘ изменение регистра выделенного текста
If chkIgnoreCase.Value Then thisSelection = UCase(thisSelection)
If frmMain!txtEditBox.SelText = Find Then frmFind.Hide: Exit Sub
Next I
1. Сохранить проект, проверить работу программы.
2. Добавить на форму Поиск командную кнопку Cancel. Щелчок по Cancel будет скрывать диалоговое окно Поиск.
Name cmdCancel
Cancel True
Captoin &Cancel
Width 1215 : Left 3000
Height 375 : Top 600
15. Программный код написать самостоятельно, проверить работу программы.
16. Самостоятельно создать диалоговое окно Заменить, которое использует в качестве независимого переключателя Заменить все.
Тема: Стандартные диалоговые окна
Цель: Получить навыки использования стандартного диалогового окна
Постановка задачи: Модернизировать приложение «Текстовый редактор: добавить возможность открытия и сохранения текста в файл, а также форматирование, используя стандартное диалоговое окно
Порядок выполнения:
1. Откройте проект BASICTXT.
2. Добавить стандартное диалоговое окно, для этого :
- щелкните правой кнопкой мышки по Панели элементов управления, выберите Components
- на закладке Controls в списке выберите флажок Microsoft Common Dialog Control 5.0, далее Ок
- добавите на форму объект Стандартное диалоговое окно
установить для диалогового окна значение параметра CancelError - True
3. Для пункта меню Файл /Сохранить как вывести окно программного кода и ввести в него следующие строки:
On Error GoTo SaveAsProblem ' обработка ошибок
' установив шаблоны
CommonDialog1.Filter = "Text files|*.TXT|Batch files|*.BAT|INI files|*.INI"
CommonDialog1.FilterIndex = 1
CommonDialog1.Action = 2 ' вывод диалогового окна Сохранить как
‘ сохранение файла
Open CommandDialog1.Filename For Output As 1
Print #1, txtEditBox.Text
Close #1
frmMain.Caption= CommandDialog1.Filename
Exit Sub
SaveAsProblem : ‘ была нажата кнопка Отмена
Exit Sub
6. Проверьте работу программы:
- введите текст, сохраните его
- остановите программу и сверните Visual Basic
- с помощью программы Проводник найти файл, созданный вашим текстовым редактором
- просмотрите его содержимое.
7. Ввести программный код, который открывает сохраненный текстовый файл и выводит его в txtEditBox (LOF - возвращает длину файла)
On Error GoTo OpenAsProblem ' обработка ошибок
' установив шаблоны
CommonDialog1.Filter = "Text files|*.TXT|Batch files|*.BAT|INI files|*.INI"
CommonDialog1.FilterIndex = 1
CommonDialog1.Action = 1 ' вывод диалогового окна Открыть
‘ открытие файла
Open CommonDialog1.Filename For Input As 1
txtEditBox.Text=Input$(LOF(1),1)
Close #1
frmMain.Caption= CommonDialog1.Filename
Exit Sub
OpenAsProblem : ‘ была нажата кнопка Отмена
Exit Sub
8. Проверить работу программы (откройте созданный вами текстовый файл).
9. Самостоятельно ввести программный код для Файл / Новый, для этого:
вывести простое диалоговое окно с запросом «текст удалять?»
если пользователь выбрал Оk, то содержимое txtEditBox очистить, изменить заголовок формы.
12. Сделайте пункта Формат невидимым
13. Добавьте в меню пункт Формат шрифта и для него введите программный код
CommonDialog1.FontName = TxtEditBox.FontName
CommonDialog1.FontBold = TxtEditBox.FontBold
CommonDialog1.FontSize = TxtEditBox.FontSize
CommonDialog1.FontItalic = TxtEditBox.FontItalic
CommonDialog1.Color = TxtEditBox.ForeColor
CommonDialog1.Flags = cdlCFPrinterFonts Or cdlCFEffects
CommonDialog1.Action = 4
TxtEditBox.FontName = CommonDialog1.filename
TxtEditBox.FontBold = CommonDialog1.FontBold
TxtEditBox.FontSize = CommonDialog1.FontSize
TxtEditBox.FontItalic = CommonDialog1.FontItalic
TxtEditBox.ForeColor = CommonDialog1.Color
14. Сохранить проект. Проверить работу программы. Измените программу для того, чтобы «работало» начертание «подчеркнутое» и «зачеркнутое».
При выполнении ниже приведенных заданий должны быть выполнены следующие требования:
- приложение должно иметь удобный интерфейс;
- имена объектов управления должны иметь трехбуквенный префикс в соответствии с типом объекта;
- имена переменных и объектов управления должны быть информативны;
Разработать приложение «Состав компьютера». Приложение должно состоять из 7-ми форм.
Первая (стартовая) форма –имеет меню (см. образец), которое позволяет выводить другие формы.
На каждой из форм (с 2 по7) находится изображение компонента компьютера и текст о его назначении, кроме того имеется пункт меню для возврата на стартовую форму.
Разработать приложение «Цветные карандаши». Приложение должно позволять рисовать зеленым, синим, красным и желтым карандашами, а также использовать стёрку. Кроме этого, при перемещении курсора по кнопкам с карандашами, в метку выводить подсказку о назначении инструмента рисования. Форму разработать в соответствии с образцом.
(выбор картинки
\Icons\ Writing\)
Расположите на форме таймер, фигуру «круг» и фигуру «прямоугольник.». Разработайте приложение, которое работает следующим образом:
- Прямоугольник выполняет роль лапты, он перемещается влево и вправо при нажатии клавиш. ® ¬ Круг - это мячик, который постоянно прямолинейно двигается , при столкновении с границами формы или лаптой меняет свое направление на противоположное.
Модернизируйте приложение, разработанное в практической работе № 7 («Колобок»). Добавьте на форму любое «съедобное» изображение, которое должно периодические менять свое местонахождение в окне. Если колобку удалось «съесть» добычу, вывести сообщение с пожеланием приятного аппетита.
Разработайте приложение «Новый текстовый редактор». Редактор должен позволять вводить и редактировать текст, выполнять копирование и перемещение текста с помощью панели инструментов, а также удалять весь текст. Редактор имеет следующее меню:
Вид Выход
Стандартная панель
В программе предусмотреть следующее:
- При выборе подпункта «Стандартная панель» панель отображается в окне редактора или убирается
- Стандартную панель можно перемещать буксировкой
- При перемещении курсора по пиктограммам панели, в заголовке формы выводить подсказку о назначении инструмента
- Если текст не выделен, инструменты «Вырезать» и «Копировать» должны быть недоступны
- Если буфер обмена пуст, инструмент «Вставить» должен быть недоступным.
Картинки для инструментов находятся в Graphics \ Bitmaps \ Offctbr \ Large \ B&W
Разработайте игровую программу «Возьми ключ». Программа должна работать следующим образом:
- «автоматические двери» постоянно двигаются вверх- вниз, отталкиваясь от верхней и нижней границы окна, их скорость случайна
- колобок должен перейти на противоположную сторону так, чтобы не столкнуться с дверьми, и «взять» ключ
- при столкновении с дверьми должно выводиться соответствующее сообщение.
Разработать игру «Клавиатурный тренажер», который работает следующим образом:
- сверху вниз «падает» буква .( метка с одной буквой, код буквы - случайное число от 192 до 223). Если буква «упала» , сверху начинает падать другая буква)
- игрок должен нажать соответствующую клавишу на клавиатуре.
- программа должна регистрировать количество ошибок (клавиша нажата неверно или буква «упала» и кнопка не была нажата)
- если количество ошибок превысит 10, то игрок проиграл
1. Росс Нельсон, Running Visual Basic 3 for Windows, пер. с англ. – М.: Издательский отдел «Русская Редакция» ТОО «Channel Trading Ltd.», 1995
2. Кауэлл Дж.Visual Basic 4.0: просто - о самом существенном, Пер. с англ. - М. :ИНФРА-М, 1998.
3. Волченков Н.Г. Учимся программировать: Visual Basic 5, - М.:»Диалог-МИФИ», 1998
4. Волченков Н.Г, Программирование на Visual Basic 6 в 3-х ч., М.:ИНФРА-М, 2000
5. Visual Basic 6.0, Руководство для профессионалов, пер. с англ.- СПб.:БХВ – Санкт-Петербург, 1999
Получите профессию
за 6 месяцев
Пройти курс
Рабочие листы
к вашим урокам
Скачать
Выбранный для просмотра документ VB Лабораторный практикум 5 часть.doc
Государственное бюджетное образовательное учреждение
высшего профессионального образования Московской области
«Международный университет природы, общества и человека «Дубна»
(Университет «Дубна»)
Филиал ДИНО университета «Дубна»
ЛАБОРАТОРНЫЙ ПРАКТИКУМ
5 часть
Visual Basic. Основы программирования
Теория
Лабораторно-практические работы
Задания для самостоятельного выполнения
Дмитров 2012
Автор:
Живодерова Валентина Викторовна – преподаватель спецдисциплин филиала ДИНО университета «Дубна».
Лабораторный практикум предназначен для проведения лабораторно-практических работ при изучении языка программирования Visual Basic в общеобразовательных и профессиональных образовательных учреждениях, а также для самостоятельного изучения.
В пособии использованы материалы отечественных и переводных книг по Visual Basic, а так же автором обобщен личный опыт преподавания данного языка.
Предисловие............................................................................................................................................................................................ 4
Массивы данных................................................................................................................................................................................. 5
Статические массивы............................................................................................................................................................................. 5
Динамические массивы......................................................................................................................................................................... 5
Массивы объектов............................................................................................................................................................................ 6
Создание и использование вызываемых процедур и функций........................................................... 6
Процедуры SUB........................................................................................................................................................................................... 6
Функции........................................................................................................................................................................................................ 7
Рекурсивные процедуры и функции................................................................................................................................................... 7
Лабораторно-практические работы................................................................................................................................ 8
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 1........................................................................................................................... 8
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 2......................................................................................................................... 10
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 3......................................................................................................................... 12
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 4......................................................................................................................... 14
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 5......................................................................................................................... 16
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 6......................................................................................................................... 18
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 7......................................................................................................................... 20
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 8......................................................................................................................... 22
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 9......................................................................................................................... 24
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 10....................................................................................................................... 26
ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 11....................................................................................................................... 29
Задания для самостоятельного выполнения.................................................................................................... 31
Задание № 1............................................................................................................................................................................................... 31
Задание № 2............................................................................................................................................................................................... 31
Задание № 3............................................................................................................................................................................................... 31
Задание № 4............................................................................................................................................................................................... 31
Задание № 5............................................................................................................................................................................................... 31
Задание № 6............................................................................................................................................................................................... 31
Задание № 7............................................................................................................................................................................................... 32
Задание № 8............................................................................................................................................................................................... 32
Задание № 9............................................................................................................................................................................................... 32
Задание № 10............................................................................................................................................................................................. 32
Задание № 11............................................................................................................................................................................................. 32
Задание № 12............................................................................................................................................................................................. 33
Задание № 13............................................................................................................................................................................................. 33
Задание № 14............................................................................................................................................................................................. 33
Задание № 15............................................................................................................................................................................................. 33
Задание № 16............................................................................................................................................................................................. 33
Список использованной литературы......................................................................................................................... 34
Язык программирования Visual Basic все шире используется в российском образовании. Одна из проблем, с которыми сталкивается преподаватель, работающий с этим языком, - недостаток методической литературы. Данное учебное пособие может быть полезно преподавателям и учащимся, (подготовленным пользователям) изучающим объектно-ориентированное программирование на языке Visual Basic, а также может использоваться при проведении факультативных и кружковых занятиях в средних учебных заведениях. Опыт работы с другими языками программирования не обязателен, хотя, конечно, полезен.
Цель данного пособия – предоставить пользователю систематическое и наглядное изложение примеров разработки приложений под Windows.
Учебное пособие ( часть 5 )состоит из трех основных разделов:
1. Теория
В этом разделе рассматриваются массивы данных и массивы объектов, вызываемые процедуры и функции, в том числе и рекурсивные.
Этот материал не претендует на полное изложение, его следует рассматривать, скорее всего, как справочную информацию, которая позволит эффективно выполнять лабораторно-практические работы.
2. Лабораторно-практические работы по темам:
Каждая работа содержит подробное пошаговое описание действий по созданию программного проекта. При оценке выполнения практических работ следует обращать внимание на точное выполнение всех предписаний в работе.
3. Задания для самостоятельного выполнения
Самостоятельное выполнение заданий позволяет закрепить навыки работы учащихся в среде Visual Basic Преподаватель может использовать их в качестве контрольных работ.
Как работать с пособием.
Для правильной работы необходимо иметь:
- Операционную систему Windows 95 или более поздней версии;
- Visual Basic 5.0. и выше;
- Процессор Pentium 166 MHz и выше;
- 5 MB HDD и более;
- Драйвер CD ROM;
- Монитор VGA или более высокого разрешения;
- 16 MB RAM;
- Мышь.
При установке Visual Basic на учебный компьютер должны быть включена библиотека рисунков и значков Graphics.
Использованию данного учебного пособия должно предшествовать изучение теоретического материала по тематике практических работ.
Контроль правильности выполнения практических работ и заданий для самостоятельного выполнения осуществляет преподаватель в режиме проектирования и в режиме выполнения.
Массив - упорядоченная совокупность однотипных данных, обозначенных одним именем. Имя массива образуется по тем же правилам, что и имена переменных.
Отдельные величины, образующие массив, называются элементами массива.
Каждый элемент в массиве имеет номер (индекс), по которому можно обратиться к значению элемента. Индекс - числовое значение целого типа.
Количество элементов в массиве называется размером массива. Массивы бывают:
- одномерные, элемент определяется одним индексом (можно сравнить с таблицей из одной строки.
- двумерные - два индекса определяют элемент (таблица из нескольких строк и столбцов).
Перед использованием в программе массив должен быть объявлен оператором DIM, который резервирует память.
Dim ИмяМассива (границы) [As тип]
При объявлении статического массива можно указывать границы (верхнюю и нижнюю).
Пример:
DIM A(10 TO 15) одномерный массив, индексы элементов с 10 до 15
DIM B(12) одномерный массив из 13 элементов (если верхняя граница не указана, то она = 0)
DIM C(3,10) двумерный массив из 4-х строк и 11-ти столбцов
DIM N(5 TO 10, 3 TO 13) двумерный массив из 6-х строк и 11-ти столбцов
Массив, размер которого можно менять в процессе работы программы, называется динамическим. Динамические массивы используются, когда заранее неизвестно какой длины он должен быть.
Для создания динамического массива следует:
- объявить массив без указания размерности массива Dim ИмяМассива ( )
- c помощью оператора ReDim назначить действительное число элементов массива
Оператор ReDim изменяет количество элементов в массиве, при этом можно в качестве границ массива можно указывать не числа, а переменные. Один и тот же массив можно переопределять в одной программе несколько раз. Если вы хотите при переопределении границ сохранить значения, уже присвоенные элементам массива, нужно воспользоваться ключевым словом Preserve (сохранить), в противном случае после переопределения границ массива все его значения будут утеряны.
ReDim Preserve ИмяМассива (границы)
Тип массива менять нельзя.
Если необходимо освободить память, занимаемую динамическим массивом, то можно использовать оператор Erase.
Erase ИмяМассива
Память, занимаемая статическим массивом, не освобождается. Вместо этого Erase присваивает элементам массива «пустые» значения (для числовых массивов – 0, для строковых – пустая строка)
В Visual Basic разрешается определять массивы объектов (элементов управления), что весьма удобно, если в программе имеются группы объектов, действующих примерно одинаково. Такие массивы позволяют «привязывать» разные элементы управления к одной процедуре обработки события.
Существует два способа создания массива объектов:
1. установить на форму первый элемент управления, полностью описать его свойства, скопировать его необходимое количество раз и расставить на форме уже готовые копии
2. установить объект, изменить необходимые свойства, установить следующий объект, присвоив ему такте же имя (Name) как и у первого объекта.
Элементы массива объектов имеют одинаковые имена, различаются по индексу (Index), остальные свойства могут совпадать или отличаться. Для обращения к элементу массива объектов необходимо указать имя объекта и в круглых скобках индекс.
Любая программа на Visual Basic является процедурой или функцией.
В предыдущих разделах рассматривались процедуры обработки событий, которые в процессе выполнения программы запускались в результате свершения некоторого определенного события (щелчок мыши, нажатие клавиши и т.п.). Однако в Visual Basic имеется возможность выделить неоднократно повторяющиеся фрагменты программы в определенным образом организованные функциональные блоки операторов, которые можно использовать без их повторного написания и отладки. При этом сложные программы получаются более компактными. Организовать функциональные блоки в Visual Basic можно в виде процедур (Procedure) и функции (Function).
Процедура или функция, как и цикл, предназначены для неоднократного исполнения набора каких-то операторов. Отличие от цикла состоит в том, что сама по себе процедура (функция) операторы не повторяет, а объединяет их в единую группу, которую можно выполнить в любой момент, т.е. она действует при вызове. Такие функции и процедуры называют вызываемые или процедурами общего назначения.
Прекращение выполнения вызванной процедуры или функции (Возврат) означает возвращение в вызывающую процедуру или функцию, выполнение которой продолжается с оператора, следующего за вызывающим оператором.
Программный код процедур и функций, не являющихся процедурами обработки событии, помещается в раздел General списка Object в окне программного кода.
Общий формат процедуры SUB:
SUB ИмяПроцедуры (параметры)
операторы
END SUB
Процедура SUB вызывается как отдельный оператор и не может быть использована как часть выражения.
Вызов процедуры SUB:
1 способ
CALL ИмяПроцедуры(аргументы)
2 способ
ИмяПроцедуры аргументы
Список аргументов определяет связь по данным между процедурами. По количеству, порядку следования и типу параметры и аргументы должны совпадать. Процедура SUB может возвращать несколько значений в вызывающую подпрограмму, производя вычисления над переменными из списка аргументов. Это единственная возможность для SUB переслать значения.
Exit Sub вызывает прекращение выполнения процедуры и выход из нее в вызывающую программу.
Функции целесообразно создавать, когда необходимо многократно вычислять одно и тоже выражение при различных значениях параметров.
Общий формат процедуры FUNCTION
FUNCTION ИмяФункции [(список параметров)] [As тип]
[операторы объявления]
[операторы]
ИмяФункции = выражение
END FUNCTION
Параметры - значения, которые передаются функции при ее вызове.
Выражение - возвращаемое значение функции
Список параметров имеет следующий синтаксис:
имя[( )][As тип], имя[( )][As тип]…
Имя — имя переменной или массива .без указания границ значения индексов
Список аргументов определяет связь по данным между вызывающей (функция, из которой происходит вызов) и вызываемой (функция, которая вызывается) процедурами или функциями.
Exit Function вызывает прекращение выполнения функции и выход из нее в вызывающую программу.
Функция вызывается точно также, как и любая встроенная функция, т.е. она является операндом выражения с указанием списка аргументов. Список аргументов и список параметров должны соответствовать по количеству, порядку следования и типу.
Объект называется рекурсивным, если он целиком или частично определяется через самого себя. Объекты, которые определяются через себя целиком, практического интереса не представляют, т.к. являются бесконечными.
Рекурсивная функция (процедура) – это такая функция (процедура), среди выполняемых операторов которой есть оператор вызова самой этой функции (процедуры. Среди этих выполняемых операторов обязательно должно быть условие завершения (продолжения) рекурсии. Последовательность рекурсивных вызовов называется рекурсивным спуском. Номер рекурсивного вызова в этой последовательности называется глубиной рекурсии. Операторы, расположенные после оператора рекурсивного вызова, выполняются в порядке, обратном тому, в котором происходят рекурсивные вызовы. Говорят, что действие выполняется на рекурсивном подъеме.
Тема: Статические массивы данных.
Цель: Получить навыки использования одномерных массивов данных
Порядок выполнения
1. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Командные кнопки |
Name |
CmdMas |
Caption |
Заполнение и вывод массива |
|
|
Name |
CmdSort |
|
Caption |
Сортировка массива |
|
Name |
CmdMAx |
|
Caption |
Определить |
|
Name |
CmdSr |
|
Caption |
Определить |
Рамки |
Caption |
Max и Min значения в массиве |
|
Caption |
Среднее значение |
Текстовые окна |
Name |
TxtMas |
Name |
TxtSort |
|
Name |
TxtMax |
|
Name |
TxtMin |
|
Name |
TxtSr |
2.
3. В разделе общих объявлений объявите массив Dim Mas(10)
4. В окне кода процедуры обработки события Click для объекта CmdMas набрать:
'
заполнение случайными числами
txtMas.Text = ""
For i = 1 To 10
mas(i) = Int(Rnd * 100)
txtMas.Text = txtMas.Text + " " + Str(mas(i))
Next i
5. В окне кода процедуры обработки события Click для объекта CmdSort набрать
For i = 1 To 10
For j = 1 To 9
If mas(j) > mas(j + 1) Then
k = mas(j)
mas(j) = mas(j + 1)
mas(j + 1) = k
End If
Next j
Next i
txtSort.Text = ""
For i = 1 To 10
txtSort.Text = txtSort.Text + " " + Str(mas(i))
Next i
6. В окне кода процедуры обработки события Click для объекта CmdMax набрать
Max = mas(1)
For i = 2 To 10
If mas(i) > Max Then Max = mas(i)
Next i
TxtMax.Text = Max
7. Самостоятельно набрать код для нахождения минимального значения в массиве
8. В окне кода процедуры обработки события Click для объекта CmdSr набрать
s = 0
For i = 1 To 10
s = s + mas(i)
Next i
TxtSR.Text = s / 10
9. Проверьте работу программы
10. Измените программу так, чтобы массив заполнялся буквами русского алфавита, для этого:
- измените тип массива
- в окне кода процедуры обработки события Click для объекта CmdMas набрать
txtMas.Text = ""
For i = 1 To 10
mas(i) = Chr((Rnd * 32) + 224) ' коды русских букв от 224 до 255
txtMas.Text = txtMas.Text + " " + mas(i)
Next i
- в остальных процедурах уберите обращение к функции Str()
11. Проверьте работу программы. Объясните причину ошибки при вызове программы, определяющей среднее значение
Тема: Статические массивы данных.
Цель: Получить навыки использования двумерных массивов данных
Порядок выполнения
1. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Командные кнопки |
Name |
Cmd1 |
Caption |
Заполнение |
|
|
Name |
Cmd2 |
|
Caption |
Min и Max в строке |
|
Name |
Cmd3 |
|
Caption |
Преобразовать |
Графические окна |
Name |
PicMassiv |
Name |
PicMassiv0 |
|
Name |
PicMin |
|
Name |
PicMax |
2. Приведите свою форму в соответствие с образцом
3. В разделе общих объявлений объявите массив
Dim Mas(4, 6) As Integer
4. В окне кода процедуры обработки события Click для объекта Cmd1набрать:
PicMassiv.Cls
For i = 0 To 4
For j = 0 To 6
Mas(i, j) = Int(Rnd * 10)
PicMassiv.Print Mas(i, j); " ";
Next j
PicMassiv.Print
Next i
5. В окне кода процедуры обработки события Click для объекта Cmd2 набрать
PicMax.Cls
PicMin.Cls
For i = 0 To 4
Max = Mas(i, 0)
Min = Mas(i, 0)
For j = 0 To 6
If Max < Mas(i, j) Then Max = Mas(i, j)
If Min > Mas(i, j) Then Min = Mas(i, j)
Next j
PicMax.Print Max
PicMin.Print Min
Next i
6. Проверьте работу программы. Измените программы так, чтобы она определяла также максимальные и минимальные значения для каждого столбца, а также сумму значений каждого столбца.
7. В окне кода процедуры обработки события Click для объекта Cmd3 набрать
'поменять местами первый и последний столбец
For i = 0 To 4
s = Mas(i, 0)
Mas(i, 0) = Mas(i, 6)
Mas(i, 6) = s
Next
'вывести массив после перестановки столбцов
PicMassiv0.Cls
For i = 0 To 4
For j = 0 To 6
PicMassiv0.Print Mas(i, j); " ";
Next j
PicMassiv0.Print
Next i
8. Проверьте работу программы. Измените программу так, чтобы местами менялись значения первой и последней строки.
9. Добавьте на форму еще одну командную кнопку (Cmd4) и графическое окно (PicMas2). При щелчке по новой кнопке заполнить массив 5 на 5 по следующему правилу: значения элементов главной диагонали равны 0, ниже главной диагонали – 1, выше главной диагонали равны –1. Для этого объявите массив и в окне кода процедуры обработки события Click для объекта Cmd4 набрате
PicMas2.Cls
For i = 1 To 5
For j = 1 To 5
If i > j Then mas2(i, j) = 1
If i < j Then mas2(i, j) = -1
If i = j Then mas2(i, j) = 0
PicMas2.Print mas2(i, j); " ";
Next j
PicMas2.Print
Next i
10. Проверить работу программы.
Тема: Динамические массивы данных.
Цель: Получить навыки использования динамического массива данных
Порядок выполнения
1. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Рамки |
Name |
Frame1 |
Caption |
Укажите кол-во студентов |
|
Name |
Frame2 |
|
Caption |
(отсутствует) |
|
Visible |
False |
|
Командные кнопки |
Name |
Cmd1 |
Caption |
Переопредеить массив |
|
|
Name |
Cmd2 |
|
Caption |
Добавить в массив |
Текстовые окна |
Name |
TxtKol |
Name |
TxFamt |
|
Name |
TxtName |
|
Список |
Name |
List1 |
Остальные объекты - метки |
2. Приведите свою форму в соответствие с образцом
3. В разделе общих объявлений набрать:
Dim student() As String
Dim x, n As Integer
4. В окне кода процедуры обработки события Load для объекта Form набрать
Frame2.Caption = "Студент N " + Str(n + 1)
5. В окне кода процедуры обработки события Click для объекта Cmd1 набрать
x = Val(TxtKol.Text)
ReDim student(x) ‘ переопределение размера массива
List1.Clear
Frame2.Visible = True
Frame1.Visible = False
n = 0
6. В окне кода процедуры обработки события Click для объекта Cmd2 набрать
If n < x Then
student(n) = TxtFam.Text + " " + TxtName.Text
TxtFam.Text = ""
TxtName.Text = ""
n = n + 1
Frame2.Caption = "Студент N " + Str(n + 1)
If n = x Then
Frame2.Caption = ""
MsgBox "Массив заполнен полностью"
Frame2.Visible = False
Frame1.Visible = True
For i = 0 To n - 1
List1.AddItem student(i)
Next i
End If
7. Проверьте работу программы
Тема: Массивы объектов.
Цель: Получить навыки использования массива объектов
Порядок выполнения
8. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Свойство |
Значение |
Командная кнопка |
Name |
Cmd |
|
|
Caption |
Нажми |
|||
Массив меток |
Index |
1 |
Caption |
Точка, точка |
Name Label1 |
Index |
2 |
Caption |
Два крючочка |
|
Index |
3 |
Caption |
Носик, ротик |
|
Index |
4 |
Caption |
Оборотик |
|
Index |
5 |
Caption |
Ручки |
|
Index |
6 |
Caption |
Ножки |
|
Index |
7 |
Caption |
Огуречик |
|
Index |
8 |
Caption |
Вот и вышел человечек |
Массив фигур |
Index |
0 |
Глаз |
|
Shape1 |
Index |
1 |
Глаз |
|
|
Index |
2 |
Нос |
|
|
Index |
3 |
Рот |
|
|
Index |
4 |
Голова |
|
|
Index |
5 |
Рука |
|
|
Index |
6 |
рука |
|
|
Index |
7 |
Нога |
|
|
Index |
8 |
Нога |
|
|
Index |
9 |
Туловище |
|
Линии |
Name |
Line1 |
Брови |
|
|
Name |
Line2 |
||
Таймер |
Name |
Timer1 |
|
9. Приведите свою форму в соответствие с образцом
10. В разделе общих объявлений набрать
Dim k As Integer
11. В окне кода процедуры обработки события Load для объекта Form набрать:
'количество щелчков по кнопке
k = 0
12. В окне кода процедуры обработки события Click для объекта Cmd набрать:
k = k + 1
If k < 9 Then
Label1(k).Visible = True
If k = 1 Then Shape1(0).Visible = True : Shape1(1).Visible = True
If k = 2 Then Line1.Visible = True : Line2.Visible = True
If k = 3 Then Shape1(2).Visible = True : Shape1(3).Visible = True
If k = 4 Then Shape1(4).Visible = True
If k = 5 Then Shape1(5).Visible = True : Shape1(6).Visible = True
If k = 6 Then Shape1(7).Visible = True : Shape1(8).Visible = True
If k = 7 Then Shape1(9).Visible = True
If k = 8 Then MsgBox "Здравствуй, дружок", , "Привет"
Else
MsgBox "До свидания, дружок", , "Я ушел"
Timer1.Interval = 1
End If
13. В окне кода процедуры обработки события Timer для объекта Timer1 набрать:
'движение человечка по "частям"
For i = 0 To 9
Shape1(i).Left = Shape1(i).Left + 50
Next i
If Shape1(1).Left > 9000 Then End
14. Проверьте работу программы
15. Измените программу так, чтобы «брови» двигались вместе с «человечком»
Тема: Массивы объектов.
Цель: Закрепить навыки использования массива объектов
Постановка задачи: разработать приложение, реализующую принцип игры в «Пятнашки»
Порядок выполнения
1. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Командная кнопка |
Name |
CmdGame |
Caption |
Игра |
|
Массив командных кнопок |
Name |
Cmd |
|
Index |
От 0 до 8 |
|
Font |
Размер 18 полужирный |
|
Caption |
(отсутствует) |
Таймер |
Name |
Timer1 |
2. В разделе общих объявлений набрать:
Dim KN(8, 2) 'для координат кнопок
3. В окне кода процедуры обработки события Load для объекта Form набрать
'установим размеры и заголовки кнопок
For I = 0 To 8
cmd(I).Height = 1000
cmd(I).Width = 1000
cmd(I).Caption = I
Next I
cmd(0).Caption = ""
c = 0
'взаимное положение кнопок
For I = 0 To 8 Step 3
cmd(I).Left = 1000: cmd(I).Top = 1000 + c * 1000
cmd(I + 1).Left = 2000: cmd(I + 1).Top = 1000 + c * 1000
cmd(I + 2).Left = 3000: cmd(I + 2).Top = 1000 + c * 1000
c = c + 1
Next I
'запомним координаты упорядоченных кнопок
For I = 0 To 8
KN(I, 1) = cmd(I).Left
KN(I, 2) = cmd(I).Top
Next I
4. В окне кода процедуры обработки события Click для объекта Cmd набрать
'координаты "пустышки"
x0 = cmd(0).Left
y0 = cmd(0).Top
'координаты выбранной кнопки
x = cmd(Index).Left
y = cmd(Index).Top
If x0 = x And Abs(y - y0) = 1000 Then
'соседи по столбцу
cmd(0).Move x, y
cmd(Index).Move x0, y0
End If
If y0 = y And Abs(x - x0) = 1000 Then
'соседи по строке
cmd(0).Move x, y
cmd(Index).Move x0, y0
End If
5. В окне кода процедуры обработки события Click для объекта CmdGame набрать
'перемешаем кнопки
Randomize Timer
For I = 1 To 20
K = Int(Rnd * 9)
cmd_Click (K)
Next I
' включим таймер
Timer1.Interval = 1
6. В окне кода процедуры обработки события Timer для объекта Timer1 набрать
For I = 0 To 8
If KN(I, 1) <> cmd(I).Left Then Exit Sub
If KN(I, 2) <> cmd(I).Top Then Exit Sub
Next I
MsgBox "Вы справились!", , "Поздравляю"
Timer1.Interval = 0
7. Проверьте работу программы
8. Измените стиль у кнопок на графический и добавьте в начало программы Timer1_Timer
f = Int(Rnd * 9)
cmd(f).BackColor = QBColor(Int(Rnd * 16))
9. Проверьте работу программы
10. Измените программу, увеличив количество кнопок ( 4 х 4 )
11. Проверьте работу программы
12. Измените программу так, чтобы упорядочивание выполнять по цвету кнопок, для этого:
- уберите нумерацию кнопок (Caption отсутствует)
- заблокируйте первые две строки в программе Timer1_Timer
- установите различный цвет фона для каждой кнопки
13. Результат показать преподавателю.
Тема: Массивы объектов.
Цель: Закрепить навыки использования массива объектов и оператора цикла
Постановка задачи: Разработать приложение- «Кроссворд»
Порядок выполнения:
1. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Массив меток Buk1 из 7 элементов для первого слова |
Font |
10, полужирный |
Index |
От 1 до 7 |
|
HeightWidth |
300 300 |
|
Caption (для первого элемента) |
1 |
|
Массив меток |
Font |
10, полужирный |
Buk2 |
Index |
От 1 до 8 |
из 8 элементов для второго слова |
HeightWidth |
300 300 |
|
Caption (для первого элемента) |
2 |
Массив меток |
Font |
10, полужирный |
Buk3 |
Index |
От 1 до 7 |
из 7 элементов для третьего слова |
HeightWidth |
300 300 |
|
Caption (для первого элемента) |
3 |
Массив меток |
Font |
10, полужирный |
Buk4 |
Index |
От 1 до 7 |
из 7 элементов для четвертого слова |
HeightWidth |
300 300 |
|
Caption (для первого элемента) |
4 |
Массив меток |
Font |
10, полужирный |
Buk5 |
Index |
От 1 до 4 |
из 4 элементов для пятого слова |
HeightWidth |
300 300 |
|
Caption (для первого элемента) |
3 |
Таймер |
Name |
Timer1 |
|
Interval |
1 |
2. Расположите объекты примерно так, как показано на образце. Элементы одного массива должны располагаться по возрастанию индексов. Не спешите делать пересечение слов.
3. В разделе общих объявлений набрать:
Dim vopr(28), otv(28) As String ' массивы с вопросами и ответами
Dim k 'кол-во отгаданных слов
4. В окне кода процедуры обработки события Load для объекта Form набрать:
'заполнение массива вопросами
vopr(1) = "устройство печати"
vopr(2) = "устройство ввода вывода"
vopr(3) = "устройство вывода"
vopr(4) = "гибкий диск"
vopr(5) = "устройство ввода"
'заполнение массива ответами
otv(1) = "принтер"
otv(2) = "дисковод"
otv(3) = "монитор"
otv(4) = "дискета"
otv(5) = "мышь"
k = 0
5. В окне кода процедуры обработки события Click для объекта Buk1 набрать:
otvet = InputBox(vopr(1))
n = Len(otvet)
If n = 0 Then Exit Sub
If otvet = otv(1) Then
'ответ введен верно, вывод букв в клетки
For i = 1 To n
buk1(i) = Mid(otvet, i, 1)
Next i
'количество отгаданных слов увеличилось на единицу
k = k + 1
End If
6. Проверьте работу программы (для первого слова)
7. Самостоятельно набрать код для остальных массивов меток
8. В окне кода процедуры обработки события Timer для объекта Timer1 набрать
If k = 5 Then
MsgBox "кроссворд разгадан"
Timer1.Interval = 0
9. Проверьте работу программы
10. В том случае, если программа работает полностью правильно, сделайте пересечение слов (см. образец)
11. Объясните, почему на пересечении слов не всегда сразу отображается буква, исправьте этот «недостаток» программы
12. Добавьте на форму кнопку «Справка» для вывода сообщения, как работать с программой
13. Результат показать преподавателю.
Тема: Массивы объектов. Массивы данных
Цель: Закрепить навыки использования массива объектов и массива данных
Постановка задачи: Разработать приложение-«Тест»
Порядок выполнения:
1. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Метка |
Caption |
Вопрос |
|
Name |
LblVopros |
|
Caption |
(отсутствует) |
Рамка |
Caption |
Выбери правильный ответ |
Массив переключателей OptOtvet |
Font |
10, полужирный |
Index |
От 1 до 3 |
|
Caption |
(отсутствует) |
|
Командная кнопка |
Name |
Cmd |
|
Caption |
Далее |
2. Приведите свою форму в соответствие с образцом
14. В разделе общих объявлений набрать:
Dim Test(4, 5) As String 'массив с вопросами и ответами
Dim Verno As Integer 'кол-во верных ответов
Dim n As Integer 'номер текущего вопроса
Dim s As Integer 'номер выбранного ответа
3. В окне кода процедуры обработки события Load для объекта Form набрать
For i = 1 To 3
OptOtvet(i).Value = False
Next i
n = 0 : Verno = 0
Test(0, 1) = "единица измерения памяти" 'первый вопрос
'варианты ответов на первый вопрос
Test(1, 1) = "тактовая частота"
Test(2, 1) = "байт"
Test(3, 1) = "количество точек"
Test(4, 1) = "2" 'номер правильного ответа на первый вопрос
'данные 2 вопроса
Test(0, 2) = "устройство обработки информации"
Test(1, 2) = "процессор"
Test(2, 2) = "ОЗУ"
Test(3, 2) = "дискета"
Test(4, 2) = "1"
'данные 3 вопроса
Test(0, 3) = "назначение монитора"
Test(1, 3) = "ввода"
Test(2, 3) = "вывод"
Test(3, 3) = "печать"
Test(4, 3) = "2"
'данные 4 вопроса
Test(0, 4) = "назначение CD ROM"
Test(1, 4) = "чтение информации"
Test(2, 4) = "запись информации"
Test(3, 4) = "хранение информации"
Test(4, 4) = "3"
'данные 5 вопроса
Test(0, 5) = "указать устройство ввода и вывода информации"
Test(1, 5) = "дискета"
Test(2, 5) = "мышь"
Test(3, 5) = "дисковод"
Test(4, 5) = "3"
4. В окне кода процедуры обработки события Click для объекта OptOtvet набрать
s = Index
5. В окне кода процедуры обработки события Click для объекта Cmd набрать
For i = 1 To 3
OptOtvet(i).Value = False
Next i
If n = 0 Then
n = 1
LblVopros.Caption = Test(0, n)
For i = 1 To 3
OptOtvet(i).Caption = Test(i, n)
Next i
Exit Sub
End If
If Test(4, n) = s Then Verno = Verno + 1
If n = 5 Then 'тест окончен
MsgBox Str(Verno), , "количество верных ответов"
End
End If
'вывод следующего вопроса
n = n + 1
LblVopros.Caption = Test(0, n)
For i = 1 To 3
OptOtvet(i).Caption = Test(i, n)
Next i
6. Проверьте работу программы
Тема: Массивы объектов. Массивы данных
Цель: Закрепить навыки использования массива данных и массива объектов
Постановка задачи: Создать приложение «Ваша диета», которое позволяет вводить данные для 6 человек (фамилия, имя, вес, рост) и выводит рекомендации по питанию каждого человека.
Порядок выполнения:
1. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Метки |
Caption |
Фамилия |
Caption |
Имя |
|
Caption |
Вес |
|
Caption |
Рост |
|
Текстовые окна |
Name |
TxtFam |
Name |
TxtNam |
|
Name |
TxtW |
|
Name |
TxtR |
|
Массив меток LblDieta |
Index |
От 1 до 6 |
Visible |
False |
|
Командная кнопка |
Name |
Cmd |
|
Caption |
Следующий |
2.
3. В разделе общих объявлений набрать
Dim f(1 To 6), n(1 To 6) As String
Dim w(1 To 6) As Integer
Dim r(1 To 60) As Integer
Dim i As Integer
4. В окне кода процедуры обработки события Click для объекта Cmd набрать
If i > 6 Then
MsgBox "Ввод окончен"
For j = 1 To 6
LblDieta(j).Visible = True
If r(j) - 100 > w(j) Then dieta = "на хлеб и воду"
If r(j) - 100 < w(j) Then dieta = "возьми с полки пирожок"
If r(j) - 100 = w(j) Then dieta = "все Ok"
LblDieta(j).Caption = f(j) + " " + n(j) + " " + dieta
Next j
Exit Sub
End If
f(i) = TxtFam.Text
n(i) = TxtNam.Text
w(i) = Val(TxtW.Text)
r(i) = Val(TxtR.Text)
i = i + 1
TxtFam.Text = ""
TxtNam.Text = ""
TxtW.Text = ""
TxtR.Text = ""
5. Проверьте работу программы.
Тема: Процедуры общего назначения
Цель: Получить навыки использования вызываемых процедур и функций
1 часть
Постановка задачи: Разработать приложение нахождения максимума из четырех чисел, используя функцию нахождения максимума из двух.
Порядок выполнения:
1. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Командная кнопка |
Name |
Cmd |
Метки |
Caption |
Введите числа |
Caption |
Max |
|
Текстовые окна |
Name |
Text1 |
Name |
Text2 |
|
Name |
Text3 |
|
Name |
Text4 |
|
Name |
TxtMax |
2. Приведите свою форму в соответствие с образцом
3. В окне кода процедуры обработки события Click для объекта Cmd набрать:
Dim x1 As Single, x2 As Single
Dim x3 As Single, x4 As Single
x1 = Val(Text1.Text)
x2 = Val(Text2.Text)
x3 = Val(Text3.Text)
x4 = Val(Text4.Text)
TxtMax.Text = max(max(x1, x2), max(x3, x4))
4. Создать функцию нахождения максимума из двух значений, для этого:
- в окне программного кода в списке Object выбрать General
- набрать следующий текст
Function max(a As Single, b As Single) As Single
If a > b Then
max = a
Else
max = b
End If
End Function
5. Проверить работу программы
6. Изменить программу, для того чтобы она определяла и максимум и минимум (самостоятельно создайте еще одну функцию)
7. Результат показать преподавателю
2 часть
Постановка задачи: Разработать приложение, которое строит три вида графика. Для подготовки графического поля перед выводом графика разработать вызываемую процедуру
8. Добавьте на форму графическое окно (PicDraw) и три командных кнопки (Cmd1, Cmd2, Cmd3 )
9. Приведите свою форму в соответствие с образцом
10. Создайте процедуру общего назначения для инициализации графического окна, для этого:
- в окне программного кода в списке Object выбрать General
- набрать следующий текст
Sub grafik(z1, z2, z3, z4)
PicDraw.Cls
PicDraw.Scale (z1, z2)-(z3, z4)
PicDraw.Line (z1, 0)-(z3, 0)
PicDraw.Line (0, z2)-(0, z4)
End Sub
11. В окне кода процедуры обработки события Click для объекта Cmd1 набрать
Call grafik(-10, 100, 10, -10)
For x = -10 To 10 Step 0.1
y = x ^ 2
PicDraw.PSet (x, y)
Next x
12. В окне кода процедуры обработки события Click для объекта Cmd2 набрать
Call grafik(-10, 2, 10, -2)
For x = -10 To 10 Step 0.1
y = Sin(x)
PicDraw.PSet (x, y)
Next x
13. В окне кода процедуры обработки события Click для объекта Cmd3 набрать
Call grafik(-10, 10, 10, -10)
For x = -10 To 10 Step 0.1
y = Abs(x)
PicDraw.PSet (x, y)
Next x
14. Проверьте работу программы
Тема: Процедуры общего назначения
Цель: Закрепить навыки создания вызываемых процедур и функций
Постановка задачи: По заданным координатам построить два треугольника и определить их площадь, используя вызываемую функцию, цель которой – вычисление площади треугольника
Порядок выполнения:
1. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Рамки |
Caption |
Ручная установка точек |
Caption |
Ввод координат вершин |
|
Caption |
X1,Y1 |
|
Caption |
X1,Y1 |
|
Caption |
X2,Y2 |
|
Caption |
X2,Y2 |
|
Caption |
X3,Y3 |
|
Caption |
X3,Y3 |
|
Caption |
Площадь |
|
Caption |
Площадь |
|
Текстовые окна
|
Name (для правой стороны) |
TxtX1_k TxtY1_k |
TxtX2_k TxtY2_k |
||
TxtX3_k TxtY3_k |
||
TxtS_k |
||
Name (для левой стороны) |
TxtX1_m TxtY1_m |
|
TxtX2_m TxtY2_m |
||
TxtX3_m TxtY3_m |
||
TxtS_m |
||
Графическое окно |
Name |
Picture1 |
Командная кнопка |
Name |
Cmd |
|
Caption |
Вычислить площадь треугольников |
2.
3. В разделе общих объявлений набрать:
Dim X1, Y1, X2, Y2, X3, Y3 As Single
Dim N As Integer
4. В окне кода процедуры обработки события Paint для объекта Form набрать
'заполнение формы после ее загрузки. сетка в графическом поле
Picture1.Refresh
Picture1.Scale (0, 20)-(20, 0)
For I = 1 To 20
Picture1.Line (I, 0)-(I, 20), RGB(200, 200, 200)
Next I
For I = 1 To 20
Picture1.Line (O, I)-(20, I), RGB(200, 200, 200)
Next I
5. В окне кода процедуры обработки события MouseDown для объекта Picture1 набрать
If N = 0 Then
X1 = CInt(X * 10) / 10
Y1 = CInt(Y * 10) / 10
Picture1.PSet (X, Y)
N = N + 1
ElseIf N = 1 Then
X2 = CInt(X * 10) / 10
Y2 = CInt(Y * 10) / 10
Picture1.PSet (X, Y)
N = N + 1
Else
X3 = CInt(X * 10) / 10
Y3 = CInt(Y * 10) / 10
Picture1.PSet (X, Y)
N = N - 2
End If
6. В окне кода процедуры обработки события Click для объекта Cmd набрать
' очистим поле построим сетку
Picture1.Refresh
Picture1.Scale (0, 20)-(20, 0)
For I = 1 To 20
Picture1.Line (I, 0)-(I, 20), RGB(200, 200, 200)
Next I
For I = 1 To 20
Picture1.Line (O, I)-(20, I), RGB(200, 200, 200)
Next I
'построим треугольник по указанным точкам и вычислим площадь
Picture1.Line (X1, Y1)-(X2, Y2), RGB(0, 0, 255)
Picture1.Line (X1, Y1)-(X3, Y3), RGB(0, 0, 255)
Picture1.Line (X3, Y3)-(X2, Y2), RGB(0, 0, 255)
'покажем координаты
TxtX1_m.Text = X1: TxtY1_m.Text = Y1
TxtX2_m.Text = X2: TxtY2_m.Text = Y2
TxtX3_m.Text = X3: TxtY3_m.Text = Y3
TxtS_m.Text = S_Tr(X1, Y1, X2, Y2, X3, Y3)
'построим треугольник по указанным точкам и вычислим площадь
X1 = Val(TxtX1_k.Text)
Y1 = Val(TxtY1_k.Text)
X2 = Val(TxtX2_k.Text)
Y2 = Val(TxtY2_k.Text)
X3 = Val(TxtX3_k.Text)
Y3 = Val(Txty3_k.Text)
Picture1.Line (X1, Y1)-(X2, Y2), RGB(255, 0, 0)
Picture1.Line (X1, Y1)-(X3, Y3), RGB(255, 0, 0)
Picture1.Line (X3, Y3)-(X2, Y2), RGB(255, 0, 0)
TxtS_k.Text = S_Tr(X1, Y1, X2, Y2, X3, Y3)
7. Создайте вызываемую функция, которая по координатам вершин треугольника вычисляет площадь треугольника по формуле Геррона, для этого:
- откройте окно программного кода (для любого объекта;
- в списке Object выберите General
- наберите следующее:
Function S_Tr(a1, b1, a2, b2, a3, b3 As Single) As Single
'определяем длины сторон
dlina1 = Sqr((a1 - a2) ^ 2 + (b1 - b2) ^ 2)
dlina2 = Sqr((a1 - a3) ^ 2 + (b1 - b3) ^ 2)
dlina3 = Sqr((a3 - a2) ^ 2 + (b3 - b2) ^ 2)
'определяем полупериметр
p = (dlina1 + dlina2 + dlina3) / 2
S_Tr = Sqr(p * (p - dlina1) * (p - dlina2) * (p - dlina3))
End Function
8. Проверьте работу программы:
- введите координаты вершин треугольника с клавиатуры (текстовые окна справа)
- щелчком мышки в графическом окне отметьте вершины другого треугольника
- для построения треугольников и определения площади каждого, щелкните по командной кнопке
Тема: Рекурсивные функции и процедуры
Цель: Закрепить навыки создания вызываемых процедур и функций
1 часть
Постановка задачи: разработать приложение, вычисляющее факториал числа.
( Факториал числа– это произведение всех целых чисел от 1 до указанного числа.)
Порядок выполнения:
1. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Текстовые окна |
Name |
Text1 |
Name |
Text2 |
|
Командная кнопка |
Caption |
Вычислить |
Метка |
Caption |
! = |
2. Приведите свою форму в соответствие с образцом
3. В окне кода процедуры обработки события Click для командной кнопки набрать
Dim x As Integer
x = Val(Text1.Text)
Text2.Text = fact(x)
4. Создайте функцию со следующим кодом:
Function fact(a As Integer) As Long
If a <= 1 Then
fact = 1
Else
fact = fact(a - 1) * a
End If
End Function
5. Проверьте работу программы
2 часть
Постановка задачи: Разработать приложение, которое позволяет строить фрактал (объект дробной размерности), использовать для построения рекурсивную функцию.
Порядок выполнения:
6. Установите на форме следующие объекты и измените им свойства:
Объект |
Свойство |
Значение |
Командная кнопка |
Name |
Cmd |
Флажок |
Name |
ChkColor |
7. В разделе общих объявлений набрать: Dim ccc(8)
8. В окне кода процедуры обработки события Click для объекта Cmd набрать
If chkcolor.Value = 1 Then
ccc(1) = vbBlack : ccc(2) = vbBlue
ccc(3) = vbCyan : ccc(4) = vbGreen
ccc(5) = vbMagenta : ccc(6) = vbRed
ccc(7) = vbWhite : ccc(8) = vbYellow
Else
For i = 1 To 8
ccc(i) = vbBlack
Next i
End If
d = 50
dx = 1500: x0 = 170
dy = 2500: y0 = 300
x11 = x0 + dx : x21 = x0 + 3 * dx
x12 = x0 : x22 = x0 + 2 * dx
x13 = x0 + 2 * dx : x23 = x0 + 4 * dx
y11 = y0 : y21 = y0 + dy
y12 = y0 + dy : y22 = y0 + 2 * dy
y13 = y0 + dy : y23 = y0 + 2 * dy
Call printtr(d, x11, x21, y11, y21)
Call printtr(d, x12, x22, y12, y22)
Call printtr(d, x13, x23, y13, y23)
9. Создайте функцию со следующим кодом
Sub printtr(d, x1, x2, y1, y2)
i = Int(8 * Rnd) + 1
If x2 - x1 > d Then
ffractal.Line (x1, y1 + 10)-(x2, y2), vbWhite, BF
ffractal.Line ((x1 + x2) / 2, y1)-(x1, y2), ccc(i)
ffractal.Line ((x1 + x2) / 2, y1)-(x2, y2), ccc(i)
ffractal.Line (x1, y2 - 10)-(x2, y2 - 10), ccc(i)
x11 = (3 * x1 + x2) / 4 : x21 = (3 * x2 + x1) / 4
y11 = y1 : y21 = (y1 + y2) / 2
x12 = x1 : x22 = (x1 + x2) / 2
y12 = (y1 + y2) / 2 : y22 = y2
x13 = (x1 + x2) / 2 : x23 = x2
y13 = (y1 + y2) / 2 : y23 = y2
Call printtr(d, x11, x21, y11, y21)
Call printtr(d, x12, x22, y12, y22)
Call printtr(d, x13, x23, y13, y23)
End If
End Sub
10. Проверьте работу программы. Сравните результат работы с образцом
11. Измените программу для того, чтобы размер минимального треугольника увеличился (уменьшился), а также добавьте паузу (например, вывод MSGBOX “”) после построения каждого треугольника.
12. Результат показать преподавателю
При выполнении ниже приведенных заданий должны быть выполнены следующие требования:
- приложение должно иметь удобный интерфейс;
- имена объектов управления должны иметь трехбуквенный префикс в соответствии с типом объекта;
- имена переменных должны быть информативны;
- все используемые переменные должны быть объявлены;
Одномерный массив из 12 элементов.
- Заполнить случайными числами.
- Все элементы с нулевыми значениями заменить на единицу.
- Значения всех элементов увеличить в два раза.
- Массив вывести до и после преобразования.
Одномерный массив из 15 элементов.
- Заполнить случайными числами от 0 до 20 и вывести
- Вывести номера тех элементов массива, значения которых больше 10.
- Найти среднее арифметическое значение элементов, имеющих нечетный номер.
Одномерный массив из 8 элементов.
- Заполнить с клавиатуры
- Определить, имеются ли в массиве два подряд идущих нулевых элемента.
- Все элементы массива, имеющие значения менее 10, заменить нулем.
- Вывести номера тех элементов массива, значения которых превышает среднее арифметическое значение всех элементов массива.
Одномерный массив из 10 элементов.
- Заполнить только из нулями и единицами
- Вывести сообщение “да”, если они строго чередуются.
- Определить чего больше – нулей или единиц
Имеются данные о ценах на 10 видов товаров. Определить цену самого дорого товара, который может приобрести покупатель , имеющий заданную сумму денег.
Массив заполнить числами 1,3,5,7,9,11,13,15,17,19. Вывести на экран два соседних элемента: первый и второй, второй и третий, третий и четвертый и т.д., а также их сумму или произведение, при чем при сумме больше 15 выводить сумму, в противном случае - произведение.
Одномерный массив из 12 элементов.
- Заполнить случайными числами.
- Определить номер первого элемента, значение которого больше 25.
- Определить номер последнего элемента, значение которого больше 10.
- Определить количество элементов массива, значения которых попадают в интервал от N до M (N и M ввести с клавиатуры)
Двумерный массив из 3 строк и 5 столбцов.
- Заполнить случайными числами и вывести
- Найти сумму элементов для каждой строки.
- Найти произведение для каждого столбца
Двумерный массив из 4 строк и 4 столбцов.
- Заполнить случайными числами
- Вывести на экран элементы главной диагонали.
- Вывести все элементы, располагающиеся выше главной диагонали.
- Поменять местами элементы симметрично относительно главной диагонали.
Двумерный массив из 6 строк и 3 столбцов.
- Вывести элементы 4 строки
- Вывести элементы 2 столбца
- Найти максимальный элемент и его индексы (номер строки и столбца).
- Определить количество четных значений в массиве
- При щелчке по одной из «клавиш» в текстовое окно добавляется выбранная буква или пробел
- При щелчке по кнопке «Очистить», текст полностью исчезает.
Клавиши – это массив объектов (командные кнопки или метки)
Расположите на форме таймер и несколько изображений (массив изображений)
Разработайте программный код для того чтобы приложение работало следующим образом:
- После загрузки приложения картинки меняют свои координаты случайным образом. (скорость перемещения отрегулируйте сами)
- При щелчке по любой картинке, она становится невидимой.
- Работа программы заканчивается тогда, когда все изображения становятся невидимыми.
Разработайте тестовую программу для контроля знаний по Visual Basic.(за основу возьмите пр.работу № 7 ) Тест должен содержать не менее 10 вопросов, на каждый вопрос – 4 варианта ответа. В конце тестирования вывести оценку, которая определяется следующим образом:
Все ответы верные – 5
8 или 9 верных ответов - 4
6 или 7 3
в остальных случаях 2
Разработайте программу «Кроссворд», содержащую вопросы по теории Visual Basic. В кроссворде должно быть не менее 10 слов.
Разработать приложение, которое для указанных пяти сторон и двух диагоналей определяет площадь пятиугольника. В программном коде использовать функцию определения площади треугольника по трем сторонам.
Для следующей программы написать функцию, которая определяет выполняется теорема Пифагора для трех величин.
A=VAL(TEXT1.TEXT)
B=VAL(TEXT2.TEXT)
C=VAL(TEXT3.TEXT)
IF PIF(A,B,C)=0 AND PIF(B,C,A)=0 AND PIF(A,C,B)=0 THEN
? «ТРЕУГОЛЬНИК НЕ ПРЯМОУГОЛЬНЫЙ»
ELSE
?»ПРЯМОУГОЛЬНЫЙ»
END IF
1. Росс Нельсон, Running Visual Basic 3 for Windows, пер. с англ. – М.: Издательский отдел «Русская Редакция» ТОО «Channel Trading Ltd.», 1995
2. Кауэлл Дж.Visual Basic 4.0: просто - о самом существенном, Пер. с англ. - М. :ИНФРА-М, 1998.
3. Волченков Н.Г. Учимся программировать: Visual Basic 5, - М.:»Диалог-МИФИ», 1998
4. Волченков Н.Г, Программирование на Visual Basic 6 в 3-х ч., М.:ИНФРА-М, 2000
5. Visual Basic 6.0, Руководство для профессионалов, пер. с англ.- СПб.:БХВ – Санкт-Петербург, 1999
Получите профессию
за 6 месяцев
Пройти курс
Рабочие листы
к вашим урокам
Скачать
Выбранный для просмотра документ автор.doc
- Живодерова Валентина Викторовна
- Преподаватель спецдисциплин по информационным технологиям
- Высшая категория
- Государственное бюджетное образовательное учреждение высшего профессионального образования Московской области «Международный университет природы, общества и человека «Дубна» (Университет «Дубна») Филиал ДИНО университета «Дубна»
- Московская область, г. Дмитров
- valentinagivoderova@yandex.ru
Получите профессию
за 6 месяцев
Пройти курс
Рабочие листы
к вашим урокам
Скачать
Выбранный для просмотра документ ‚ ¦®!.txt
Данный материал был скачан с сайта www.metod-kopilka.ru
============================================================
!!!!!!!!Орфография и форматирование автора материала!!!!!!!!!!
========================================
Образовательно-информационный ресурс для учителей информатики,
учащихся и всех-всех, кто интересуется ИТ:
http://www.metod-kopilka.ru Методическая копилка учителя информатики
Организационные, методические и нормативные документы,
лабораторно-практические работы (комплекс занятий по MS Word, MS Excel,
MS Access, MS PowerPaint, Paint, Move Maker и др. прикладным программам),
лекции,конспекты, дидактический материал, занимательная информатика,
экзамен, проектная деятельность, презентации.
Все в свободном доступе! Без регистрации!
=========================================
P.S. Единственным источником дохода сайта является переход по рекламным ссылкам.
Если ресурс оказался Вам полезен, потратьте 1 минуту времени и кликните любой рекламный блок на сайте.
Заранее благодарна.
Получите профессию
за 6 месяцев
Пройти курс
Рабочие листы
к вашим урокам
Скачать
Получите профессию
за 6 месяцев
Пройти курс
Рабочие листы
к вашим урокам
Скачать
Лабораторный практикум (5 частей) предназначен для проведения лабораторно-практических работ при изучении языка программирования Visual Basic в общеобразовательных и профессиональных образовательных учреждениях, а также для самостоятельного изучения. В пособии использованы материалы отечественных и переводных книг по Visual Basic, а так же автором обобщен личный опыт преподавания данного языка.
6 661 384 материала в базе
Настоящий материал опубликован пользователем Очирова Зоя Бадмаевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт
Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.
Удалить материалВаша скидка на курсы
40%Курс повышения квалификации
36/72 ч.
Курс профессиональной переподготовки
500/1000 ч.
Курс профессиональной переподготовки
300/600 ч.
Мини-курс
4 ч.
Мини-курс
2 ч.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.