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

2016-07-28СтудИзба

Описание файла

Документ из архива "Изучение возможностей создания MDI-приложений (multiple document interface)", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "47053"

Текст из документа "47053"

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

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5167
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее