Электронный справочник по изучению Visual Basic

Содержание

		Введение…………………………………………………………………....5

		Раздел 1. Сравнительная характеристика существующих средств обучения программированию в среде Visual Basic…………………........6

		Раздел 2. Задачи проектируемых автоматизированных 

		программных систем………………………………………………….……9

		Раздел 3. Информационное обеспечение задач проектируемой системы.10

		3.1. Этапы создания электронного учебника…………………………...10

		Раздел 4. Комплекс технических средств…………………………….…20

				Минимальные системные требования к ИС колледжа………….20

				     Рекомендуемые системные требования………………………….20

		Раздел 5. Математическое и программное обеспечение……………….21

		5.1. Сравнительная характеристика представленных 

		языков программирования……………………………………………….21

		5.2. Язык программирования Visual Basic………………………………22

		5.3. Основные элементы управления, используемые при создании 

		программного продукта…………………………………..……………....23

		Раздел 6. Проектная часть………………………………………….............38

		6.1. DFD – диаграмма………………………………………….................38

		6.2. Руководство пользователю………………………………………….41

		Раздел 7. Расчет экономической эффективности дипломного проекта.43

		7.1. Расчет стоимости разработки………………………………………..43

		7.2. Расчёт статьи, материалы, покупные изделия, полуфабрикаты…..43

		7.3. Расчёт основной заработной платы………………………………...44

		7.4. Расчет дополнительной заработной платы………………………...45

		7.5. Расчёт накладных расходов………………………………………....45

		7.6. Расчёт договорной цены разработки……………………………….45

		Приложение……………………………………………………………….47

		Заключение………………………………………………………………..57

		Список использованных источников…………………………………....59


Введение

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

Изучение языков программирования – сложный процесс. При изучении используется множество различной литературы в виде книг, справочников, а также используется информация из Интернета, которая может не соответствовать требованиям пользователя. Поэтому для быстрого и качественного доступа к нужной информации по данной дисциплине  создается «Электронный справочник по работе с программой Microsoft Visual Basic 6.0». Электронный справочник содержит основные данные о работе в среде Visual Basic. 

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

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

Целью дипломного проекта является автоматизация процесса обучения и самостоятельной работы студентов при обучении программированию в среде Visual Basic. 


Раздел 1. Сравнительная характеристика существующих средств обучения программированию в среде Visual Basic

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

Например, «VBHelp» - Новый, большой справочник по Visual Besic'у, который будет полезен очень многим (рис. 1). Как тем кто только начинает программировать на VB, так и тем кто уже давно этим занимается. Справочник содержит большое количество материала по VB, от простых описаний команд до подробного описания API функций и примеров кода. 
Все статьи разделены на 3 группы: простая статья, программа и ссылка. Простая статья подходит для большинства описаний и чаще всего используется при добавлении новых записей. 

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

В справочнике «Vbfunction»  представлено полное и хорошо организованное руководство по функциям и элементам в Visual Basic. Справочник имеет «древовидную» структуру, а так же предметный указатель, для быстрого поиска нужной информации. Справочник обеспечивает все необходимые описания и объяснения, дает наглядные примеры использования различных функций.

«Справочник по WIN32 API» -  данная программа является русифицированным справочным пособием по функциям и системным сообщениям WIN API, она поможет начинающим программистам при создании программ для Windows. Справочник является кратким руководством по использованию некоторых групп функций с примерами. В нем приведено описание основных сообщения и дан краткий обзор типов данных Win32 API.

 «Справочник по функциям Windows API» - в данном справочнике приводятся примеры использования различных функций API при написании программ на Visual Basic.

Раздел 2. Задачи проектируемых автоматизированных программных систем

Целью данного проекта является разработка программного продукта для автоматизации процесса обучения в среде VB «Электронный справочник по работе с программой Microsoft Visual Basic 6.0».

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

разрабатываемая программа должна обеспечивать быстрое и удобное получение информации, иметь простой и интуитивно  понятный интерфейс;

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

структура программы должна быть подобрана оптимально;

простота  и надежность.

Входными данными для этой программы является учебное пособие по языку программирования Visual Basic:

Разработка приложения при помощи мастеров и шаблонов;

Создание простого приложения;

Управление проектом;

Основные элементы программирования;

Управляющие конструкции и циклы;

Разработка пользовательского интерфейса;

Использование стандартных элементов управления Visual Basic;

Работа с файлами и организация печати;

А также входными данными являются различные примеры для лучшего усвоения данного материала. 

Выходными данными является справочная информация по дисциплине, в рамках выбранного материала.


Раздел 3. Информационное обеспечение задач проектируемой системы

3.1. Этапы создания электронного учебника

3.1.1. Порядок разработки обучающих мультимедиа систем

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

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

Сейчас на рынке программного обеспечения появился выбор и отечественных компьютерных обучающих систем. Одними из первых были системы, разработанные КУДИЦ г. Москва, ВЦ СО АН СССР, г. Новосибирск, НИИ ШОТСО АПН СССР, г. Москва. С тех пор появилось множество новых электронных учебников и обучающих систем. Сейчас их разработкой занимаются фирмы специализирующиеся на компьютерных средствах обучения. Фирмы «Кирилл и Мефодий», «1С», «Логос» и некоторые другие являются лидерами по выпуску таких систем на нашем рынке. 

Однако при более подробном ознакомлении с продукцией этих фирм можно заметить некоторый крен в тематике выпускаемых приложений. Имеются в виду те предметные области, для изучения которых предназначается программное обеспечение, предлагаемое вышеназванными фирмами. В первую очередь, это предметные области, связанные с компьютером, его применением и смежные с этим вопросом области. Сюда можно отнести такие системы, как «Анатомия компьютера», «Computer Inside», «Учебник по Турбо-Паскалю» и многие другие. Во-вторых, это исторический материал, организованный скорее как энциклопедия, но также успешно применяемый в обучении. Наконец, это области языкознания, обучения различным языкам. 

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

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

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

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

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

III этап: разработка содержания курса – на этом этапе проводится анализ учебного плана и состав слушателей, происходит определение стратегии курса, разрабатывается сценарий и интерактивное взаимодействие программы с пользователями.

Разрабатываемый электронный справочник предназначен для самостоятельной работы студентов младших курсов по изучению Visual Basic в рамках университетского курса. Его создание имеет своей целью предоставить студентам, изучающим Visual Basic весь теоретический материал, предусмотренный программой курса, а также практические задания и контрольные вопросы для самопроверки. Мною был проведен анализ учебного плана по Visual Basic студентов I курса специальности «2202 Автоматизированные системы обработки информации и управления» с целью определения степени пригодности предлагаемого теоретического материала к компьютерной реализации в виде электронного справочника и эффективности такой реализации. 

IV этап: описание курса – здесь приводится описание всех информационных фрагментов курса: текстовых, анимационных, звуковых и видео. Предлагаемый компьютерный учебник разбит на несколько законченных взаимосвязанных фрагментов, каждый из которых обладает определенной функцией и визуально представлен отдельным модулем. В дальнейшем будем называть их блоками. 

Итак, в учебнике существуют следующие блоки:  

блок регистрации – выполняет функцию регистрации студентов пользовавшихся электронным справочником. Это необходимо для того, чтобы программа могла по окончанию сеанса обучения сформировать ведомость, в которой будут перечислены студенты, работавшие со справочником и их успехи в этой работе; 

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

блок примеров решенных заданий, – где студенты смогут увидеть способы решения практических заданий по данной теме, для того чтобы решать аналогичные примеры в своей самостоятельной работе; 

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

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

Кроме блоков в электронном учебнике реализованы несколько систем:

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

гипертекстовая система – позволяет студентам осуществлять нелинейный доступ к информации учебника, перемещаться по материалу не последовательно от начала к концу, а избирательно, ориентируясь на свои потребности;

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

Реализация вышеописанных блоков и систем учебника велась с применением текстовых, анимационных и звуковых форматов. К сожалению, из-за технических сложностей пришлось отказаться от вставок видеоизображения в учебнике, но с другой стороны это позволило полнее использовать возможности звукового и музыкального сопровождения, анимации, к тому же уберегло проект от разрастания на сотни мегабайт. Блок теоретического материала представлен в классическом текстовом формате, как наиболее привычном и оптимальном для учебников подобного рода. Блок регистрации, помощь, введение в учебник и некоторые другие элементы имеют помимо текстовой визуализации и звуковое сопровождение. Элементы меню и оглавления реализованы с применением анимации, что повышает эстетический уровень учебника и улучшает его внешний вид. Использование перечисленных методов в подаче информации служит для расширения сферы воздействия компьютера на органы чувств человека с целью более глубокого запоминания и закрепления полученной информации. 

