Адресная книга на языка Visual Basic
Контрольная работа - Компьютеры, программирование
Другие контрольные работы по предмету Компьютеры, программирование
?ание типов пользовательских данных
В программе пользовательские типы данных не используется, применяются стандартные типы данных: Single, Long, Integer, String, Boolean. Для хранения БД используется файл data.dat. Результаты поиска временно хранятся в файле search.dat
4.2 Организация ввода данных в программу и вывода результатов
Данные в программу вводятся при помощи клавиатуры, все данные хранятся в файле data.dat
4.3 Блок схема
нет да
4.4 Структура программы. Описание процедур и их параметров
В программе использовалась четыре формы:
FrmMain
Эта форма содержит основную форму программы.
-SaveData() процедура сохраняющая данные в файл data.dat
-butAbout_Click() процедура вызывающая меню About
-butAdd_Click() процедура инициализирующая добавление элементов в адресную книгу.
-butDelete_Click() процедура удаляющая выбранные элементы из адресной книги.
-butDial_Click() процедура инициализирующая дозвон
-butEdit_Click() процедура инициализирующая редактирование элементов
-butOptions_Click() процедура, инициализирующая запуск меню настроек модема
-Command1_Click() процедура, инициализирующая поиск
-Command2_Click() процедура, загружающая всю адресную книгу в окно
FrmEdit
Эта форма содержит меня для редактирования БД. Эта же форма выводится при введении параметров поиска.
-txtPhone_KeyPress(KeyAscii As Integer) - процедура проверяющая правильность ввода номера телефона. Даёт вводить только цифры.
FrmAbout
Эта форма выводит окно About c кратким описанием программы.
FrmOptions
Эта форма используется для настройки параметров модема.
-butOk_Click() - процедура сохраняющая параметры дозвона, которые выбирает пользователь.
-txtPort_KeyPress(KeyAscii As Integer) - процедура проверяющая правильность ввода номера порта. Даёт вводить только цифры.
Все процедуры можно формы можно разделить на следующие группы:
1.процедуры загрузки
2.процедуры, обрабатывающие данные на конкретных шагах
3.процедуры обработки и ввода данных.
4.5 Настройка программы
Данная программа не содержит сложных настроек. Всё что пользователь может настроить - это параметры модемы - порт соединения и тип звонка (тоновый или импульсный в зависимости от тока какой звонок поддерживает АТС) Подробное описание программы находится в файле readme.txt
5. Контрольный пример
В качестве примера рассмотрим вопрос о внесении нового пользователя в БД.
1.Для добавления элемента заполним следующие поля:
-Имя
-Отчество
-Фамилия
-Адрес
-Дом
-Квартира
-Телефон
Далее называем кнопку Добавить и если всё было верно сделано, в БД занесётся новый элемент.
2.Для того чтобы проверить, выделяем интересующий нас элемент и жмем кнопку Изменить
Приложение
FrmMain
">Rem Автор программы ZIGMyND
Option Explicit
Public Sub SaveData()
Dim Index As Long
Dim strText As String
SetAttr Path & "data.dat", vbNormal
On Error Resume Next
Open Path & "data.dat" For Output As #1
For Index = 0 To UBound(User)
If Not (User(Index).strKvartira = vbNullString Or User(Index).strDoma = vbNullString Or User(Index).strFamilia = vbNullString Or User(Index).strOtchectvo = vbNullString Or User(Index).strAdress = vbNullString Or User(Index).strComment = vbNullString Or User(Index).strName = vbNullString Or User(Index).strPhone = vbNullString) Then
Print #1, User(Index).strName
Print #1, User(Index).strOtchectvo
Print #1, User(Index).strFamilia
Print #1, User(Index).strAdress
Print #1, User(Index).strDoma
Print #1, User(Index).strKvartira
Print #1, User(Index).strPhone
Print #1, User(Index).strComment
End If
Next
Close
End Sub
Private Sub butAbout_Click()
Load frmAbout
frmAbout.Show vbModal
End Sub
Private Sub butAdd_Click()
ReDim Preserve User(UBound(User) + 1)
lngIndex = UBound(User)
Load frmEdit
frmEdit.Show vbModal
End Sub
Private Sub butDelete_Click()
On Error Resume Next
lstMain.GetAllThenExitSub">If lstMain.GetSelected > lstMain.GetAll Then Exit Sub
With User(lstMain.GetSelected)
.strName = vbNullString
.strOtchectvo = vbNullString
.strFamilia = vbNullString
.strAdress = vbNullString
.strKvartira = vbNullString
.strDoma = vbNullString
.strComment = vbNullString
.strPhone = vbNullString
End With
SaveData
GetData
End Sub
Private Sub butDial_Click()
If User(lstMain.GetSelected).strPhone = vbNullString Then Exit Sub
If blnDial = False Then
Open "COM" & Reg.RegRead("HKCU\Book\Port") For Output As #1
If Reg.RegRead("HKCU\Book\DialMode") = 0 Then
Print #1, "ATDT" & User(lstMain.GetSelected).strPhone
Else
Print #1, "ATDP" & User(lstMain.GetSelected).strPhone
End If
Close
blnDial = True
Else
Open "COM" & Reg.RegRead("HKCU\Book\Port") For Output As #1
Print #1, "CLOSE"
Close
blnDial = False
End If
End Sub
Private Sub butEdit_Click()
lngIndex = lstMain.GetSelected
Load frmEdit
frmEdit.txtName = User(lstMain.GetSelected).strName
frmEdit.txtOtchectvo = User(lstMain.GetSelected).strOtchectvo
frmEdit.txtFamilia = User(lstMain.GetSelected).strFamilia
frmEdit.txtAdress = User(lstMain.GetSelected).strAdress
frmEdit.txtdoma = User(lstMain.GetSelected).strDoma
frmEdit.txtkvartira = User(lstMain.GetSelected).strKvartira
frmEdit.txtPhone = User(lstMain.GetSelected).strPhone
frmEdit.txtComment = User(lstMain.GetSelected).strComment
frmEdit.Show vbModal
End Sub
Private Sub butExit_Click()
Unload Me
End Sub
Private Sub butOptions_Click()
Load frmOptions
frmOptions.Show vbModal
End Sub
Private Sub Command1_Click()
bPoisk = True
""ThenKill(Path&"search.dat")">If Dir(Path & "search.dat") <> "" Then Kill (Path & "search.dat")
butAdd.Visible = False
butEdit.Visible = True
butDelete.Visible = False
butAbout.Visible = False
butDial.Visible = False
butOptions.Visible = False
frmEdit.Show
End Sub
Private Sub Command2_Click()
bPoisk = False
butAdd.Visible = True
butEdit.Visible = True
butDelete.Visible = True
butAbout.Visible = True
butDial.Visible = True
butOptions.Visible = True
GetData
End Sub
Private Sub Form_DblClick()
WindowState = vbMinimized
End Sub
Private Sub Form_Load()
On Error Resume Next
GetDat