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