V этап: реализация курса – на этом этапе происходит выбор технико-программных платформ и непосредственно программирование с помощью выбранной авторской системы или системы программирования. 

Аппаратной платформой для реализации проекта электронного учебника была выбрана база IBM–совместимых компьютеров. В пользу этого выбора сыграло: во-первых, преобладание в образовательных учреждениях именно этой аппаратной платформы, IBM–совместимые компьютеры сегодня составляют до 80% всего парка компьютеров, во-вторых, долгосрочные планы Министерства образования РФ по компьютеризации учебных заведений предполагают дальнейшее широкомасштабное внедрение этой аппаратной платформы, в-третьих, это является следствием двух первых пунктов, разработка электронного учебника для IBM–совместимых компьютеров позволит охватить максимальное число потенциальных пользователей, и в-четвертых для этих компьютеров существует огромная библиотека всевозможных инструментальных средств, включая авторские системы и системы программирования, которой не может похвалиться ни одна другая платформа – все эти обстоятельства определили выбор аппаратной платформы в пользу IBM–совместимых компьютеров. 

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

Мною был проведен сравнительный анализ нескольких наиболее широко распространенных и часто используемых электронных справочников. К ним относятся «VBHELP» - справочник по Visual Basic 5.0, «Vbfunction», «Справочник по WIN 32 API»,  «Справочник по функциям Windows API». Целью проведения этого анализа являлось выявление достоинств и недостатков предложенных к рассмотрению справочников. По результатам анализа необходимо было выбрать систему, наиболее полно отвечающую требованиям, предъявляемым при создании электронных учебников. 

VI этап: опробование и тестирование – на этом этапе начинается испытание разработанного приложения, проводится серия тестов с целью выявить ошибки программирования. Проект еще далек от завершения, но «экспериментальный» образец уже готов. После ряда проверок на аппаратную совместимость команда контроля за качеством выносит свое заключение и предлагает перечень недочетов замеченных в ходе испытаний, которые предстоит исправить разработчикам. И так повторяется несколько раз, пока не получится окончательная версия продукта, лишенная, в большей или меньшей степени, недочетов и ошибок. 

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

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

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

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

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


3.1.2. Принципы изложения материала

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

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

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

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

Принцип пропорции касается соотношения между размерами объектов и их размещением в пространстве. Организуя данные на экране дисплея, необходимо стремиться к тому, чтобы логически связанные данные были явно сгруппированы и отделены от других категорий данных. Функциональные зоны на дисплее должны разделяться с помощью пробелов и других средств: разные типы строк, ширина, уровень яркости, геометрическая форма, цвет. Для сокращения времени поиска табличные данные должны разделяться на блоки. Необходимо учитывать, что плоскость теплых цветов обычно кажется больше, чем холодных. Разбиение на блоки, использование пробелов, табуляции, ограничителей, а также варьирование яркости цвета групп данных – важнейшие средства упорядочения графической информации. 

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

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

Для облегчения восприятия разные классы информации должны специально кодироваться. Так, связанные, но разнесенные по экрану данные должны кодироваться одним цветом. Цвет можно использовать и для выделения заголовков, новых данных или данных, на которые следует немедленно обратить внимание. В целом организация данных на экране должна облегчать нахождение подобий, различий, тенденций и соотношений. 

Акцент – это принцип выделения наиболее важного объекта, который должен быть воспринят в первую очередь. При соблюдении этого принципа взгляд учащегося привлекается к зоне акцента. Для создания такого акцента можно использовать разнообразные средства: размещение важных сообщений в центре поля, отделение их от остальной информации свободным пространством, применение яркого цвета. Следует избегать излишних украшений, злоупотреблений цветом, избыточного кодирования и большого объема вводимой информации. Рекомендуется, например, использовать не более 90 % площади экрана.

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

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

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

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

Следует позаботиться о том, чтобы идентичные данные были представлены унифицировано, а разноплановые – по-разному. 

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

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

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

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

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

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

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

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


Раздел 4. Комплекс технических средств

	Минимальные системные требования к ИС колледжа

Pentium-совместимый процессор с тактовой частотой 150 МГц;

32 Мб ОЗУ;

от 60 Мб на жёстком диске.;

Мышь;

Клавиатура;

4х CD-ROM;

Компьютерная сеть 10 Мбит/с;

Принтер;

Windows 98.

	Рекомендуемые системные требования

Pentium-совместимый процессор с тактовой частотой 300 до 700 МГц;

Рекомендуется 64 Мб минимум, а лучше 128 для комфортной работы;

от 120 Мб на жёстком диске;

32х CD-ROM;

Принтер;

Компьютерная сеть 100 Мбит/с.

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

ОС Windows 98 SE, Me, NT4 (SP6), 2000, XP (SP1), 2003 Advanced/Enterprise Server

Pentium III 500 MHz или выше;

128 Мб ОЗУ;

300 Mb свободного места на диске;

Мышь;

Клавиатура;

4х CD-ROM.

Компьютерная сеть 10/100 Мбит/с;


Раздел 5. Математическое и программное обеспечение

5.1. Сравнительная характеристика представленных языков программирования

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

Delphi - система с большими возможностями, что позволяет легко реализовать многоуровневое обучение

Delphi можно изучать и использовать на нескольких уровнях:

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

использование готовых компонентов системы, но с написанием более сложных программ; 

создание собственных компонентов на языке Паскаль и включение их в палитру компонентов Delphi в качестве стандартных; 

разработка практически полезных законченных Windows-приложений. 

Basic

Основные возможности Visual Basic:

Реализация разработчиком максимально гибкого и удобного интерфейса для своего приложения; 

Создание самых разнообразных многоуровневых и всплывающих меню; 

Обработка событий мыши и клавиатуры, вывод на экран различных графических изображений ; 

Управление цветом , настройками принтера; 

Работа с графикой, рисование и обработка изображений; 

Исполнение таймера, 

Обработка файлов и каталогов на жестком диске; 

Доступ к базам данных. 

Развитие семейств языков:

Basic- QBasic- Visual Basic.

Pascal- Turbo Pascal- DELPHI.

C- C++- Visual C++.

Познакомившись с языками программирования C/C++, Basic, Delphi следует сделать вывод, что: по сложности на первом месте стоит язык программирования C/C++, на втором месте стоит Delphi, ну а на третьем, конечно же, Basic. 

5.2. Язык программирования Visual Basic

Microsoft Visual Basic — сегодня самая популярная в мире система проектирования приложений для Windows. Среда Visual Basic может с успехом использоваться начинающими пользователями для познания секретов программирования и увлекательных занятий по созданию несложных (поначалу) приложений и, в то же время, предоставляет мощные инструменты разработки опытным программистам. Чрезвычайно развитые справочная система, средства обучения, мастера и программы-надстройки позволяют при построении приложения и работе в Visual Basic найти выход из любой ситуации и получить ответ на любой вопрос. Начинать работать с Visual Basic можно практически с любым уровнем подготовки.

Шесть лет назад Microsoft Corporation совершила революцию в подходах к разработке приложений. Свершилось невероятное: начинающие программисты получили возможность писать программы для Windows! Как результат популярность профессии программиста возросла до небес и сегодня в мире только на Visual Basic работают, по оценке Microsoft, четыре миллиона программистов, с невиданной до этого производительностью создавая решения на любой вкус — от программ, обслуживающих рутинные операции ввода данных, до сложных информационных коммуникационных систем.

Visual Basic предоставляет широкую гамму инструментальных средств, среди которых все необходимое для себя найдет как начинающий программист, так и профессионал. Новичок, например, сможет с помощью мастера Application Wizard для начала создать первую версию приложения, на примере которого затем можно будет изучить азы визуального программирования и подходы Visual Basic. Перед опытным мастером возможности в Visual Basic вообще безграничны: это и создание собственных компонентов ActiveX, и работа с широким диапазоном данных, и реализация технологий Internet, и, наконец, доступ к самым сокровенным возможностям Windows.


5.3. Основные элементы управления, используемые 

при создании программного продукта

