Изучение возможностей создания MDI-приложений (multiple document interface)

Контрольная работа - Компьютеры, программирование

Другие контрольные работы по предмету Компьютеры, программирование

Цель работы: изучение возможностей создания MDI приложений, записи информации в файлы и использование технологии OLE при работе с приложениями MS Office

 

Задание 1. Разработайте MDI приложение, позволяющее вводить информацию о студентах: фамилия, имя, факультет, группа (в качестве дочерней формы можно использовать разработанное приложение в задании 4 лабораторной работы 5 6). Приложение должно обеспечивать возможность выводить данные о выбранном студенте в существующую дочернюю форму или создавать для каждого студента свою форму.

 

  1. Запускаем Visual Basic 6.0. Выбираем “StandartEXE”.
  2. Добавляем в проект MDI - форму. Для этого открываем меню Проект > Добавить MDI - форму
  3. У Form1 устанавливаем значение свойства Child равным True.
  4. Создаем меню для MDI - формы, состоящее из пунктов Добавить форму, Добавить студента, Выход и Вид окон.
  5. Также добавляем в проект модуль.

Код для MDI формы:

 

Dim i As Integer

Private Sub New_form_Click()

Dim newform As New Form1

newform.Show

newform.Caption = "Новый студент"

End Sub

 

Private Sub New_student_Click()

add_student

End Sub

Private Sub Exit_Click()

End

End Sub

 

Private Sub WindowArrange_Click()

MDIForm1.Arrange vbArrangeIcons

End Sub

 

Private Sub WindowCascade_Click()

MDIForm1.Arrange vbCascade

End Sub

 

Private Sub WindowTileH_Click()

MDIForm1.Arrange vbTileHorizontal

End Sub

 

Private Sub WindowTileV_Click()

MDIForm1.Arrange vbTileVertical

End Sub

 

Код для Form1:

 

Private Sub Command1_Click()

Unload Me

End Sub

 

Код для Модуля1;

 

Private Type StudentType

fam As String * 30

Name As String * 20

Fac As String * 10

Gru As String * 10

End Type

 

Public tmp As StudentType

Public arr() As StudentType

Public col As Integer

 

Sub add_student()

Do

wrk

If MsgBox("Добавить еще студента???", vbYesNo, "Еще??") = vbNo Then: Exit Do

Loop

End Sub

Sub form_active()

If MDIForm1.ActiveForm Is Nothing Then

Dim tmpfrm As New Form1

tmpfrm.Show

End If

End Sub

 

Sub wrk()

Dim i As Integer

Dim tmp_str As String

A = MsgBox("Добавить в эту же форму???", vbYesNo, "Куда???")

If A = vbNo Then

Dim tmpfrm As New Form1

tmpfrm.Show

tmpfrm.Caption = "Новый студент"

End If

form_active

Inp_inf_stud tmp

ReDim Preserve arr(col)

arr(col) = tmp

col = col + 1

For i = 0 To 3

With arr(col - 1)

Select Case i

Case 0: tmpstr = .fam

Case 1: tmpstr = .Name

Case 2: tmpstr = .Fac

Case 3: tmpstr = .Gru

End Select

End With

MDIForm1.ActiveForm.List1(i).AddItem tmpstr

Next i

End Sub

 

Private Sub Inp_inf_stud(ByRef StudentData As StudentType)

Dim s(3) As String

Dim i As Integer

i = 0

Do Until i > 3

Select Case i

Case 0: s(0) = InputBox("Введите фамилию", "Студент")

Case 1: s(1) = InputBox("Введите имя", "Студент")

Case 2: s(2) = InputBox("Введите факультет", "Студент")

Case 3: s(3) = InputBox(“Введите группу", "Студент")

End Select

For n = 0 To 3

If s(n) = "" Then s(n) = "Нет данных"

Next n

With StudentData

Select Case i

Case 0: .fam = s(0)

Case 1: .Name = s(1)

Case 2: .Fac = s(2)

Case 3: .Gru = s(3)

End Select

End With

For n = 0 To 3

s(n) = ""

Next n

i = i + 1

Loop

End Sub

 

Запускаем приложение (рис.1-3)

 

Рис.1 MDI приложение: окна каскадом

Рис.2 MDI приложение: окна ориентированы вертикально

 

Рис.3 MDI приложение: ввод данных

 

Задание 2. Осуществите запись полученной информации в файл

 

Добавляем в проект пункт меню Сохранить все (для MDI формы).

Для события save_Click пишем код:

 

Private Sub save_Click()

Dim FNamber As Integer

Dim adress As String

Dim i As Integer

Dim k As Integer

FNamber = FreeFile()

adress = InputBox("Введите адрес файла, в котором сохранится информация", "Сохранить как", "E:\student.txt")

Open adress For Random Access Write As FNamber Len = Len(arr(i))

Do

If i = col Then: Exit Do

k = i + 1

Put #FNamber, k, arr(i)

i = i + 1

Loop

Close FNamber

End Sub

 

Запускаем приложение (рис.4,5)

 

Рис.4 Сохранение данных в файл

Рис.5 Текстовый файл с данными о студенте

 

Задание 3.

Запишите данные в рабочий ЛИСТ 1 приложения EXCEL интегрированного пакета MS OFFICE.

 

Добавляем в проект пункт меню Экспортировать в Excel (для MDI формы). Подключаем к Visual Basic 6.0 библиотеку объектов Excel. Для этого открываем меню Проект > Информация. Выбираем Microsoft Excel 11.0 Object Library.

Для события Excel_Click записываем код:

 

Private Sub Excel_Click()

Dim appl As New Excel.Application

Dim wb As Excel.Workbook

Dim ws As Excel.Worksheets

Set appl = New Excel.Application

appl.Visible = True

Set wb = appl.Workbooks.Add

With wb.Worksheets("Лист1")

Dim i As Integer

Dim j As Integer

For i = 0 To co - 1

For j = 1 To 4

Select Case j

Case 1: .Cells(i + 1, j) = arr(i).fam

Case 2: .Cells(i + 1, j) = arr(i).Name

Case 3: .Cells(i + 1, j) = arr(i).Fac

Case 4: .Cells(i + 1, j) = arr(i).Gru

End Select

Next j

Next i

End With

End Sub

 

Запускаем приложение (рис.6)

 

Рис.6 Файл EXCEL с данными о студенте

 

Вывод:

 

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

Также были изучены основные приемы работы с записью данных в файл, а также экспорт данных в приложения Microsoft Office, на примере MS Excel интегрированного пакета MS Office.