Адресная книга на языка 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