5.3.1. Стандартные элементы управления

Кнопка (Command Button)

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

Главным событием для кнопки является Click. Кроме этого события, у кнопки могут быть и другие, но они применяются редко.

Для вызова события Click имеются разные способы. Самый простой - непосредственный щелчок на кнопке мышью. Это же событие вызывается также, если с помощью клавиши Tab переместить фокус на кнопку, затем нажать клавишу Enter. Можно программно вызвать событие Click, установив равным True значение свойства Value, доступного только во время выполнения.

Есть два интересных свойства кнопки, связанных с событием Click. Свойство Default определяет, что данная кнопка является кнопкой, активной по умолчанию. Если это свойство равно True, то нажатием клавиши Enter автоматически генерируется событие Click этой кнопки независимо от того, какой элемент имеет фокус. Присваивать значение True этому свойству можно только для одной кнопки в форме. Следует учитывать, что в этом случае нажатие клавиши Enter перехватывается и передается этой кнопке. Обычно кнопкой по умолчанию является кнопка ОК.

Свойство Cancel используется подобно Default. Оно обеспечивает перехват клавиши Esc и вызов события Click для соответствующей кнопки. Обычно это свойство имеют кнопки Cancel (Отмена).

Надпись (Label)

Надпись (Label) предназначена для отображения текста, который пользователь не может изменить с клавиатуры.

Хотя некоторые события этого элемента управления можно обрабатывать, обычно эта возможность не используется.

Самым важным свойством надписи является Caption, содержащее отображаемый текст. Воспользовавшись свойством BorderStyle, можно установить способ отображения текста - с рамкой или без нее. Оформлять текст можно, используя все возможности форматирования текста, доступные в окне свойств, - от вида и размера шрифта до цвета символов. Если текст длиннее, чем поле надписи, то оставшаяся часть текста просто не отображается (усекается).

Этого можно избежать, если присвоить значение True свойству AutoSize, что приводит размер надписи в соответствие с длиной текста. Таким же образом можно корректировать размер надписи и по вертикали. Для этого одновременно со свойством AutoSize нужно установить свойство Word wrap. Тогда слова, не помещающиеся в строке, автоматически будут переноситься в следующую строку.

Установка в тексте надписи перед любой буквой символа амперсанда (&) позволяет определить для выбора объекта клавишу быстрого доступа. Так как надпись не может получать фокус, она передает его следующему элементу управления. Если амперсанд просто должен появляться в тексте без дальнейшего действия, следует отключить свойство UseMnemonic.

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

Текстовое поле (TextBox) является основным элементом управления, предназначенным для ввода данных.

При использовании текстового поля представляют интерес несколько событий. Прежде всего, это событие Change, которое вызывается при изменении содержимого текстового поля. Это событие происходит каждый раз при вводе, удалении или изменении символа. Например, при вводе в текстовое поле слов "Hello" событие Change вызывается пять раз - по одному разу для каждой буквы.

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

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

Можно воспользоваться и другими свойствами текстового поля. Самым важным является свойство Text. Это свойство содержит отображаемый в поле текст. 

Элементы управления, которые разрешают ввод символов, имеют свойство Text, а элементы, предназначенные только для отображения текста, - свойство Caption. Текстовое поле подобно маленькому редактору. Чтобы использовать его в таком качестве, достаточно установить свойство MultiLine. Это дает возможность вводить в поле несколько строк.

В многострочном поле для перехода на новую строку можно использовать клавишу Enter. Но при этом следует помнить, что для некоторой кнопки, возможно, установлено свойство Default. Поэтому нажатие клавиши Enter вызовет срабатывание этой кнопки. В таком случае для перехода на новую строку надежнее использовать комбинацию клавиш Ctrl+Enter или Shift+Enter.

Если форма не содержит многострочное текстовое поле и кнопку по умолчанию, то нажатие клавиши Enter в текстовом поле, имеющем фокус, вызовет звуковой сигнал. Для предотвращения этого можно написать следующую процедуру обработки события KeyPress текстового поля:

Private Sub Textl_Keypress(KeyAscii As Integer)

If KeyAscii =13 Then KeyAscii = 0

End Sub

При этом клавиша Enter просто игнорируется.

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

В текстовом поле, как это обычно делается в среде Windows, можно также выделять текст. Для этого Visual Basic предоставляет следующие три свойства текстового окна. Свойство SelStart определяет начальную позицию выделенного текста в символах. Свойство SelLength содержит количество выделенных символов. И, наконец, с помощью свойств SelText можно прочитать или изменить выделенный текст.

Иногда в поле требуется быстро удалить текст или заменить его новым. Для этого выделяется весь текст в поле, как только данное поле получает фокус.

Переключатель (OptionButton)

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

Так же, как и для элемента управления CheckBox, для переключателей важно только одно событие - Click.

Важнейшим свойством переключателей является свойство Value. С его помощью можно определить состояние переключателя. Это свойство может принимать значения True и False.

Полосы прокрутки (ScrollBar)

Элемент управления ScrollBar - это полосы прокрутки окна. Некоторые элементы управления (например, TextBox, ListBox) используют такие полосы прокрутки, причем от разработчика не требуется написание программного кода для выполнения прокрутки. Однако полоса прокрутки как элемент управления Visual Basic хотя и предназначена для выполнения аналогичных функций, но не выполняет автоматически каких либо действий, т.е. ее поведение необходимо программировать. Существует два вида полос прокрутки: горизонтальная и вертикальная.

Полосы прокрутки имеют два интересных события: Change, которое возникает после изменения позиции бегунка или после программного изменения значения свойства Value, и Scroll, которое происходит во время прокрутки (когда пользователь захватил и передвигает бегунок).

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

Диапазон прокрутки определяется свойствами Min и Мах полосы прокрутки. При этом значение Min всегда соответствует верхнему концу полосы, Мах - нижнему (для вертикальной полосы прокрутки), и при прокрутке содержимого окна сверху вниз значение свойства Value увеличивается. Чтобы изменить направление изменения свойств Value, достаточно поменять мест ми значения свойств Min и Мах.

Щелчок на одной из двух кнопок со стрелками на полосе изменяет значение свойства Value на величину, определяемую свойством SmallChange. Если пользователь щелкнет в области между бегунком и какой-либо из кнопок, то значение свойства Value полосы прокрутки и соответственно положение бегунка изменяется на величину, определяемую свойством LargeChange.

Рамка (Frame)

Рамка (Frame) - это один из элементов контейнеров. Его назначение - объединить в группу несколько элементов управления. Объекты, объединенные с помощью рамки, можно как единое целое перемещать, активизировать и деактивизировать, делать видимыми или невидимыми. Некоторые элементы сами нуждаются в контейнере - например, все переключатели в форме всегда объединяются в одну группу. Чтобы создать вторую группу опций, нужно требуемые переключатели объединить в элементе контейнере.

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

Рамка - это элемент управления, который не имеет особых свойств, присущих только ей.

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

Окно с рисунком (PictureBox)

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

Как и события рамки, события элемента PictureBox обычно не обрабатываются, хотя при необходимости это можно сделать.

Положение PictureBox в форме задается свойством Align, которое определяет – будет ли PictureBox закрепляться у одного из краев формы или сохранит положение, заданное разработчиком. Если элемент управления закрепляется у одного из краев формы, то его размер (ширина или высота) всегда устанавливается в соответствии с размером формы.

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

Самое важное свойство PictureBox - Picture, которое содержит отображаемый графический объект. Это может быть растровое изображение (*.ВМР), пиктограмма (*.IСО), метафайл (*.WMF) или расширенный метафайл (*.EMF), также GIF и JPEG файлы.

При выполнении приложения для изменения свойства используется функция LoadPicture:

Picturel.Picture = LoadPicture(”C:\WINDOWS \AUTOS.BMP”)

Сохранить изображение можно при помощи функции SavePicture:

SavePicture Picturel.Picture, ”BUILD.BMP”

Методы PictureBox позволяют нарисовать точку, линию и окружность, также вывести текст (метод Print).

Способность элемента PictureBox отображать рисунки различных форматов можно использовать для преобразования пиктограммы (*.IСО) в растровое изображение (*.ВМР). Для этого нужно загрузить пиктограмму и сохранить ее с расширением BMP. Однако растровое изображение преобразовать в пиктограмму нельзя.

5.3.2. Элементы управления ActiveX

