Разработка учебно-методического комплекса для проведения интерактивных уроков с использованием электронной доски по дисциплине "Немецкий язык"

Создание программного обеспечения для проведения преподавателем интерактивных уроков по дисциплине "Немецкий язык". Физическая и логическая структура программного обеспечения, описание его исходных кодов. Описание подпрограмм "Видео-урок" и "Аудио-урок".

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 17.09.2013
Размер файла 361,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Содержание

  • Реферат
  • Введение
  • 1. Структура программного обеспечения
  • 1.1 Физическая и логическая структура
  • 1.1.1 Физическая структура
  • 1.1.2 Логическая структура программного обеспечения
  • 1.2 Описание исходных кодов программного обеспечения
  • 1.2.1 Описание исходных кодов подпрограммы Книги
  • 1.2.2 Описание подпрограммы Видео уроки
  • 1.2.3 Описание подпрограммы Аудио Уроки

Реферат

дипломного проекта "Разработка учебно-методического комплекса для проведения интерактивных уроков с использованием электронной доски по дисциплине "Немецкий язык”"

Настоящая расчетно-пояснительная записка дипломного проекта на тему "Разработка УМК для проведения интерактивных уроков с использованием электронной доски по дисциплине "Немецкий язык”" выполнен студентом 4 - го курса группы 40.01.01 р (а) Холмирзаев М.Х. под руководством зав кафедры "Экономика и информационные технологии" Худойбердиев М. А.

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

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

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

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

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

Третья глава описывает о настройке и программного обеспечения. Данная глава фактически полностью ориентирован для опытных пользователей. Глава содержит несколько разделов который посвящен к отдельной подпрограмме.

Четвертой главе приведены результаты опытной эксплуатации программы в компьютерных классах ПИТУТ.

В приложении приведены справка внедрения (опытной эксплуатации), справка о сдаче компакт диска со всеми исходными файлами и файлами руководств в информационный фонд кафедры.

Введение

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

Дисциплина "Немецкий язык" преподается студентам элективной группы для 3 и 4 курсов. Конечно, рамки всех занятий материала данного Web-приложения не могут вместить все грани изучаемого предмета, но я попытался собрать необходимые тематики по данному предмету.

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

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

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

Актуальность. Как уже отмечалось, данная разработка должна стать составляющей частью образовательной системы ХПИТУТ. Она способствует стремлению студентов к самостоятельной работе, что приведет к повышению уровня знаний, как по изучаемой дисциплине.

программное обеспечение учебный комплекс

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

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

Процессор: Intel Core DUO, 1,8 ГГц или выше

Оперативная память: 1 Гб или больше

Видеокарта: 512 мб или больше

Разрешение экрана: 1024 х 768

Место: 1 ГБ

Программы: NET Framework 4, DirectX 10, Adobe Reader 10

Подключение к сети для получения онлайн тестов.

Запуск программного обеспечения производится нажатием на УМК из рабочего стола или из меню Пуск - > Все программы - > УМК - Немецкий язык - > УМК. После запуска открывается программа, который запускает подпрограммы по выбору пользователя. Здесь отображается все подпрограммы который установлен в системе. Устанавливаются следующие подпрограммы: Уроки, Слайды, Видео уроки, Аудио уроки, Тест, Словарь и Книги.

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

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

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

Третья глава описывает о настройке и программного обеспечения. Данная глава фактически полностью ориентирован для опытных пользователей. Глава содержит несколько разделов который посвящен к отдельной подпрограмме.

Четвертой главе приведены результаты опытной эксплуатации программы в компьютерных классах ПИТУТ.

В приложении приведены справка внедрения (опытной эксплуатации), справка о сдаче компакт диска со всеми исходными файлами и файлами руководств в информационный фонд кафедры.

Статические данные дипломного проекта. Весь проект состоит из следующих составляющих частей.

1) Задание

2) Программное обеспечение

3) Расчетно-пояснительная записка

4) Справка об опытной эксплуатации программного обеспечения

5) Отзыв научного руководителя

6) Внешняя рецензия

7) Компакт диск со всеми файлами, которые содержат в себе программы и данные

· Программное обеспечение

· DirectX 10

· Adobe Reader 10

· NET Framework 4.0

Программное обеспечение состоит из программ, подпрограмм, ini файлов и dll библиотек и папок. Список всех программ и подпрограмм приведено в таблице 1.

Таблица 1

Описание файлов и папок программного обеспечения

Имя

Описание, путь к файлу

Данные о файле

Тип

Размер, кб

1

УМК немецкий. exe

Главная программа для объединения всех подпрограмм, Корневой каталог.

exe

43

2

settings. ini

Файл конфигурации программы УМК немецкий, Корневой каталог

ini

2

3

Audiouroki

Папка для подпрограммы Аудио уроки, Корневой каталог

папка

89295,5

4

Audiopanel. exe

Подпрограмма Аудио уроки,. \audiouroki\audiopanel. exe

exe

562

5

settings. ini

Файл конфигурации подпрограммы Аудио уроки,

. \audiouroki\settings. ini

ini

1

6

Books

Папка для подпрограммы Книги, Корневой каталог

ini

241664

7

Data

Папка для сохранения данных подпрограммы Книги,. \books\data

папка

235520

8

Images

Папка для сохранения изображение подпрограммы Аудио уроки,. \books\images

