ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ 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.