Помимо встроенных элементов управления, включенных непосредственно в языковой пакет VBA для MS Office 2002, в нем имеется возможность применения дополнительных компонентов, реализованных на основе механизма ActiveX. В Microsoft Office 2002 Developer Edition (ODE) входят 13 таких элементов управления ActiveX (они имеются также и в VB 6.0 Professional). Назовем их:

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

ProgressBar, StatusBar, ToolBar, TabStrip и UpDown предоставляют возможность использования элементов пользовательского интерфейса Windows XP: индикатора продвижения, строки состояния, панели инструментов, вкладки и пары стрелок. 

Winsock и InternetTransfer обеспечивают обмен данными по каналам Internet. 

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

Установка элемента управления ActiveX

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

Если файл, содержащий нужный элемент управления, отсутствует в вашей папке System (Windows  XP) или System32 (Windows NT), скопировать его туда с компакт-диска ODE. 

В меню Insert ("Вставка") редактора Visual Basic выбрать команду UserForm. 

В меню Tools ("Сервис") выберите команду References ("Ссылки") и в открывшемся одноименном окне нажать кнопку Browse ("Обзор"). 

В диалоговом окне Add Reference ("Добавление ссылки") выделить файл с нужным элементом управления и нажать кнопку Open ("Открыть"). 

Вернувшись в окно References ("Ссылки"), нажать кнопку OK. 

Добавление элемента управления к пользовательской форме

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

В меню Insert ("Вставка") редактора Visual Basic выбрать команду UserForm. 

В меню Tools ("Сервис") выбрать команду Additional Controls ("Дополнительные элементы"). 

В списке Available Controls ("Доступные элементы") отметить нужный элемент управления ActiveX, нажать кнопку OK, и этот элемент появится на панели элементов. 

Перетащить элемент управления с панели элементов на пользовательскую форму. 

Основные элементы управления:

CommonDialog 

ImageList 

InternetTransfer 

ListView 

ProgressBar 

RichTextBox 

Slider 

StatusBar 

TabStrip 

ToolBar 

TreeView 

UpDown 

Winsock 



					Описание элементов управления ActiveX

Рассмотрим основные элементы управления, используемые в программе:

ImageList 

Элемент управления ImageList служит для хранения набора изображений, используемого каким-либо другим элементом управления, - например, ListView, TreeView или ToolBar. Кроме того, ImageList можно применять с любыми элементами управления, имеющими свойство Picture, значением которого является объект Picture ("Рисунок"), такими как Image или CommandButton. 

Использование ImageList экономит время, затрачиваемое на разработку. Вместо того чтобы писать программу, которая загружает изображения (с помощью функции LoadPicture), вы один раз заполняете форму для элемента ImageList, при желании присваиваете значения ключам, а затем пишете код, который задает изображения по названию (свойство Key) или по номеру (свойство Index). 



Изображения должны представлять собой файлы формата .bmp или .ico и храниться в коллекции объектов ListImage. Для объектов ListImage определены свойства Key, Index и Count, а также методы Add, Remove и Clear, аналогичные соответствующим свойствам и методам обычных списков. ODE предоставляет возможность добавлять и удалять изображения, как во время разработки, так и во время выполнения приложения. 

Некоторые варианты использования ImageList

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

Хранение изображений, символизирующих типовые операции, такие как открытие, сохранение и печать файлов. Их можно назначить кнопкам (объектам Button) элемента управления ToolBar, используемого в программе. 

Хранение изображений, используемых при перетаскивании, например значков DragIcons и MousePointer. 

Пример использования ImageList

Добавить к пользовательской форме элемент управления Microsoft ImageList Control, version 5.0. После этого задать изображения. 

Поместить на пользовательскую форму элемент управления Image ("Рисунок"). 

В окне свойств элемента Image для свойства Name установить значение imgTarget, для свойства PictureSizeMode – значение frmPictureSizeModeZoom, для свойства Caption -- значение ImageList. (Если этого окна нет на экране, нажмите <F4>.) 

В окне свойств элемента ImageList установить для свойства Name значение imlODE. 

В окне свойств ImageList выделить пункт (Custom) и нажать кнопку (...); в появившемся окне Properties ("Свойства") выбрать закладку Images ("Рисунки"). 

Нажать кнопку Insert Picture ("Вставить рисунок"). 

В поле открытия рисунка выделить нужный файл формата .bmp или .ico и нажать кнопку Open ("Открыть"). Источником изображений может служить, например, каталог Csample на компакт-диске ODE (\Msds\Odesmpl\Ode\Msdnoc2\Csample). 

Назначить изображению уникальный ключ, введя его в текстовом поле Key. Можно также назначить ему метку (не обязательно уникальную); она вводится в поле Tag. 

Нажать кнопку OK. 

Повторить процедуру вставки рисунка для всех изображений, которые нужно добавить к ImageList. 

В окне кода ввести следующий текст: 

																Option Explicit

																Private Sub UserForm_Click()

																Set imgTarget.Picture = imlODE.ListImages(1).Picture

																End Sub

Этот код связывает элемент управления Image с первым изображением, хранящимся в элементе управления ImageList. 

Запустить пример на выполнение 





RichTextBox

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

Важнейшие возможности RichTextBox

Открытие и сохранение текстовых файлов в форматах RTF и ASCII. Соответствующие функции обеспечиваются методами LoadFile и SaveFile; кроме того, можно применять обычные операторы VB, предназначенные для ввода-вывода файлов, совместно со свойствами SelRTF и TextRTF. 

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

Печать текстов и выделенных фрагментов (метод SelPrint). 

Внедрение OLE-объектов с помощью метода Add коллекции OLEObject. Поддерживается перетаскивание в RichTextBox любых внедренных объектов (включая таблицы Excel и документы Word) как во время разработки, так и во время выполнения программы. 

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



Пример использования RichTextBox

Добавьте к пользовательской форме элемент управления Microsoft RichText Control, version 5.0, после чего проделайте следующее. 

Добавить к той же форме элемент управления ComboBox ("Поле со списком"). 

Для свойства Name элемента RichTextBox установить значение rtfODE, а для свойства Name элемента ComboBox -- cmbSetColor. 

Для свойства Caption пользовательской формы установить значение "Элемент управления RichTextBox". 

В окне кода ввести следующий текст: 

																Option Explicit

																Private Sub cmbSetColor_Click()

																    With rtfODE

																        Select Case cmbSetColor.ListIndex

																            Case 0

																                .SelColor = vbBlack

																            Case 1

																                .SelColor = vbBlue

																            Case 2

																                .SelColor = vbRed

																        End Select

																    End With

																End Sub

																Private Sub UserForm_Initialize()

																    With cmbSetColor

																        .AddItem "Черный"

																        .AddItem "Синий"

																        .AddItem "Красный"

																        .ListIndex = 1

																    End With

																End Sub

Запустить пример на выполнение и ввести в RichTextBox какой-нибудь текст. Выделить фрагмент текста и посмотреть, как будет меняться его цвет в зависимости от выбранного в ComboBox значения. 

TreeView

Элемент управления TreeView предназначен для представления в виде дерева иерархических структур данных - таких как, например, указатель к документу или множество файлов и папок на диске. Дерево состоит из узлов - объектов Node. 

На экране узлы представляются текстом, изображением или комбинацией того и другого в зависимости от свойства Style объекта TreeView (всего предусмотрено восемь вариантов), а связи между узлами - линиями. Знак + указывает на наличие у узла свернутого поддерева, которое можно развернуть и сделать видимым, знак – на возможность свернуть развернутое поддерево. 

Изображения для узлов дерева хранятся в элементе управления ImageList. В каждый момент TreeView связан только с одним набором изображений ImageList, поэтому все изображения в дереве (если стиль предусматривает вывод графики) имеют один и тот же размер. 

Пользователь управляет объектом TreeView с помощью мыши или клавиатуры. Перечислим доступные клавиатурные команды. 

<Стрелка вниз/вверх> - циклический переход к следующему/предыдущему видимому узлу (порядок узлов - слева направо и сверху вниз; за последним узлом следует первый). 

<Стрелка вправо>: если текущий узел имеет дочерние и не развернут, он разворачивается, в противном случае происходит циклический переход к следующему видимому узлу. 

<Стрелка влево>: если текущий узел имеет дочерние и развернут, он сворачивается, в противном случае происходит циклический переход к предыдущему видимому узлу. 

