ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ возмоТностСй создания 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.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