папка

3031,04

9

AxInterop. AcroPDFLib. dll

Компонент подпрограммы Книги,. \books\AxInterop. AcroPDFLib. dll

dll

9

10

frames. ini

Файл базы данных подпрограммы Книги,. \books\frames. ini

ini

1

11

Interop. AcroPDFLib. dll

Компонент подпрограммы Книги,. \books\Interop. AcroPDFLib. dll

dll

13

12

settings. ini

Параметры конфигурации подпрограммы Книги,. \books\settings. ini

ini

2

13

Книги. exe

Подпрограммы Книги,. \books\Книги. exe

exe

62

14

data

Папка для сохранения данных программы УМК немецкий,. \books\data

папка

31

15

frames. ini

Файл содержит данные о подпрограммах для программы УМК Немецкий,. \books\data\frames. ini

ini

1

16

Images

Папка для сохранения изображений программы УМК Немецкий,. \books\images

папка

2918,4

17

Slides

Папка для подпрограммы Слайды, Корневой каталог

папка

2703,36

18

Data

Папка для сохранения данных подпрограммы Слайд,. \slides\data

папка

0

19

Images

Папка для сохранения изображений подпрограммы Слайд,. \slides\images

папка

278

20

frames. ini

База данных подпрограммы Слайды,. \slides\frame. ini

ini

1

21

settings. ini

Параметры конфигурации подпрограммы,. \slides\settings. ini

ini

1

22

Слайды. exe

Подпрограмма Слайды,,. \slides\слайды. exe

exe

61

23

Slovar

Папка для подпрограммы Словар, Корневой каталог

папка

74

24

Data. ini

База данных подпрограммы Словар

ini

21

25

Settings. ini

Параметры конфигурации подпрограммы Словар,. \slides\settings. ini

ini

2

26

Slovar

Подпрограмма Словар,. \slovar\slovar. exe

exe

53

27

Test

Папка подпрограммы Тест, Корневой каталог

папка

610

28

data

папка для сохранения данных подпрограммы Тест,. \test\data

папка

4

29

Images

Папка для сохранения изображений подпрограммы Тест,. \test\images

папка

460

30

Data. ini

База данных подпрограммы Тест,. \test\data. ini

папка

2

31

Interop. VBIDE. dll

Компонент программы Тест,. \test\Interop. VBIDE. dll

dll

56

32

Settings. ini

Параметры конфигурации подпрограммы Тест,. \test\settings. ini

ini

2

33

Tests. ini

База данных тестов подпрограммы Тест,. \test\tests. ini

ini

1

34

Тесты. exe

Подпрограмма для проведения тестов,. \test\Тесты. exe

exe

91

35

Uroki

Папка для подпрограммы Уроки, Корневой каталог

Папка

2693,12

36

Data

папка для сохранения данных подпрограммы Уроки,. \uroki\data

папка

10

37

Images

Папка для сохранения изображений подпрограммы Уроки,. \uroki\images

папка

460

38

Data. ini

База данных подпрограммы Уроки,. \uroki\data. ini

папка

2

39

AxInterop. AcroPDFLib. dll

Компонент подпрограммы Уроки,. \uroki\AxInterop. AcroPDFLib. dll

dll

9

40

Frames. ini

Файл базы данных подпрограммы,. \uroki\frames. ini

ini

10

41

Interop. AcroPDFLib. dll

Компонент подпрограммы Уроки,. \uroki\Interop. AcroPDFLib. dll

dll

13

42

Settings. ini

Параметры конфигурации подпрограммы Уроки,. \uroki\settings. ini

ini

2

43

уроки. exe

Подпрограмма уроки,. \uroki\уроки. exe

exe

62

44

Videouroki

Папка для подпрограммы Видео уроки, Корневой каталог

Папка

232

45

Data

Рабочая папка подпрограммы Видео уроки,. \videouroki\data

папка

230

46

Images

Папка для сохранения иображений подпрограммы видео уроки,. \videouroki\images

папка

1,49

47

Settings. ini

Параметры конфигурации подпрограммы

ini

1

48

видеоуроки. exe

Подпрограммы видео уроки

exe

556

1. Структура программного обеспечения

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

Первый раздел дает информацию о физической и логической структуре программы.

Второй раздел посвящен на объяснение основных исходных кодов программного обеспечения. Этот раздел имеет несколько подразделов и каждый подразделы посвящено на исходные коды каждой подпрограммы.

1.1 Физическая и логическая структура

Данный раздел представляют данные о структуре программного обеспечения. Разделено на следующие две подразделы:

1) Физическая структура программного обеспечения

2) Логическая структура программного обеспечения

1.1.1 Физическая структура

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

Рис. 1.1.1

1.1.2 Логическая структура программного обеспечения

Логическая структура программы - это простая схема который показывает причинно-следственные связи между:

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

· действиями, которые вы планирует предпринять; и

· ресурсами, которые у вас есть для реализации программы

В рис. 1.1.2 приведено логическая структура программного обеспечения.

Рис. 1.1.2

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

1.2 Описание исходных кодов программного обеспечения