<Буква или цифра>: переход к следующему узлу, название которого начинается с этой буквы (цифры). Не видимые в данный момент узлы разворачиваются. 

Для управления деревом из программы используются свойства и методы объектов Node. Перемещение от одного узла к другому обеспечивают свойства Root (корневой узел), Parent (родительский узел), Child (дочерний узел), FirstSibling, Next, Previous и LastSibling (соответственно первый, следующий, предыдущий и последний в группе узлов, дочерних для одного и того же родительского). Предусмотрены методы для добавления и удаления узлов, свертывания и развертывания поддеревьев и т. д. 

Пример использования TreeView 

Для построения этого примера нам понадобится база данных Northwind, входящая в состав Office 97. 

Добавив к пользовательской форме элемент управления Microsoft TreeView Control, version 5.0, выполните следующие шаги: 

Чтобы обеспечить работу с базой данных Northwind, установить связь с объектной библиотекой DAO 3.5: выбрать в меню Tools ("Сервис") команду References ("Ссылки") и в появившемся окне отметить Microsoft DAO 3.5 Object Library. 

Для свойства Name элемента TreeView установить значение tvwODE. 

Для свойства Caption пользовательской формы установить значение "Элемент управления TreeView". 

В окне кода ввести следующий текст: 

																Option Explicit

																Public mdbNWind As Database

																Public nodODE As Node

																Public rsProducts As Recordset

																Private Sub UserForm_Initialize()

																      ' Открытие базы данных Northwind

																Set mdbNWind = DBEngine.OpenDatabase _

																("c:\program files\devstudio\vb\nwind.mdb")

																' Добавление объекта Node

																Set nodODE = tvwODE.Nodes.Add(, , "r", "Products")

																' Открытие набора записей, содержащего одно поле

																' из таблицы Products

																Set rsProducts = mdbNWind.OpenRecordset _

																("SELECT Products.ProductName FROM Products;")

																   Dim intCounter As Integer

																    ' Добавление узлов для вывода названий продуктов

																    For intCounter = 1 To 4

																        ' Добавление объекта Node

																        Set nodODE = tvwODE.Nodes.Add(1, tvwChild)

																        ' Установка свойства Text

																        nodODE.Text = rsProducts!PRODUCTNAME

																        ' Переход к следующей записи

																        rsProducts.MoveNext

																    Next intCounter

																End Sub

Запустить пример на выполнение. Дважды щелкнуть по узлу Products в дереве и вывести узлы с названиями продуктов. 

Редактор меню Menu Editor 

Для проектирования меню всех видов используется редактор меню Menu Editor (Редактор меню) среды проектирования IDE . Редактор меню вызывается одним из следующих способов: 

командой Menu Editor (Редактор меню) меню Tools (Инструменты); 

нажатием кнопки Menu Editor на стандартной панели инструментов; 

нажатием комбинации клавиш <Ctrl>+<E>. 

Редактор создает меню для активного в данный момент окна, то есть, если активно MDI-OKHO, проектируется меню для него, если активна дочерняя форма, проектируется меню для дочерней формы. На рис. 5 показан редактор меню родительского окна, созданного автоматически мастером приложения Application Wizard. 

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

поле Caption (Заголовок) — наименование пункта меню, то есть текст, появляющийся в меню; 

поле Name (Имя) — имя меню. Используется для идентификации объекта при написании программных кодов; 

раскрывающийся список Shortcut (Оперативная клавиша) — назначает комбинацию клавиш для быстрого вызова команды меню; 

поле HelpContextID (Идентификатор справки) — ссылка на тему в справочной системе; 

флажок Enabled (Доступно) — доступ к пункту меню; 

флажок Visible (Видимость) — определяет, будет ли виден на экране элемент меню; 

флажок WindowList (Список окон) — определяет наличие списка открытых окон. 

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

кнопки с направленными вправо и влево стрелками перемещают пункты или команды меню в иерархии меню; 

кнопки с направленными вверх и вниз стрелками перемещают пункты или команды меню по структуре меню; 

Next (Следующий) — перемещает указатель к следующему пункту меню. Если указатель находится на последнем пункте меню, то создается новый пункт меню или новая команда меню такого же уровня иерархии; 

Insert (Вставить) — добавляет пункт меню или команду в пункт меню; 

Delete (Удалить) — удаляет пункт меню или команду из пункта меню. 

Для добавления пункта меню выполните следующие шаги: 

Выбрать место в имеющейся структуре меню. 

Добавить пункт меню, нажав кнопку Insert (Вставить). 

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

В поле Name (Имя) ввести имя пункта меню, по которому он идентифицируется в программном коде. 


Раздел 6. Проектная часть

6.1. DFD – диаграмма





Спавочник

Сигнал

Сигнал

Сигнал



Сигнал





Загрузка

Загрузка





1.4

О программе

1.1

 Файл

1.3

 Закладки

1.2

 Пользователи



	

	



1.1

 Файл

2.4

 Выход

2.3

Печать

2.1

Открыть



2.2

Сохранить



Загрузка

Загрузка

Загрузка

Загрузка

Сигнал

Сигнал

Сигнал

Сигнал





		

2.7

Открыть

2.6

Новая

1.3

Закладки

2.5

Редактор пользователей

Загрузка

1.2

Пользователи

Сигнал
Спецификации данных



Спецификация «Мастер»

@Ввод Сигнал

@Вывод Загрузка

@Спец процесс

ЕСЛИ «Мастер»=TRUE ТО

ВЫВОД Запуск Мастера

		@КОНЕЦ

		

Спецификация «Справка»

@Ввод Сигнал

@Вывод Загрузка

@Спец процесс

ЕСЛИ «Справка»=TRUE ТО

ВЫВОД Открытие Справки

		@КОНЕЦ

		

Спецификация «Открыть»

@Ввод Сигнал

@Вывод Загрузка

@Спец процесс

ЕСЛИ «Открыть»=TRUE ТО

ВЫВОД Запуск диалогового окна Открыть

		@КОНЕЦ

		

Спецификация «Сохранить»

@Ввод Сигнал

@Вывод Загрузка

@Спец процесс

ЕСЛИ «Сохранить»=TRUE ТО

ВЫВОД Запуск диалогового окна Сохранить

		@КОНЕЦ

		

Спецификация «Печать»

@Ввод Сигнал

@Вывод Загрузка

@Спец процесс

ЕСЛИ «Печать»=TRUE ТО

ВЫВОД Запуск Word

		@КОНЕЦ



6.2. Руководство пользователю

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

В  программном продукте «Электронный справочник по работе с программой Visual Basic», написанной на Microsoft Visual Basic 6.0, были реализованы следующие функции и процедуры.

При запуске программы появится стартовое окно, в котором будет отображено её название, а также – появится окно Введите пароль, в котором нужно заполнить поля и нажать Ок, после чего загрузится сама программа «Электронный справочник по работе с программой Visual Basic».  На главной форме программы располагаются все основные элементы управления.



Главное меню программы:

Меню «Файл» содержит кнопки «Открыть» (запускает стандартное диалоговое окно Windows «Open». Нажав «ОК», выбранный документ будет открыт в текстовом поле главной формы), «Сохранить» (Запускает стандартное диалоговое окно Windows «Save»), «Печать» и «Выход»;

Меню «Поиск» (запускает диалоговое окно «Поиск», в появившемся поле вводится название искомого документа);

Меню «Закладки» содержит кнопки «Новая» (Автоматически сохраняется название просматриваемой темы) и «Открыть» (Из предложенного списка тем можно открыть любую из них);

Меню «Пользователю» содержит кнопку «Редактор паролей»;

Меню «Справка» содержит кнопку «О программе».

В левой части окна справочника находятся главы и темы, а в большом окне отображаются выбранные темы в формате HTML-страниц. 

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


Раздел 7. Расчет экономической эффективности дипломного проекта

7.1. Расчет стоимости разработки

Величину затрат на научно-исследовательские работы определяют на основе метода калькуляций. В этом случае затраты определяются расчетом по отдельным статьям расходов и их последующим суммированием в форме. Рассмотрим затраты по отдельным статьям расходов.

7.2. Расчёт статьи, материалы, покупные изделия, полуфабрикаты

