Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Visual Basic и Visual Basic for Applications.doc
Скачиваний:
175
Добавлен:
01.05.2014
Размер:
579.07 Кб
Скачать

Проект 4.

Работа с простым списком при использовании пользовательского меню. Проекту присвоено имя Pro4.

При разработке проекта создаются следующие формы:

1. Загрузочная форма Form400, которая отличается от формы Form100 проекта Pro1 только значением Caption = Работа с простым списком при использовании пользовательского меню (для метки Label401);

2. Форма frmSPISOK401, со свойствами Name = frmSPISOK401 и Caption = Простой список, содержащая по сравнению с frmSPISOK201 в Pro2 дополнительно следующие элементы управления: cmdCommand401 с Caption = OK и cmdCommand402 с Caption = Help;

3. frmDialog401 – такая же как и frmDialog201 в Pro2;

4. frmDialog402 – такая же как frmDialog401, но отсутствует ЭУ txtZAGOLOVOK;

5. frmHelp содержит следующие ЭУ:

а) метка lblHelp с Caption = Для пеехода между полями списка использовать клавишу Tab; для удаления записи выполнить пункт меню УДАЛИТЬ, установить курсор на требуемую запись и нажать ОК;

б) командная кнопка cmbHelp c Caption = OK;

6. frmMenu401 – основные свойства такие же как и у других ЭУ.

Форма frmHelp имеет следующий вид:

Форма frmMenu401 имеет следующий вид:

Проект имеет следующий состав процедур:

  1. модуль процедур общего назначения под именем Mod1

Attribute VB_Name = "Mod1"

' РАБОТА С ПРОСТЫМ СПИСКОМ ПРИ ИСПОЛЬЗОВАНИИ

' ПОЛЬЗОВАТЕЛЬСКОГО МЕНЮ

Public NG As Integer 'Номер группы

Public PS As Integer 'Признак создания списка

Sub Main()

Form400.Visible = False

PS = 0

frmMenu401.Show

End Sub

'Создание нового списка

Public Sub New_Spis()

NG = InputBox("Введите № группы")

frmSPISOK401.Form_Load

frmDialog401.Form_Load

frmDialog401.Show vbModal

frmSPISOK401.Show

PS = 1

End Sub

'Просмотр списка

Public Sub View_Spis()

If PS <> 1 Then

MsgBox "Список не создан"

Else

frmSPISOK401.Show

End If

End Sub

'Удаление записи

Sub Del_Zap()

Dim i As Integer

frmSPISOK401.Show vbModal

i = frmSPISOK401.lstGrup.ListIndex

frmSPISOK401.lstGrup.RemoveItem i

MsgBox "Удалена " & Str(i + 1) & "-я запись"

End Sub

'Добавление новой записи в существующий список

Sub Add_Zap()

Load frmDialog402

frmDialog402.Show vbModal

MsgBox "Запись добавлена"

End Sub

2) процедуры обработки событий форм

' Процедуры обработки событий формы Form400

Private Sub Command401_Click()

Mod1.Main

End Sub

Private Sub Command402_Click()

End

End Sub

' Процедуры обработки событий формы frmDialog401

Public Sub cmdCommand401_Click()

frmSPISOK401.lstGrup.AddItem _

txtFamiliy.Text & " " & _

txtName.Text & " " & _

txtOtchestvo.Text

End Sub

Public Sub cmdCommand402_Click()

txtFamiliy.Text = ""

txtName.Text = ""

txtOtchestvo.Text = ""

End Sub

Public Sub cmdCommand403_Click()

frmDialog401.Hide

End Sub

Public Sub Form_Load()

txtZAGOLOVOK_Change

End Sub

Public Sub txtZAGOLOVOK_Change()

txtZAGOLOVOK.Text = "Список группы " & Str(Mod1.NG)

End Sub

' Процедуры обработки событий формы frmDialog402

Public Sub cmdCommand401_Click()

frmSPISOK401.lstGrup.AddItem _

txtFamiliy.Text & " " & _

txtName.Text & " " & _

txtOtchestvo.Text

End Sub

Public Sub cmdCommand402_Click()

txtFamiliy.Text = ""

txtName.Text = ""

txtOtchestvo.Text = ""

End Sub

Public Sub cmdCommand403_Click()

Unload frmDialog402

End Sub

Public Sub Form_Load()

End Sub

' Процедуры обработки событий формы frmHelp

Private Sub cmbHelp_Click()

Unload frmHelp

End Sub

' Процедуры обработки событий формы frmMenu401

Public Sub Form_Load()

End Sub

' Добавление записи

Private Sub mnuAdd_Click()

If Mod1.PS = 0 Then

MsgBox "Список не создан"

Else

Mod1.Add_Zap

End If

End Sub

' Выход из меню

Private Sub mnuCancel_Click()

Unload frmSPISOK401

Unload frmMenu401

Form400.Show

End Sub

' Удаление записи

Private Sub mnuDel_Click()

If Mod1.PS = 0 Then

MsgBox "Список не создан"

Else

Mod1.Del_Zap

End If

End Sub

' Вызов помощи

Public Sub mnuHelp_Click()

Load frmHelp

frmHelp.Show

End Sub

' Создание нового списка

Private Sub mnuNew_Click()

Mod1.New_Spis

End Sub

' Просмотр списка

Private Sub mnuView_Click()

Mod1.View_Spis

End Sub

Private Sub cmbCommand402_Click()

frmMenu401.mnuHelp_Click

End Sub

' Процедуры обработки событий формы frmSPISOK401

Private Sub cmdCommand401_Click()

frmSPISOK401.Visible = False

End Sub

Public Sub Form_Load()

txtZAGOLOVOK_Change

End Sub

Public Sub txtZAGOLOVOK_Change()

txtZAGOLOVOK.Text = "Список группы " & Str(Mod1.NG)

End Sub