регистрация / вход

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

Возможности создания MDI-приложений, их преимущества. Основные приемы работы с записью информации в файл, экспорт данных в приложения Microsoft Office с помощью использование технологии OLE, на примере MS Excel интегрированного пакета MS Office.

Цель работы: изучение возможностей создания 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

EndSub

Код для Модуля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

IfMsgBox("Добавить еще студента???", 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

EndSub

Запускаем приложение (рис.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интегрированного пакета MSOFFICE.

Добавляем в проект пункт меню «Экспортировать в Excel» (для MDI – формы). Подключаем к VisualBasic 6.0 библиотеку объектов Excel. Для этого открываем меню «Проект» → «Информация». Выбираем MicrosoftExcel 11.0 ObjectLibrary.

Для события 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-приложения позволяют использовать несколько экземпляров одной и той же формы, что увеличивает производительность и гибкость программ.

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

ОТКРЫТЬ САМ ДОКУМЕНТ В НОВОМ ОКНЕ

ДОБАВИТЬ КОММЕНТАРИЙ [можно без регистрации]

Ваше имя:

Комментарий