Помощь в написании студенческих работ
Антистрессовый сервис

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

Лабораторная работаПомощь в написанииУзнать стоимостьмоей работы

Рис. 6 Файл EXCEL с данными о студенте. Для события Excel_Click записываем код: Private Sub Inp_inf_stud (ByRef StudentData As StudentType). Также добавляем в проект модуль. Запускаем приложение (рис. 4,5). Запускаем приложение (рис.1−3). If s (n) = «» Then s (n) = «Нет данных». Запускаем приложение (рис.6). Для события save_Click пишем код: Newform. Caption = «Новый студент». Tmpfrm. Caption… Читать ещё >

Изучение возможностей создания 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.

Показать весь текст
Заполнить форму текущей работой