Для разработки программного обеспечения было выбрано язык программирования высокого уровня Visual Basic.net. Разработка программы в этом языке позволяет быстро и эффективно создать программы любой сложности. Для получения максимального эффективности и быстроты создания программы было выбрано последняя версия Visual Studio 2012 и NET Framework 4.0. Причина выбора последней версии в том что в них внедрены последние достижения Microsoft в области разработки языка программирования. В этих версиях внедрены поддержка всех других предыдущих и последних версий операционных систем. Это дает возможность работоспособности программного обеспечения во всех версиях операционных систем от Microsoft.

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

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

1.2.1 Описание исходных кодов подпрограммы Книги

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

1) Класс для элемента управления EnterpisedListBox

2) Модуль для создания интерфейса пользователя UICreate

3) Главное окно программы Form1

4) Окно добавления книг add_book

Описание исходных кодов класса EnterprisedListBox. Данный класс позволяет создать расширенного элемента управления ListBox. Позволяет добавлять картинку с текстом. Также может загружать данные из файла, который создан в определенной структуре.

Листинг 1.2.1.1 Процедура для загрузки данных в создании нового экземпляра класса и включение возможности перерисовки наследованного элемента управления.

Public Sub New (ByVal FileName As String)

Try

bini = New IniFile (FileName)

fname = FileName

DrawMode = Windows. Forms. DrawMode. OwnerDrawVariable

Dim str () As String = bini. ReadSections ()

For i As Integer = 0 To str. Length - 1

Items. Add (str (i))

Next

Catch ex As Exception

MsgBox (ex. Message)

End Try

End Sub

Листинг 1.2.1.2 Процедура для включения возможности включения перерисовки наследованного элемента управления.

Public Sub New ()

DrawMode = Windows. Forms. DrawMode. OwnerDrawVariable

End Sub

Листинг 1.2.1.3 Процедура для перерисовки элемента управления.

Protected Overrides Sub OnDrawItem (e As DrawItemEventArgs)

' События при рисовании элемента

Try

If Items. Count = 0 Or e. Index = - 1 Then Exit Sub

' Если нет ни одного элемента то выходим из цикла

Dim s As String = Items (e. Index). ToString ' Получаем текст строки

Dim sf As StringFormat = New StringFormat () ' Формат текста

sf. Alignment = StringAlignment. Center

If (e. State And DrawItemState. Focus) = 0 Then ' Проверяем выбран ли элемент списка

Call ItemDraw (e, s) ' Если не выбран то просто рисуем элемент

Else

Call DrawActiveItem (e, s) ' Если выбран то задаем его задный цвет

End If

Catch ex As Exception

MsgBox (ex. Message)

End Try

End Sub

Листинг 1.2.1.4 Функция для рисования элемента списка при создании с изображением и текстом.

Protected Function ItemDraw (ByVal e As DrawItemEventArgs, s As String)

Try

Dim ItemFont As Font = New Font ("Segoe UI", 18)

Dim r As Rectangle = New Rectangle (New Point (e. Bounds. X + 10, e. Bounds. Y + 10), New Size (e. Bounds. Width - 20, e. Bounds. Height - 12))

e. Graphics. DrawRectangle (New Pen (New SolidBrush (System. Drawing. Color. FromArgb (200, 200, 200)), 1), r)

Dim imgstr As String = application. startuppath & "\" & bini. ReadString (s, "Image")

If IO. File. Exists (imgstr) = True Then

Dim img As Bitmap = New Bitmap (imgstr)

e. Graphics. DrawImage (img, New Rectangle (New Point (e. Bounds. X + 18, e. Bounds. Y + 18), New Size (64, 64)))

img. Dispose ()

End If

e. Graphics. DrawString (bini. ReadString (s, "Text"). ToString, ItemFont, New SolidBrush (System. Drawing. Color. FromArgb (47, 47, 47)), New Point (e. Bounds. X + 88, e. Bounds. Y + 12))

Catch ex As Exception

MsgBox (ex. Message)

End Try

End Function

Листинг 1.2.1.5 Функция для рисования элемента списка при выборе.

Protected Function DrawActiveItem (ByVal e As DrawItemEventArgs, s As String)

Try

Dim ItemFont As Font = New Font ("Segoe UI", 18)

Dim r As Rectangle = New Rectangle (New Point (e. Bounds. X + 10, e. Bounds. Y + 10), _

New Size (e. Bounds. Width - 19, e. Bounds. Height - 11))

Dim lg As LinearGradientBrush = New LinearGradientBrush (r, System. Drawing. Color. FromArgb _

(121, 187, 255), System. Drawing. Color. FromArgb (65, 151, 238), LinearGradientMode. Vertical)

e. Graphics. FillRectangle (lg, r)

Dim imgstr As String = application. startuppath & "\" & bini. ReadString (s, "Image")

If IO. File. Exists (imgstr) = True Then

Dim img As Bitmap = New Bitmap (imgstr)

e. Graphics. DrawImage (img, New Rectangle (New _

Point (e. Bounds. X + 18, e. Bounds. Y + 18), New Size (64, 64)))

img. Dispose ()

End If

e. Graphics. DrawString (bini. ReadString (s, "Text"), ItemFont, New SolidBrush (System. Drawing. Color. _

FromArgb (255, 255, 255)), New Point (e. Bounds. X + 88, e. Bounds. Y + 12))

Catch ex As Exception

MsgBox (ex. Message)

End Try

End Function

Описание свойств и функций модуля UICreate. Данный модуль связано с созданием и настройкой главного окна программы. Данный модуль позволяет настроит главное окно на основе параметров в файле конфигурации.

