на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Изучение возможностей создания MDI-приложений (multiple document interface)

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

10

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



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.