Электронный справочник по изучению 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.2010

  • Visual 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.