Цель работы: изучение возможностей создания 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
Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок.
— Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта.
— Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы).
— SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание.
SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз,
а первые результаты появляются уже в течение первых 7 дней.
Зарегистрироваться и Начать продвижение
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
Сервис онлайн-записи на собственном Telegram-боте
Попробуйте сервис онлайн-записи VisitTime на основе вашего собственного Telegram-бота:
— Разгрузит мастера, специалиста или компанию;
— Позволит гибко управлять расписанием и загрузкой;
— Разошлет оповещения о новых услугах или акциях;
— Позволит принять оплату на карту/кошелек/счет;
— Позволит записываться на групповые и персональные посещения;
— Поможет получить от клиента отзывы о визите к вам;
— Включает в себя сервис чаевых.
Для новых пользователей первый месяц бесплатно.
Зарегистрироваться в сервисе
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.
|