Листинг 1.2.1.6 Функция для проверки и возможности на загрузку конфигурационного файла.

Public Function LoadSettings (ByVal FileName As String) As Boolean

Dim s As Boolean = False

Try

ini = New IniFile (FileName)

s = True

Catch ex As Exception

MsgBox (ex. Message)

End Try

LoadSettings = s

End Function

Листинг 1.2.1.7 Функция для настройки окна проиложения

' Настроим окно приложения

Public Function CreateMainWindow (ByVal Wnd As Form)

Dim st As Boolean = False

Try

With Wnd

. Text = ini. ReadString (APP, "Caption", "Книги")

. Icon = New Icon (application. startuppath & "\" & ini. ReadString (APP, "IcoFile"))

. StartPosition = FormStartPosition. CenterScreen

. WindowState = FormWindowState. Maximized

. FormBorderStyle = FormBorderStyle. None

. Size = Screen. PrimaryScreen. WorkingArea. Size

Dim b As Array = Split (ini. ReadString (APP, "BackColor", "255,47,47,47"), ",")

. BackColor = System. Drawing. Color. FromArgb (b (0), b (1), b (2), b (3))

Dim s As String = ini. ReadString (APP, "BackgroundImage")

If s. Length > 0 Then

. BackgroundImage = New Bitmap (application. startuppath & "\" & s)

. BackgroundImageLayout = ImageLayout. Stretch

End If

End With

st = True

Catch ex As Exception

MsgBox (ex. Message)

End Try

CreateMainWindow = st

End Function

Листинг 1.2.1.8 Функция создания элемента управления для отображения списка книг.

' Создаем слой для вывода списка книг

Public Function BooksLayer (ByVal Section As String)

Dim uc As UserControl = New UserControl

With uc

'задаем фоновой цвет

Dim b As Array = Split (ini. ReadString (Section, "BackColor", "100,255,255,255"), ",")

. BackColor = System. Drawing. Color. FromArgb (b (0), b (1), b (2), b (3))

b = Nothing

Dim bmgs As String = ini. ReadString (Section, "Image")

If bmgs. Length > 0 Then

Dim bimg As Bitmap = New Bitmap (bmgs)

End If

End With

BooksLayer = uc

End Function

Листинг 1.2.1.9 Функция для создания заголовка на основе параметрах из файла конфигурации.

Public Function ReadHeader (ByVal Section As String) As Label

Dim l As Label = New Label

With l

. Name = "HeaderText"

. Text = ini. ReadString (Section, "Text", "Немецкий язык")

Dim TextColor As Array = Split (ini. ReadString (Section, "TextColor", "255,255,255,255"), ",") ' Читаем цвет текста

. ForeColor = System. Drawing. Color. FromArgb (TextColor (0), TextColor (1), TextColor (2), TextColor (3)) ' Задаем цвет текста

. AutoSize = True ' Пусть сам вычисляет размер элемента

' Теперь нам необходимо читать расположение элемента

' если значение равен на auto тогда необходимо задать им по умолчанию по 20

Dim ln As String = ini. ReadString (Section, "Location", "auto,auto")

ln = ln. ToLower

Dim loc As Array = Split (ln, ",")

Dim lLocation As Point

If loc (0). ToString = "auto" Then

lLocation. X = 20

End If

If loc (1). ToString = "auto" Then

lLocation. Y = 20

End If

. Location = lLocation ' задаем расположение метки

Dim f As Array = Split (ini. ReadString (Section, "Font", "Palatino Linotype,36"), ",") ' Читаем параметры шрифта

. Font = New System. Drawing. Font (f (0). ToString, f (1)) ' Задаем шрифт

. BackColor = Color. Transparent ' Сделаем цвет фона прозрачным

End With

ReadHeader = l

End Function

Описание класса главной формы Form1. Данная форма является основным окном программы Книги. В это окне расположено элементы управления который позволяет посмотреть электронных книг. Здесь приведет основные процедуры и функции программы.

Листинг 1.2.1.10 Функция для чтения книг в формате pdf. Также программа позволяет читать данные в формате rtf.

Public Function ReadBook (ByVal Section As String)

Panel1. Visible = False

Try

Dim fname As String = ini. ReadString ("Content", "Books")

inf = New IniFile (fname)

fname = Nothing

Dim type As String = inf. ReadString (Section, "Type")

Select Case type

Case "pdf"

pdfs. Visible = False

With pdfs

. Location = New Point (10,10)

. Size = New Size (Panel1. Width - 20, Panel1. Height - 20)

Dim filename As String = application. startuppath & "\" & inf. ReadString (Section, "Book")

If. LoadFile (filename) = False Then

MsgBox ("Файл " & filename & " не существует")

Exit Function

End If

. Name = "pdfreader"

CurrentObjectName =. Name

End With

EnterprisedListBox1. Visible = False

Panel1. Controls. Add (pdf)

pdfs. Visible = True

Panel1. Controls. Add (pdf)

Case "rtf", "txt"

With RichTextBox1

. Location = New Point (10,10)

. Size = New Size (Panel1. Width - 20, Panel1. Height - 20)

Dim rfname As String = application. startuppath & "\" & inf. ReadString (Section, "Book")

. LoadFile (rfname)

. Visible = True

CurrentObjectName =. Name

End With

End Select

Dim btn As Label = New Label

With btn

. Name = "btn"

. AutoSize = False

. Size = New Size (30, 30)

. BackColor = Me. BackColor

. BorderStyle = BorderStyle. FixedSingle

. Text = "X"

. TextAlign = ContentAlignment. MiddleCenter

. Location = New Point (Me. Width - 60, 65)

. ForeColor = Color. White

AddHandler. Click, AddressOf CustomClose

End With

Me. Controls. Add (btn)

Catch ex As Exception

MsgBox (ex. Message)

End Try

Panel1. Visible = True

End Function

Листинг 1.2.1.11 Функция для удаления выбранной книги. Позволяет удалить книгу из базу данных и из файловой системы.

Public Function DeleteBook (ByVal Section As Integer)

inf = New IniFile ("frames. ini")

Try

If MsgBox ("Действительно хотите удалить " & inf. ReadString (EnterprisedListBox1. Items (EnterprisedListBox1. SelectedIndex), "Text"), MsgBoxStyle. YesNo, "Книги") = MsgBoxResult. No Then Exit Function

Dim dfile As String = application. startuppath & "\" & inf. ReadString (Section, "Book")

If IO. File. Exists (dfile) = True Then

Kill (dfile)

End If EnterprisedListBox1. Items. Remove (EnterprisedListBox1. SelectedItem)

dfile = application. startuppath & "\" & inf. ReadString (Section, "Image")

If IO. File. Exists (dfile) = True Then

Kill (dfile)

End If

inf. EraseSection (Section)

MsgBox ("Удалено", MsgBoxStyle. Information)

Catch ex As Exception

MsgBox (ex. Message, MsgBoxStyle. Exclamation)

End Try

End Function

Описание исходных кодов окна add_book. Этот окно позволяет добавлять книги в базу данных. Также позволяет выбрать картинку для отображения книги. Позволяет посмотреть процесс копирования файла.

Листинг 1.2.1.12 Код кнопки для загрузки изображения книги.

Private Sub Button2_Click (sender As Object, e As EventArgs) Handles Button2. Click

Try

Dim ofd As OpenFileDialog = New OpenFileDialog With {. Title = "Выбор файла",. Filter = "JPG (*. jpg) |*. jpg|BMP (*. bmp) |*. bmp|GIF (*. gif) |*. gif|PNG (*. png) |*. png"}

If ofd. ShowDialog = Windows. Forms. DialogResult. Cancel Then Return

PictureBox1. Load (ofd. FileName)

PictureBox1. SizeMode = PictureBoxSizeMode. StretchImage

Label7. Text = ofd. SafeFileName

selectedImgFile = ofd. SafeFileName

Catch ex As Exception

MsgBox (ex. Message)

End Try

End Sub

Листинг 1.2.1.13 Код кнопки для загрузки книги

Private Sub Button3_Click (sender As Object, e As EventArgs) Handles Button3. Click

Try

Dim ht As Hashtable = New Hashtable

If TextBox1. Text. Length < 3 Then

MsgBox ("Введите название книги", MsgBoxStyle. Exclamation)

Exit Sub

End If

Dim imgSavePath As String

Dim sim As String = ""

If selectedImgFile. Length > 0 Then

sim = "\images\" & Now.millisecond. ToString & selectedImgFile

imgSavePath = application. startuppath & sim

selectedImgFile = sim

Else

sim = "\images\" & Now. Second. ToString & Now. Minute. ToString & Now. Hour. ToString & Now. Day. ToString & Now. Month. ToString & Now. Year. ToString &". gif"

imgSavePath = application. startuppath & sim

selectedImgFile = sim

End If

Dim img As Bitmap = New Bitmap (PictureBox1. Image)

img. Save (imgSavePath, System. Drawing. Imaging. ImageFormat. Gif)

ht. Add ("Image", sim)

ht. Add ("Text", TextBox1. Text)

ht. Add ("Book", "data\" & fINFO_. Name)

ht. Add ("Type", Mid (fINFO_. Extension. ToString,

2))

Dim sCount As Integer = ini. ReadSections. Length + 1

ini. Write (sCount, ht)

Timer1. Enabled = True

Call FileCopy (sourcefile, destinationfile)

selectedImgFile = Nothing

Catch ex As Exception

MsgBox (ex. Message)

End Try

End Sub

Листинг 1.2.1.13 Код таймера который показывает процесс загрузки файла.

Private Sub Timer1_Tick (sender As Object, e As EventArgs) Handles Timer1. Tick

Try

fINFO__ = New IO. FileInfo (destinationfile)

intRazm = fINFO__. Length

ProgressBar1. Value = CInt (intRazm \ 1024 \ 1024)

Label3. Text = String. Concat ("Копировано", Convert. ToInt16 (intRazm / 1024/1024), " мб", " из", icxod, " мб")

'Label3. Text += String. Concat ("Выполнено", Convert. ToUInt16 (intRazm / 1024/1024) / icxod * 100, " %")

Label3. Refresh ()

If intRazm >= Max_ Then sender. stop ()

If ProgressBar1. Value <> ProgressBar1. Maximum Then ProgressBar1. Value = ProgressBar1. Maximum

Application. DoEvents ()

Catch ex As Exception

MsgBox (ex. Message)

End Try

End Sub

Описание модификации подпрограммы Слайды который создан нас основе подпрограммы Книга. В этом листинге приведено измененная функция ReaderBook из листинга 1.2.1.10 Данная функция вместо чтения электронных книг позволяет запустить демонстрационные слайды который создан в программе Microsoft Power Point 2007/2003.

Листинг 1.2.1.14 Функция для запуска демонстрационных презентаций Microsoft Power Point.

Public Function ReadBook (ByVal Section As String)

Try

Dim ins As New IniFile (UICreate. ini. ReadString ("Content", "slides"))

Dim s As String = ins. ReadString (Section, "Slide")

If IO. File. Exists (Application. StartupPath. ToString & "\" & s) = True Then

Shell (Application. StartupPath. ToString & "\" & s)

End If

Catch ex As Exception

MsgBox (ex. Message)

End Try

End Function

1.2.2 Описание подпрограммы Видео уроки

Данная программа позволяет читать видео файлы в формате *. mp4, *. avi, *. flv, *. wmv. Для работы программного обеспечения в компьютере должно быт установлено DirectX 10.

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

1) Главное окно программы Form1

2) Окно редактирования данных Form2

3) Пользовательский элемент управления videopanel

Описание исходных кодов главного окна программы Form1. Данная форма является основным который позволяет посмотреть и выбрать нужные видео уроки.

Листинг 1.2.2.15 Процедура загрузки формы. Позволяет загружать данные и настроит элементы управления формы.

' Снижаем мерцания

SetStyle (ControlStyles. UserPaint, True)

SetStyle (ControlStyles. AllPaintingInWmPaint, True)

SetStyle (ControlStyles. OptimizedDoubleBuffer, True)

' Создаем рабочую папку если не существует

Dim wp As String = Application. StartupPath & "\data"

If Not IO. Directory. Exists (wp) Then

IO. Directory. CreateDirectory (wp)

End If

' Сначало настроим окно

With Me

. Size = Screen. PrimaryScreen. WorkingArea. Size

. FormBorderStyle = Windows. Forms. FormBorderStyle. None

. StartPosition = FormStartPosition. CenterScreen

. MaximizeBox = False

' Задаем фоновой цвет

b = Split (ini. ReadString ("Application", "BackColor", "255,67,67,67"), ",")

. BackColor = System. Drawing. Color. FromArgb (b (0), b (1), b (2), b (3))

' Получаем фоновую картинку. Проверяем если задано и файл существует тогда загружаем и сделаем его фоном

Dim sPath As String = Application. StartupPath & "\" & ini. ReadString ("Application", "BackgroundImage")

If IO. File. Exists (sPath) Then

. BackgroundImage = New Bitmap (sPath)

. BackgroundImageLayout = ImageLayout. Stretch

End If

' Задаем заголовок окна

. Text = ini. ReadString ("Application", "Cption", "Видеоуроки")

' Задаем Padding

b = Split (ini. ReadString ("Application", "Padding", "0,0,0,0"), ",")

. Padding = New System. Windows. Forms. Padding (b (0), b (1), b (2), b (3))

' Задаем иконку

Dim ss As String = Application. StartupPath & "\" & ini. ReadString ("Application", "Icon")

If IO. File. Exists (ss) Then

. Icon = New Icon (ss)

End If

End With

'Настроим заголовок

With Label1

. AutoSize = False

. Size = New Size (Me. Width, 80)

. Location = New Point (0, 0)

. TextAlign = ContentAlignment. MiddleLeft

. Text = ini. ReadString ("Header", "Text", "Видеоуроки")

' Задаем фоновый цвет

b = Split (ini. ReadString ("Header", "BackColor", "255,67,67,67"), ",")

. BackColor = System. Drawing. Color. FromArgb (b (0), b (1), b (2), b (3))

' Задаем цвет текта

b = Split (ini. ReadString ("Header", "ForeColor", "255,0,150,242"), ",")

. ForeColor = System. Drawing. Color. FromArgb (b (0), b (1), b (2), b (3))

' Теперь задаем шрифт и его размер

b = Split (ini. ReadString ("Header", "Font", "Palatino Linotype, 28"), ",")

. Font = New Font (b (0). ToString, b (1))

' Задаем Padding

b = Split (ini. ReadString ("Header", "Padding", "20,10,10,10"), ",")

. Padding = New System. Windows. Forms. Padding (b (0), b (1), b (2), b (3))

End With

' Теперь загружаем данные о директориях

' По умолчанию рабочая папка Data

Dim s As String = Application. StartupPath & "\data"

If Not IO. Directory. Exists (s) Then

IO. Directory. CreateDirectory (s)

End If

Dim sWP As String = ini. ReadString ("Application", "WorkPath", Application. StartupPath & "\data")

If IO. Directory. Exists (sWP) Then

dr = New IO. DirectoryInfo (sWP)

Else

dr = New IO. DirectoryInfo (Application. StartupPath & "\data")

End If

' Настроим панель1

With Panel1

' Устанавливаем размеры

. Size = New Size (250, Me. Height - Label1. Height - 30)

' Задаем позицию

. Location = New Point (10, 100)

' Задаем фон

b = Split (ini. ReadString ("LeftPanel", "BackColor", "255,239,239,242"), ",")

. BackColor = System. Drawing. Color. FromArgb (b (0), b (1), b (2), b (3))

' Задаем Padding

b = Split (ini. ReadString ("LeftPanel", "Padding", "0,0,0,0"), ",")

. Padding = New System. Windows. Forms. Padding (b (0), b (1), b (2), b (3))

End With

' Задаем параметры Listbox a

With ListBox1

' Размеры

. Size = New Size (Panel1. Width - 20, Panel1. Height - 20)

' Позиция

. Location = New Point (10,10)

' Фоновой цвет

b = Split (ini. ReadString ("LeftPanel", "ListBackColor", "255,47,47,47"), ",")

. BackColor = System. Drawing. Color. FromArgb (b (1), b (2), b (3))

' Задаем шрифт

b = Split (ini. ReadString ("LeftPanel", "Font", "Palatino Linotype,14"), ",")

. Font = New Font (b (0). ToString, b (1))

' Задаем цвет шрифта

b = Split (ini. ReadString ("LeftPanel", "ForeColor", "255,0,150,242"), ",")

. ForeColor = System. Drawing. Color. FromArgb (b (0), b (1), b (2), b (3))

. BorderStyle = BorderStyle. None

'** Заполняем листбокс

Dim drinfo () As IO. DirectoryInfo = dr. GetDirectories

If drinfo. Length > 0 Then

For i As Integer = 0 To drinfo. Length - 1

. Items. Add (drinfo (i). Name)

Next

End If

' Настроим правую панель

With Panel2

' Создаем слой заднего фона

' Задаем размеры относительно формы и правой панели

. Size = New Size (Me. Width - Panel1. Width - Panel1. Left - 30, Panel1. Height)

' Позиция

. Location = New Point (Panel1. Left + Panel1. Width + 10, 100)

' Задаем фон

b = Split (ini. ReadString ("RightPanel", "BackColor", "255,47,47,47"), ",")

. BackColor = System. Drawing. Color. FromArgb (b (0), b (1), b (2), b (3))

' Задаем Padding

b = Split (ini. ReadString ("RightPanel", "Padding", "10,10,10,10"), ",")

. Padding = New System. Windows. Forms. Padding (b (0), b (1), b (2), b (3))

. AutoScroll = True

Dim ss2 As String = Application. StartupPath & "\" & ini. ReadString ("RightPanel", "BackgroundImage")

If IO. File. Exists (ss2) Then

. BackgroundImage = New Bitmap (ss2)

. BackgroundImageLayout = ImageLayout. Stretch

End If

End With

' Теперь самое главное. Если в листбоксе ничего не выбрано тогда отображем видеофайлы который расположено в корневом папке

With Panel3

. Location = New Point (10,10)

b = Split (ini. ReadString ("RightPanel", "LayerBackColor", "255,47,47,47"), ",")

. BackColor = System. Drawing. Color. FromArgb (b (0), b (1), b (2), b (3))

. Size = New Size (Panel2. Width - 20, Panel2. Height - 20)

. AutoScroll = True

' Можно и загрузить картинку

Dim ss1 As String = Application. StartupPath & "\" & ini. ReadString ("RightPanel", "LayerBackgroundImage")

If IO. File. Exists (ss1) Then

. BackgroundImage = New Bitmap (ss1)

. BackgroundImageLayout = ImageLayout. Stretch

End If

Call CreateVideoList (dr. FullName)

End With

'Задаем параметры для кнопки Закрыт

With Label3

. Text = "X"

. AutoSize = False

. TextAlign = ContentAlignment. MiddleCenter

. Size = New Size (32, 32)

. Font = New Font ("Segoe IO", 14)

. BackColor = System. Drawing. Color. FromArgb (47, 47, 47)

. ForeColor = Color. White

. Location = New Point (Me. Width - . Width - 20, 30)

. BorderStyle = BorderStyle. FixedSingle

End With

' Задаем параметры для кнопки Настройки

With Label2

. AutoSize = False

. BackColor = Label3. BackColor

. ForeColor = Label3. ForeColor

. BorderStyle = BorderStyle. FixedSingle

. Size = New Size (150, Label3. Height)

. TextAlign = ContentAlignment. MiddleCenter

. Text = "Настройки"

. BorderStyle = BorderStyle. None

. Font = New Font ("Palatino Linotype", 14)

. Location = New Point (Label3. Left - . Width - 20, 30)

End With

End With

End Sub

Листинг 1.2.2.16 Функция для создания списка видеоуроков выбранного заданного раздела в форме.

Public Function CreateVideoList (ByVal sDirectory As String)

Try

Dim x, y As Integer

Dim drc As IO. DirectoryInfo = New IO. DirectoryInfo (sDirectory)

Dim dxVideo As videopanel

Dim ffiles () As IO. FileInfo = drc. GetFiles ()

Dim sFile () As IO. FileInfo

Dim cnt1 As Integer = 0

For i As Integer = 0 To ffiles. Length - 1

Select Case ffiles (i). Extension

Case". mp4"

ReDim Preserve sFile (cnt1)

sFile (cnt1) = ffiles (i)

cnt1 += 1

Case". flv"

ReDim Preserve sFile (cnt1)

sFile (cnt1) = ffiles (i)

cnt1 += 1

Case". avi"

ReDim Preserve sFile (cnt1)

sFile (cnt1) = ffiles (i)

cnt1 += 1

Case". wmv"

ReDim Preserve sFile (cnt1)

sFile (cnt1) = ffiles (i)

cnt1 += 1

End Select

Next

If ffiles. Length = 0 Then Exit Function

Dim cnt As Integer = Panel3. Width \ 300

Dim tmp As Integer = (Panel3. Width - (cnt * 310)) / 2

x = tmp

Dim tmpy As Integer

If tmp > 15 Then

y = 10

tmpy = y

Else

y = tmp

tmpy = y

End If

Panel3. Controls. Clear ()

For i As Integer = 0 To sFile. Length - 1

dxVideo = New videopanel

dxVideo. Size = New Size (300, 250)

dxVideo. VideoFile (sFile (i). FullName)

dxVideo. Location = New Point (x, y)

x += 310

If x = (cnt * 310 + tmp) Then

y += dxVideo. Size. Height + tmpy

x = tmp

End If

AddHandler dxVideo. Click, AddressOf ResizingPanel

Panel3. Controls. Add (dxVideo)

dxVideo. WriteText (sFile (i). Name)

dxVideo. BackColor = System. Drawing. Color. FromArgb (255, 47, 47, 47)

Application. DoEvents ()

Next

Catch ex As Exception

MsgBox (ex. Message)

End Try

End Function

Листинг 1.2.2.17 Функция для отображения выбранного видео файла в полноэкранном виде.

Public Function ResizingPanel (sender As Object, e As EventArgs)

Dim o As videopanel = sender

Dim vp As videopanel = New videopanel

vp. VideoFile (o. GetFileName (""))

Dim f As Form = New Form

With f

. Text = o. GetFileName ("")

. Location = New Point (0, 0)

. FormBorderStyle = Windows. Forms. FormBorderStyle. None

. Size = Screen. PrimaryScreen. WorkingArea. Size

With vp

. Size = New Size (f. Size. Width - 10, f. Size. Height - 10)

. Location = New Point (5,5)

. BackColor = System. Drawing. Color. FromArgb (255, 47, 47, 47)

End With

Dim l As Label = New Label

With l

. Name = "VideoPanels"

. AutoSize = True

. Text = "Закрыть"

. Font = New Font ("Palatino Linotype", 16)

. ForeColor = System. Drawing. Color. FromArgb (47, 47, 47)

. BackColor = System. Drawing. Color. FromArgb (0, 150, 242)

. Location = New Point (40, f. Size. Height + 5)

AddHandler. Click, AddressOf CloseWindow

End With

. Controls. Add (l)

. Controls. Add (vp)

vp. WriteText (o. GetFileName (""))

. StartPosition = FormStartPosition. CenterScreen

. WindowState = FormWindowState. Maximized

. TopMost = True

. TopLevel = True

End With

f. Show ()

End Function

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

Листинг 1.2.2.18 Процедура загрузки формы

Private Sub Form2_Load (sender As Object, e As EventArgs) Handles MyBase. Load

dr = New DirectoryInfo (ini. ReadString ("Application", "WorkPath", Application. StartupPath & "\data"))

Dim d () As DirectoryInfo = dr. GetDirectories

TextBox1. Text = dr. FullName

If d. Length <> 0 Then

For i As Integer = 0 To d. Length - 1

ComboBox1. Items. Add (d (i). Name)

Next

End If

Dim finfo () As FileInfo = dr. GetFiles ("*. mp4")

If finfo. Length = 0 Then Exit Sub

CheckedListBox1. Items. Clear ()

For i As Integer = 0 To finfo. Length - 1

CheckedListBox1. Items. Add (finfo (i). Name)

Next

End Sub

Листинг 1.2.2.19 Функция копирования нескольких файлов

Public Function CopyFiles ()

If currentfile >= sourcefiles. Length Then

Timer1. Stop ()

Timer1. Enabled = False

currentfile = 0

Label3. Text = "Копировано"

Button3. Enabled = True

Exit Function

End If

ProgressBar1. Value = 0

cSourceFile = sourcefiles (currentfile)

cDestination = destination (currentfile)

finfo_ = New FileInfo (cSourceFile)

Max_ = finfo_. Length

CheckedListBox1. Items. Add (safefilenames (currentfile))

ProgressBar1. Maximum = Max_

Label3. Text = safefilenames (currentfile)

Call My.computer. FileSystem. CopyFile (cSourceFile, cDestination, True)

End Function

Листинг 1.2.2.20 Процедура таймера для копирования нескольких файлов

Private Sub Timer1_Tick (sender As Object, e As EventArgs) Handles Timer1. Tick

fInfo = New IO. FileInfo (cDestination)

intRazm = fInfo. Length

ProgressBar1. Value = intRazm

ProgressBar1. Refresh ()

Label3. Refresh ()

If intRazm = Max_ Then

currentfile += 1

If ProgressBar1. Value <> ProgressBar1. Maximum Then ProgressBar1. Value = ProgressBar1. Maximum

Call CopyFiles ()

End If

Application. DoEvents ()

End Sub

Листинг 1.2.3.21 Процедура удаления выбранных файлов

Private Sub Button3_Click (sender As Object, e As EventArgs) Handles Button3. Click

If CheckedListBox1. Items. Count = 0 Then Exit Sub

Dim s () As String

Dim cnt As Integer = 0

Подобные документы

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