На эту статью относится стоимость материалов, покупных изделий, полуфабрикатов и других материальных ценностей, расходуемых непосредственно в процессе выполнения НИР по теме. Цена материальных ресурсов определяется по соответствующим ценникам. В стоимость материальных затрат включаются транспортные расходы (10% от прейскурантной цены).

Таблица 1

Расчёт статьи, материалы, покупные изделия, полуфабрикаты

Наименование товара

	Единицы измерения

Количество

Цена за единицу (руб.)

Суммарные 

затраты (руб.)

	Дискеты 

	Пачка

2

170

340

	Диски (CD-RW)

	Пачка

1

500

500

	Бумага для принтера

	Пачка

1

130

130

Итого (затраты)                                                                                                                                                       970                                              

С учётом транспортных расходов:  Транспортные расходы 10%

10%:100=0,1

970+0.1*970=1064 (руб.)

7.3. Расчёт основной заработной платы

К этой статье относятся основная заработная плата работников, а также премии, входящие в фонд заработной платы. Расчёт основной заработной платы выполняется на основе трудоёмкости выполнения каждого этапа в человеко-днях и величины месячного должностного оклада исполнителя. Среднее количество рабочих дней в месяце равно 20-ти. Следовательно, дневная заработная плата определяется делением размера оклада на количество рабочих дней в месяце. Трудоемкость определяется по готовым расчетам или следующим образом: по таблицам 1 и 2 находится количество дней, которое необходимо потратить на каждый из 5-ти этапов разработки. Например, на первом этапе разработки потребуется количество дней, равное сумме продолжительностей работ, коды которых: 0-1, 0-3, 1-2, 2-5, 3-4. Трудоемкость каждого этапа определяется для группы специалистов, отвечающих за этот этап разработки. Произведение трудоемкости на сумму дневной заработной платы определяет затраты по зарплате для каждого работника на все время разработки.

	      Таблица 2

Расчет основной заработной платы по теме

Наименование работ

Исполнитель

Оклад (руб.)

Дневная зарплата (руб.)

Трудоем-ть

(в человеко-днях)

Затраты по

зарплате (руб.)

1.Подготовительный этап

Ведущий инженер

1300

15

40

600



Инженер

1150

11

20

220

2.Разработка алгоритмов 

и программ

Ведущий инженер 

1400

20

30

600



Программист

1200

15

20

300



Инженер 

1000

12

20

240

	3.Оформление документации и 

	подготовка к сдаче

Инженер

1000

15

25

375

Итого:                                                                                                                                                                 2335



7.4. Расчет дополнительной заработной платы

На эту статью относятся выплаты, предусмотренные законодательством о труде за неотработанное по уважительным причинам время: оплата очередных и дополнительных отпусков и т.п. (принимается в размере 20% от суммы основной заработной платы):

20%:100=0,2

2335 * 0,2 = 467 руб.



7.5. Расчёт накладных расходов

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

    Накладные расходы принимаются в размере 250% от суммы основной заработной платы.

250%:100=2,5

2335*2.5 = 5837,5руб.



7.6. Расчёт договорной цены разработки

Калькуляция стоимости разработки приведена в таблице 3.

Полная себестоимость разработки определяется суммированием пп.1-4 таблицы 3.

Полная себестоимость:

1064 + 2335 + 467 + 5837,5 = 9703,5

Оптовая цена определяется следующим образом:

Цопт = себестоимость + прибыль.

Прибыль составляет 30% от себестоимости:

30%:100=0,3

Прибыль =9703,5 *0.3 =2911,05 руб.

Цопт = 9703,5+2911,05=12614,55 руб.

При расчете договорной цены в общую стоимость включается НДС 18%

18% : 100 = 0,18

12614,55 * 0,18 = 2270,619

12614,55 + 2270,619 = 14885,169

Таблица 3 

Калькуляция стоимости разработки

№ п/п

Наименование статьи расхода

	Затраты (в руб.)

	1.

	Материалы, покупные изделия, полуфабрикаты

970

	2.

	Основная заработная плата

2335

	3.

	Дополнительная заработная плата

467

	4.

	Накладные расходы

5837,5

	5.

	Полная себестоимость

9703,5

	6.

	Прибыль

2911,05

	7.

	Оптовая цена

12614,55

	8.

	НДС 18%

2270,619

	9.

	Договорная цена

14885,169




Заключение

В данном разделе дипломного проекта осуществлена калькуляция темы с расчётом договорной цены ПП и дано технико-экономическое обоснование с оценкой экономической эффективности применения ПП.

Договорная цена на ПП, сформированная на основе нормативной себестоимости производства ПП и прибыли, составляет 14885,169 руб.

Экономический эффект от использования данного ПП за расчётный период (5 лет) составит 74425,845 руб., при этом эффективность разработки – примерно 0.68, т. е. разработчик покроет свои расходы на создание автоматизированной системы ориентировочно за год и затем начнёт получать прибыль.

Таким образом, заказчик должен утвердить затраты на создание нашей автоматизированной системы, поскольку в результате анализа установлено, что внедрение разработки оправдано и экономически целесообразно.


Приложение 1

Исходный код программы «Электронный справочник по работе с программой

Visual Basic»

I. m_Tbook.frm



Основная форма учебника



Const SuperRootName = "NULL?+1234r55tegwegdsfasfgsdg"

Const SubjectFile = "Subject.htm"

Const ExampleFile = "Example.rtf"

Const TestFile = "Test\index.htm"



Const iThemeListWidth = 3000



Dim NavPath As String

Dim NavBKPath As String

Dim bFullMode As Boolean



Function CreateTheme(pName As String, rName As String)

    Dim tmpNode As Node



    Set tmpNode = m_ThemeList.Nodes.Add(, tvwFirst, rName, pName, 1, 3)

    

End Function



Function CreateSection(pName As String, rName As String)

    Dim tmpNode As Node



    Set tmpNode = m_ThemeList.Nodes.Add(rName, tvwChild, , pName, 2)

    

End Function



