Электронный справочник по изучению Visual Basic
Сравнительная характеристика средств обучения программированию в среде Visual Basic. Задачи проектируемых автоматизированных программных систем. Комплекс технических средств. Математическое и программное обеспечение. Язык программирования Visual Basic.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 17.05.2007 |
Размер файла | 64,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Некоторые варианты использования ImageList
- Хранение изображений, символизирующих открытую и закрытую папку, а также документы различных типов. Можно динамически назначать такие изображения объекту Node элемента управления TreeView, чтобы отображать различные состояния каждого узла по мере того, как он разворачивается или сворачивается, и указывать, что представляет собой узел - документ или папку.
- Хранение изображений, символизирующих типовые операции, такие как открытие, сохранение и печать файлов. Их можно назначить кнопкам (объектам Button) элемента управления ToolBar, используемого в программе.
- Хранение изображений, используемых при перетаскивании, например значков DragIcons и MousePointer.
Пример использования ImageList
Добавить к пользовательской форме элемент управления Microsoft ImageList Control, version 5.0. После этого задать изображения.
1. Поместить на пользовательскую форму элемент управления Image ("Рисунок").
2. В окне свойств элемента Image для свойства Name установить значение imgTarget, для свойства PictureSizeMode - значение frmPictureSizeModeZoom, для свойства Caption -- значение ImageList. (Если этого окна нет на экране, нажмите <F4>.)
3. В окне свойств элемента ImageList установить для свойства Name значение imlODE.
4. В окне свойств ImageList выделить пункт (Custom) и нажать кнопку (...); в появившемся окне Properties ("Свойства") выбрать закладку Images ("Рисунки").
5. Нажать кнопку Insert Picture ("Вставить рисунок").
6. В поле открытия рисунка выделить нужный файл формата .bmp или .ico и нажать кнопку Open ("Открыть"). Источником изображений может служить, например, каталог Csample на компакт-диске ODE (\Msds\Odesmpl\Ode\Msdnoc2\Csample).
7. Назначить изображению уникальный ключ, введя его в текстовом поле Key. Можно также назначить ему метку (не обязательно уникальную); она вводится в поле Tag.
8. Нажать кнопку OK.
9. Повторить процедуру вставки рисунка для всех изображений, которые нужно добавить к ImageList.
10. В окне кода ввести следующий текст:
Option Explicit
Private Sub UserForm_Click()
Set imgTarget.Picture = imlODE.ListImages(1).Picture
End Sub
11. Этот код связывает элемент управления Image с первым изображением, хранящимся в элементе управления ImageList.
12. Запустить пример на выполнение
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, после чего проделайте следующее.
1. Добавить к той же форме элемент управления ComboBox ("Поле со списком").
2. Для свойства Name элемента RichTextBox установить значение rtfODE, а для свойства Name элемента ComboBox -- cmbSetColor.
3. Для свойства Caption пользовательской формы установить значение "Элемент управления RichTextBox".
4. В окне кода ввести следующий текст:
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
5. Запустить пример на выполнение и ввести в 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, выполните следующие шаги:
1. Чтобы обеспечить работу с базой данных Northwind, установить связь с объектной библиотекой DAO 3.5: выбрать в меню Tools ("Сервис") команду References ("Ссылки") и в появившемся окне отметить Microsoft DAO 3.5 Object Library.
2. Для свойства Name элемента TreeView установить значение tvwODE.
3. Для свойства Caption пользовательской формы установить значение "Элемент управления TreeView".
4. В окне кода ввести следующий текст:
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
5. Запустить пример на выполнение. Дважды щелкнуть по узлу 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 (Удалить) -- удаляет пункт меню или команду из пункта меню.
Для добавления пункта меню выполните следующие шаги:
1. Выбрать место в имеющейся структуре меню.
2. Добавить пункт меню, нажав кнопку Insert (Вставить).
3. В поле Caption (Заголовок) ввести название пункта меню, которое будет отображаться в строке меню при запуске приложения на выполнение.
4. В поле Name (Имя) ввести имя пункта меню, по которому он идентифицируется в программном коде.
Раздел 6. Проектная часть
6.1. DFD - диаграмма
Спецификации данных
Спецификация «Мастер»
@Ввод Сигнал
@Вывод Загрузка
@Спец процесс
ЕСЛИ «Мастер»=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.
Список использованных источников
1. Штайнер Г. Visual Basic .NET. -- M.: Лаборатория Базовых Знаний, 2002. -- 544 с.: ил. -- (Справочник).
2. Глушаков С.В. Программирование на Visual Basic 6.0 / СБ. Глушаков, С. А. Сурядный; Худож.-оформ. А.С. Юхтман. -- М.: ООО «Издатель-ство ACT»; Харьков: «Фолио», 2005. -- 497, [15] с.-- (Учебный курс).
3. Культин Н. Б. Visual Basic. Освой на примерах. -- СПб.: БХВ-Петербург, 2004. - 288 с.: ил.
4. Кен Гетц, Майк Гилберт Программирование на Visual Basic 6 и VBA. Руководство разработчика: Пер. с англ. -- К.: Издательская группа BHV, 2001. - 912 с., ил.
5. Аляев Ю. А., Козлов О. А. Алгоритмизация и языки программирования Pascal, C++, Visual Basic: Учебно-справочное пособие. -- М.: Финансы и ста-тистика, 2002. -- 320 с.: ил.
6. Методические рекомендации по проектированию обучающих программ / Институт психологии Министерства просвещения УССР; - Киев, 1986.
7. Технология сертификации программных средств учебного назначения (ПС УН) / Рос. центр информатизации образования (РОСЦИО) / Под редакцией А.И. Галкина, В.К. Мороз. - М., 1993.
8. Тодд Миллер, Дэвид Пауэл. Использование Delphi 3 / специальное издание. - М.-Киев, Диалектика, 1997.
9. Павловская Т. А. C/C++. Программирование на языке высокого уровня. - "Питер", 2005 г., 461 с.
10. Брайан Сайлер, Джефф Споттс. Использование Visual Basic 6.0. - Издательский Дом «Вильямс», 1999 г., 832 с.
11. http://www.vbstreets.ru/ - «VB улицы». Все о Visual Basic, VBScript, Active Server Page, ActiveX, ADO и SQL.
12. http://www.vbplanet.km.ru/ - Всё для программистов. Отличный сайт о Visual Basic. Много интересных материалов: исходники, ActiveX, статьи, форум.
13. http://www.vb.narod.ru - сайт со статьями по VB, имеется электронный учебник…
14. http://www.visualbasic.boom.ru - сайт очень полезный, особенно для программистов на Visual Basic.
15. http://www.vbmaster.fhost.ru - сайт посвященный программированию.
16. http://www.vbrussia.com - материалы по программированию
Подобные документы
Язык программирования Visual Basic: краткая история возникновения, значение и общая характеристика. Изучение основных свойств Visual Basic, синтаксис языка. Обзор ключевых операторов Visual Basic, пользовательские процедуры и функции данного языка.
контрольная работа [36,4 K], добавлен 23.07.2014Рождение и развитие Basic. Краткое описание Visual Basic for Applications. Новые возможности Visual Basic 5.0. Пример взаимодействия Excel и Visual Basic. Программирование табличных функций. Встраивание, применение функций. Формы, средства управления OLE.
реферат [20,7 K], добавлен 11.03.2010Разработка программного продукта с помощью языка программирования Visual Basic. Описание интерфейса пользователя и возможностей программы. Исходный код основных модулей. Программа, демонстрирующая основные возможности диаграмм и среды Visual Basic.
контрольная работа [989,9 K], добавлен 29.03.2011Рабочая среда Visual Basic (VB) и ее основные компоненты. Ввод и вывод данных в VB. Объявление переменных и констант в программе. Создание и работа с процедурами и функциями, их виды. Организация ветвления в VB. Использование циклов в программировании.
практическая работа [502,5 K], добавлен 26.10.2013Характеристика мови програмування VBA (Visual Basic for Application): можливості й засоби. Використання редактора Visual Basic. Створення та виконання VBA-програм. Типи даних, змінні й константи, операції й вирази. Керуючі оператори, процедури й функції.
реферат [29,9 K], добавлен 28.06.2011Программный проект Баз данных средствами Visual Basic 6.0. Проектирование структуры таблицы базы данных Visual Basic 6.0. Заполнение созданных таблиц БД исходными данными. Создание пользовательского меню. Вид формы и свойства элементов управления.
курсовая работа [3,0 M], добавлен 19.06.2010Написание тестирующей программы для проверки знаний учащихся с помощью языка программирования Visual Basic for Applications (VBA), встроенного в пакет Microsoft Office. Общие сведения о программе, условия ее выполнения, настройка, проверка, выполнение.
контрольная работа [25,2 K], добавлен 07.06.2010Visual Basic for Application. Объекты и коллекции. Использование VBA в среде Access. Основы современной технологии проектирования АИС. Автоматизированное проектированиеCASE-технологий. Реинжиниринг бизнес-процессов и проектирование корпоративной ИС.
курсовая работа [2,1 M], добавлен 22.02.2008Принципы визуального программирования. Создание программы, генерирующей звук через определенные промежутки времени. Visual Basic как средство разработки прототипов программы, для разработки приложений баз данных и компонентного способа создания программ.
лабораторная работа [1,1 M], добавлен 10.12.2014Составление блок-схемы алгоритма решения задачи, погрешности вычисления суммы членов числового ряда. Разработка программ на языке на Visual Basic, работа с массивами. Особенности работы со строковыми данными. Варианты реализации формы приложения.
контрольная работа [220,4 K], добавлен 18.06.2010