Private Sub Themes_Loading()

    Dim sFile As String

    Dim i As Integer

    

    sFile = Dir(App.Path & "\Themes\", vbDirectory)

    

    Do Until sFile = ""

        

        If sFile <> "." And sFile <> ".." Then

            CreateTheme sFile, "r" & CStr(i)

            CreateSection SuperRootName, "r" & CStr(i)

        End If

        

        sFile = Dir

        i = i + 1

    Loop

End Sub



Private Sub Form_Load()

    

    Load m_Password

    m_Password.Show 1



    Themes_Loading

    

    bFullMode = False

    m_CmdSwitch.Caption = "Ïðèìåð"

    m_CmdSwitch.Enabled = False

    m_ThemeView.Navigate2 App.Path & "\StartPage.htm", navNoHistory

End Sub



Function CtrlResize(iTheme As Integer)



    On Error Resume Next



    If m_TBook.Width <= iThemeListWidth + 110 Or m_TBook.Height <= 800 Then Exit Function

    If m_TBook.WindowState = vbMinimized Then Exit Function

    

    m_CmdSwitch.Left = iTheme + 10

    m_CmdSwitch.Top = m_TBook.Height - 1000

    m_CmdSwitch.Height = 400

    m_CmdSwitch.Width = 1500

  

    m_CmdTest.Left = m_CmdSwitch.Left + m_CmdSwitch.Width

    m_CmdTest.Top = m_TBook.Height - 1000

    m_CmdTest.Height = 400

    m_CmdTest.Width = 1500

    

    m_CmdCopyClip.Left = m_CmdTest.Left + m_CmdTest.Width

    m_CmdCopyClip.Top = m_TBook.Height - 1000

    m_CmdCopyClip.Height = 400

    m_CmdCopyClip.Width = 1500

    

    m_Back.Left = m_CmdCopyClip.Left + m_CmdCopyClip.Width

    m_Back.Top = m_TBook.Height - 1000

    m_Back.Height = 400

    m_Back.Width = 1000

    

    m_Home.Left = m_Back.Left + m_Back.Width

    m_Home.Top = m_TBook.Height - 1000

    m_Home.Height = 400

    m_Home.Width = 1000

    

    m_Forward.Left = m_Home.Left + m_Home.Width

    m_Forward.Top = m_TBook.Height - 1000

    m_Forward.Height = 400

    m_Forward.Width = 1000

    

    m_ThemeView.Left = iTheme + 100

    m_ThemeView.Top = 0

    m_ThemeView.Width = m_TBook.Width - (iTheme + 200)

    m_ThemeView.Height = m_TBook.Height - 1000

    

    m_BtnFullMode.Width = 100

    m_BtnFullMode.Height = 1000

    m_BtnFullMode.Left = iTheme

    m_BtnFullMode.Top = m_TBook.Height / 2 - m_BtnFullMode.Height / 2

    

    m_ExampleView.Left = iTheme + 100

    m_ExampleView.Top = 0

    m_ExampleView.Width = m_TBook.Width - (iTheme + 200)

    m_ExampleView.Height = m_TBook.Height - 1000

    

    m_ThemeList.Left = 0

    m_ThemeList.Top = 0

    m_ThemeList.Width = iTheme

    m_ThemeList.Height = m_TBook.Height - 400

End Function



Private Sub Form_Resize()

    If bFullMode Then

        m_ThemeList.Visible = False

        CtrlResize 0

    Else

        m_ThemeList.Visible = True

        CtrlResize iThemeListWidth

    End If

End Sub



Private Sub m_About_Click()

    Load frmAbout

    frmAbout.Show

End Sub



Private Sub m_NewBK_Click()

    m_gBKPath = NavBKPath



    Load m_FrmBookMark

    m_FrmBookMark.Show 1

End Sub



Private Sub m_openBK_Click()

    m_gBKPath = ""

    

    Load m_FrmBookMark

    m_FrmBookMark.Show 1



End Sub



Private Sub m_BtnFullMode_Click()

    If bFullMode = True Then

        bFullMode = False

    Else

        bFullMode = True

    End If

    Form_Resize

End Sub



Private Sub m_cmdCopyClip_Click()

    Clipboard.SetText m_ExampleView.TextRTF

End Sub



Private Sub m_CmdSwitch_Click()

    If m_CmdSwitch.Caption = "Òåìà" Then

        m_CmdSwitch.Caption = "Ïðèìåð"

        m_ThemeView.Visible = True

        m_ExampleView.Visible = False

        m_CmdCopyClip.Visible = False

    ElseIf m_CmdSwitch.Caption = "Ïðèìåð" Then

        m_CmdSwitch.Caption = "Òåìà"

        m_ExampleView.Visible = True

        m_ThemeView.Visible = False

        m_CmdCopyClip.Visible = True

    End If

End Sub



Private Sub m_CmdTest_Click()



    If NavPath = "" Then Exit Sub



    m_gTestPath = NavPath & "test.txt"

    

    If Dir(m_gTestPath, vbNormal) <> "" Then

        Load m_FrmTest

        m_FrmTest.Show 1

    End If

    

End Sub



Private Sub m_Back_Click()

    On Error Resume Next

    m_ThemeView.GoBack

End Sub



Private Sub m_Forward_Click()

    On Error Resume Next

    m_ThemeView.GoForward

End Sub



Private Sub m_Home_Click()

    m_ThemeView.Navigate2 App.Path & "\StartPage.htm", navNoHistory

End Sub



Private Sub m_MenuPrint_Click()

    On Error Resume Next

    

    m_ThemeView.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT

    

End Sub



Private Sub m_MenuSave_Click()

    m_ThemeView.ExecWB OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT

End Sub



Private Sub m_MenuFind_Click()

    On Error Resume Next

   

   ' m_ThemeView.ExecWB OLECMDID_F, OLECMDEXECOPT_DODEFAULT

End Sub



Private Sub m_Quit_Click()

    End

End Sub



Private Sub m_ThemeList_Expand(ByVal Node As MSComctlLib.Node)

    Dim pNode As Node

    

    Set pNode = Node.Child

       

    If pNode.Text = SuperRootName Then

        m_ThemeList.Nodes.Remove pNode.Index

        

        Dim sFile As String

        Dim i As Integer

    

        sFile = Dir(App.Path & "\Themes\" & Node.Text & "\", vbDirectory)

    

        Do Until sFile = ""

        

            If sFile <> "." And sFile <> ".." Then

                CreateSection sFile, Node.Key

            End If

        

            sFile = Dir

            i = i + 1

        Loop

    End If

    

End Sub



Private Sub m_ThemeList_NodeClick(ByVal Node As MSComctlLib.Node)

    If Node.Children Then Exit Sub

    

    m_CmdSwitch.Enabled = True

    

    NavPath = App.Path & "\Themes\" & Node.FullPath & "\"

    

    NavBKPath = Node.FullPath

    

    m_ThemeView.Navigate2 NavPath & SubjectFile, navNoHistory

    

    If (Len(Dir(NavPath & ExampleFile))) <= 0 Then

        m_ExampleView.Text = ""

    Else

        m_ExampleView.LoadFile NavPath & ExampleFile

    End If

End Sub





II. mdl_Question.bas



Модуль для хранения глобальных переменных



Type Question

    Question As String

    Answer(2) As String

    True As Integer

End Type





Public m_gTestPath As String

Public m_gBKPath As String

Public m_gBKNewName As String





III. m_FrmBookMark.frm



Форма управления закладками



Private Sub Form_Load()

    

    On Error GoTo EndLoadForm



    Dim pLine As String

    m_bFindName = False

        

    Open App.Path & "\bookmark.txt" For Input As #1

        

    Do Until EOF(1)

        Line Input #1, pLine

        m_BKList.AddItem pLine

        

        If m_bFindName = False Then

            If pLine = m_gBKPath Then m_bFindName = True

        End If

    Loop

    

    If m_bFindName = False And m_gBKPath <> "" Then

        m_BKList.AddItem m_gBKPath

    End If

        

    Close #1

    

EndLoadForm:

    

End Sub



Private Sub Form_Unload(Cancel As Integer)

    On Error GoTo EndUnLoadForm



    If m_gBKPath = "" Then

        GoTo EndUnLoadForm

    End If



    Open App.Path & "\bookmark.txt" For Output As #1

        For i = 0 To m_BKList.ListCount - 1

 

            m_BKList.ListIndex = 0

            Print #1, m_BKList.Text

            m_BKList.RemoveItem m_BKList.ListIndex

 

        Next

    Close #1

EndUnLoadForm:

End Sub



Private Sub m_DeleteBK_Click()

    If m_BKList.ListIndex <> -1 Then m_BKList.RemoveItem m_BKList.ListIndex

End Sub





IV. m_FrmTest.frm



Форма управления тестом



Dim qcount As Integer           ' общее количество вопросов

Dim r As Integer                ' количество правильный 

                                ' ответов

Dim curq As Integer

Dim rate(1 To 4) As Integer     ' критерии оценок

Dim comment(1 To 4) As String   ' комментарии

Dim f As String                 ' буфер чтения



Dim qcycle() As Integer



Dim quest() As Question



Sub LoadQuestions()



    Dim fquest As String

    Dim ftrue As Integer

    Dim fanswer() As String

    

    Do While NextQuestion(fquest, ftrue, fanswer)

        

        If qcount = 1 Then

        

            ReDim quest(0)

        Else

            

            ReDim Preserve quest(qcount - 1)

        End If

        

        quest(qcount - 1).Question = fquest

        quest(qcount - 1).True = ftrue

        

        For i = 0 To 2

            

            quest(qcount - 1).Answer(i) = fanswer(i)

        Next

    Loop

End Sub



Function NextQuestion(ByRef fquest As String, ByRef ftrue As Integer, ByRef fanswer() As String) As Boolean

    If Not EOF(1) Then           ' файл не закончился

      ' считывание и ввод вопроса

      Line Input #1, fquest



      ' считывание вариантов ответа

      

      ReDim fanswer(2)

      

      For i = 0 To 2

      

        Line Input #1, f

        fanswer(i) = f

        

        Line Input #1, f

        If f = "1" Then ftrue = i

      Next

      

      ' верный ли ответ: 1 – верный 0 - нет

      ' 0 или 1 записывается в свойство Tag соответствующего компонента

      ' Option



      ' увеличение счетчика вопросов

      qcount = qcount + 1

      

      NextQuestion = True

   Else

    

      NextQuestion = False

   End If

End Function



Private Sub ShowQuestion(ByVal num As Integer)

    If num >= qcount - 1 Then m_CmdNext.Caption = "Завершить"

    num = qcycle(num)

    

    m_CmdNext.Enabled = False

    

    m_Question.Caption = quest(num).Question

    m_Var1.Caption = quest(num).Answer(0)

    m_Var1.Tag = 0

    If quest(num).True = 0 Then m_Var1.Tag = 1

    m_Var2.Caption = quest(num).Answer(1)

    m_Var2.Tag = 0

    If quest(num).True = 1 Then m_Var2.Tag = 1

    m_Var3.Caption = quest(num).Answer(2)

    m_Var3.Tag = 0

    If quest(num).True = 2 Then m_Var3.Tag = 1

    

    m_Var1.Value = False

    m_Var2.Value = False

    m_Var3.Value = False

End Sub



Private Sub Form_Load()

   m_Question.Font.Size = 10

   FileName = m_gTestPath



   On Error GoTo EndTest



   Open FileName For Input As #1    ' открытие файла

                                    ' для чтения

   Line Input #1, f                 ' чтение названия теста 

   m_FrmTest.Caption = f



   ' комментарии и критерии оценок

   For i = 1 To 4 Step 1

      Line Input #1, f

      comment(i) = f

      Line Input #1, f

      rate(i) = f

   Next



   ' обнуление счетчиков

   q = 0

   r = 0



   LoadQuestions

   

   Close #1

   

   ReDim qcycle(qcount - 1)

   

   Dim qvars() As Boolean

   

   ReDim qvars(qcount - 1)

   

   For i = 0 To qcount - 1

   

       qvars(i) = True

   Next

   

   For i = 0 To qcount - 1

       Dim rn As Integer

       Dim num As Integer

       

       Randomize

       

       rn = Rnd(qcount - 1) * (qcount - 1) + 1

    

       Do While rn > 0

       

            num = num + 1

            If num > qcount - 1 Then num = 0

            

            Do Until qvars(num)

                

                num = num + 1

                If num > qcount - 1 Then num = 0

            Loop

            

            rn = rn - 1

       Loop

       

       qcycle(i) = num

       qvars(num) = False

   Next

   

   If qcount = 0 Then GoTo EndTest

   

   ShowQuestion (0)



EndTest:

End Sub



Private Sub m_CmdEndTest_Click()

    

    Erase quest

    curq = 0

    qcount = 0

    r = 0

    

    Unload m_FrmTest

End Sub



Private Sub m_CmdNext_Click()

   If m_Var1.Value = True Then r = r + m_Var1.Tag

   If m_Var2.Value = True Then r = r + m_Var2.Tag

   If m_Var3.Value = True Then r = r + m_Var3.Tag



   If m_CmdNext.Caption = "Завршить" Then

      m_Var1.Visible = False

      m_Var2.Visible = False

      m_Var3.Visible = False



      m_Question.Height = m_Question.Height * 2

      m_Question.Caption = "Тестирование завершено." + Chr(13) + _

                       "Правильных ответов: " + Format$(r) + _

                       " из " + _

                       Format$(qcount) + "."



      i = 1

      While (r < rate(i)) And (i < 4)

         i = i + 1

      Wend



      ' ввод коментария

      m_Question.Caption = m_Question.Caption + Chr(13) + comment(i)



      m_CmdNext.Enabled = False

   Else

      curq = curq + 1

      ShowQuestion curq

   End If



End Sub



Private Sub m_Question_Click()



End Sub



Private Sub m_Var1_Click()

    m_CmdNext.Enabled = True

End Sub



Private Sub m_Var2_Click()

    m_CmdNext.Enabled = True

End Sub



Private Sub m_Var3_Click()

    m_CmdNext.Enabled = True

End Sub





V. m_Password.frm



Форма для ввода пароля



Dim Entered As Boolean



Private Sub Command1_Click()

    End

End Sub



Private Sub Command2_Click()

        

    Dim sName As String

    Dim sPass As String

    

    Dim deName As String

    Dim dePass As String

    

    Dim Equal As Boolean

    

    Open App.Path & "\Passwords" For Input As 1

    

        Do Until EOF(1)

        

            deName = ""

            dePass = ""

                

            Input #1, sName

            Input #1, sPass

            

            Dim sim As String

            Dim sima As String

            Dim simb As String



            For i = 0 To Len(sName) - 1 Step 2

                

                sima = Mid(sName, i + 1, 1)

                simb = Mid(sName, i + 2, 1)

                

                sim = Chr((Asc(sima) - 210) * 16 + (Asc(simb) - 210))

                

                deName = deName & sim

            Next

            

            For i = 0 To Len(sPass) - 1 Step 2

                

                sima = Mid(sPass, i + 1, 1)

                simb = Mid(sPass, i + 2, 1)

                

                sim = Chr((Asc(sima) - 210) * 16 + (Asc(simb) - 210))

                

                dePass = dePass & sim

            Next

            

            If deName = txt_Name And dePass = txt_Password Then

                Equal = True

            End If

        Loop

    Close #1

    

    If Not Equal Then

        

        MsgBox "Неправильно введены" & vbCrLf & _

               "имя пользователя" & vbCrLf & _

               "и пароль", vbOKOnly

    Else

    

        Entered = True

        Unload m_Password

    End If

End Sub



Private Sub Form_Load()



    Entered = False

End Sub



Private Sub Form_Unload(Cancel As Integer)



    If Not Entered Then End

End Sub


Заключение

В ходе дипломного проектирования была разработана программа «Справочник по работе с программой Visual Basic». Эта программа предназначена для самостоятельной работы студентов при обучении программированию в среде Visual Basic. 

На основании  поставленной цели решались следующие задачи:

провести анализ теоретического материала предлагаемого к компьютерной реализации;

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

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

Для решения данных задач была проделана следующая работа: 

проведен анализ теоретического материала предлагаемого к изучению студентам и выбран материал для первоочередной реализации в электронном справочнике; 

проведен сравнительный анализ электронных справочников («VBHELP» - справочник по Visual Basic 5.0, «Vbfunction», «Справочник по WIN 32 API», «Справочник по функциям Windows API») с целью выявления системы, наиболее отвечающей требованиям, предъявляемым при разработке справочника;

подобрана система тестовых вопросов для выявления уровня усвоения нового материала;

разработана система подсказок, призванная облегчить обучение студентов; 

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

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


Список использованных источников

Штайнер Г. Visual Basic .NET. — M.: Лаборатория Базовых Знаний, 2002. — 544 с.: ил. — (Справочник).

Глушаков С.В. Программирование на Visual Basic 6.0 / СБ. Глушаков, С. А. Сурядный; Худож.-оформ. А.С. Юхтман. — М.: ООО «Издательство ACT»; Харьков: «Фолио», 2005. — 497, [15] с.— (Учебный курс).

Культин Н. Б. Visual Basic. Освой на примерах. — СПб.: БХВ-Петербург, 2004. - 288 с.: ил.

Кен Гетц, Майк Гилберт Программирование на Visual Basic 6 и VBA. Руководство разработчика: Пер. с англ. — К.: Издательская группа BHV, 2001. - 912 с., ил.

Аляев Ю. А., Козлов О. А. Алгоритмизация и языки программирования Pascal, C++, Visual Basic: Учебно-справочное пособие. — М.: Финансы и статистика, 2002. — 320 с.: ил.

Методические рекомендации по проектированию обучающих программ / Институт психологии Министерства просвещения УССР; - Киев, 1986.

Технология сертификации программных средств учебного назначения (ПС УН) / Рос. центр информатизации образования (РОСЦИО) / Под редакцией А.И. Галкина, В.К. Мороз. - М., 1993.

Тодд Миллер, Дэвид Пауэл. Использование Delphi 3 / специальное издание. - М.-Киев, Диалектика, 1997.

Павловская Т. А. C/C++. Программирование на языке высокого уровня. - "Питер", 2005 г., 461 с. 

Брайан Сайлер, Джефф Споттс. Использование Visual Basic 6.0. - Издательский Дом «Вильямс», 1999 г., 832 с.

http://www.vbstreets.ru/ - «VB улицы». Все о Visual Basic, VBScript, Active Server Page, ActiveX, ADO и SQL.

http://www.vbplanet.km.ru/ - Всё для программистов. Отличный сайт о Visual Basic. Много интересных материалов: исходники, ActiveX, статьи, форум.

http://www.vb.narod.ru – сайт со статьями по VB, имеется электронный учебник…

http://www.visualbasic.boom.ru – сайт очень полезный, особенно для программистов на Visual Basic.

http://www.vbmaster.fhost.ru – сайт посвященный программированию.

http://www.vbrussia.com – материалы по программированию

5