Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Создание формы, осуществляющей процесс авторизации клиента в системе и выдачу прав
Начинаем с процесса создания новой формы: File-New-Form. На новой форме разместим необходимые нам компоненты: Edit – два поля, одно служащее для ввода логина, второе для ввода пароля. Button – кнопка по которой будет осуществляться вход в систему по введённым в Edit данным. Label – текстовые сообщения с указателями логина, пароля и сообщения об ошибке. Основная работа на данной форме заключается в программировании кнопки. Вход в систему осуществляется по данным, которые мы ввели в базу данных сотрудников банка, а конкретно их логин и пароль. Предусмотрена отдельная учётная запись для администратора, который принимает сообщения и управляет базами данных. Суть алгоритма по которому происходит авторизация: 1. проверка данных на совпадение с данными для входа администратора; 2. если данные не сходятся, образуется массив текстовых данных, который состоит из логинов и паролей в нашей базе данных; 3. переменным присваиваются введённые нами данные, из них составляется строчка текстовых данных и проходит проверку на полное совпадение с одной из строчек нашего массива; 4. в случаи совпадения пользователь получает доступ к форме клиента, с помощью которой он сможет осуществить оформление и отправку сообщения администратору; 5. в случаи если введенные пользователем данные оказались не верными, то высвечивается сообщение о неверно введённых данных и просьбе повторить попытку. Код кнопки входа: procedure TFormEnter.Button1Click(Sender: TObject); var LogPass: array of string; I, H, Counst: integer; Login, Password, LoginAndPassword: string; begin setLength(LogPass, 50); Login: =EditLogin.Text; if ((EditLogin.Text=('Admin')) and (EditPassword.Text=('qwerty'))) then begin FormEnter.Visible: =False; FormAdmin.Show; end else FormBD.ADOTable1.First; For I: =0 to FormBD.ADOTable1.RecordCount -1 do begin LogPass[I]: =FormBD.ADOTable1.FieldValues['Логин']+' '+FormBD.ADOTable1.FieldValues['Пароль']; FormBD.ADOTable1.Next; Inc(Counst); end; LoginAndPassword: =Trim(EditLogin.Text)+' '+Trim(EditPassword.Text); For H: =0 to Counst-1 do begin if LoginAndPassword = LogPass[H] then begin FormEnter.Visible: =False; FormKlient.Show; Index: =H+1; FormBD.DBGrid1.DataSource.DataSet.Locate('Логин', Login, [loPartialKey]); FormKlient.Label6.Caption: =FormBD.DBGrid1.DataSource.DataSet.Fields.Fields[1].Value+' '+FormBD.DBGrid1.DataSource.DataSet.Fields.Fields[2].Value+' '+FormBD.DBGrid1.DataSource.DataSet.Fields.Fields[3].Value; end else Label4.Visible: =true; EditLogin.Clear; EditPassword.Clear; end; end;. В ходе работы была создана данная форма авторизации в программу( рисунок 5): Рисунок 5. Форма авторизации при входе
Создание клиентской формы На данном этапе разработки будет осуществляться разработка формы, которая позволяет клиентам банка составлять и отправлять заявки на выполнение работ. Для этого необходимо создать новую форму: File-New-Form. Разместить необходимые нам компоненты: 1. ClientSocket – не визуальный компонент, отвечает за подключение клиента к серверу, отправку и приём сообщений и настройку коммуникаций. 2. Memo – визуальный компонент, позволяет отображать в удобном формате большие объёмы текстовых данных, по сравнению с Edit, так же служит для ввода информации. 3. Edit – отображают имя пользователя чей логин и пароль были введены при авторизации, описание элементов формы. 4. ComboBox – визуальный компонент, представляет собой выпадающий список с вариантами выбора. 5. Button – кнопка отправки сообщения. Предназначение данной формы заключается в удобном и понятном оформлении заявки пользователем на выполнение работ специалистом технической поддержки. Для того, что бы составить заявки необходимо: 1. Выбрать из выпадающего списка «Тип проблемы» один из пунктов обозначающий тип проблемы: программная, аппаратная, отсутствие интернет подключения, затрудняюсь выбрать. 2. В зависимости от выбранного типа проблемы изменится содержание выпадающего списка «Подробности». Для «Программная» это будет: операционная система, пакет office, сопровождающее ПО, затрудняюсь выбрать. Для «Аппаратная» это будет: компьютер и комплектующие, принтер, затрудняюсь выбрать. Для «Отсутствует интернет подключение» список подробности отсутствует, так как возможные проблемы заранее установлены и известны. 3. В окне «Описание проблемы» необходимо указать дополнительное сведения, которые могли бы помочь для осознания проблемы техническому специалисту. 4. Кнопка «Отправить заявку», при её нажатии осуществляется оправка сообщения специалисту технической поддержки, состоящая из: данных отправителя, пита проблемы, подробностей и описания проблемы. 5. После нажатия кнопки в окне «Системные сообщения» появится сообщение об отправки заявки и в случаи его успешной передачи подтверждение приёма и его времени. Так же разработан процесс предотвращающий отправление пустых или не полных сообщений, сообщаю пользователю о недостающей информации. Главным компонентом осуществляющим передачу данных в сети является ClientSocket, а точнее технология Socket, включающая в себя связь между ClientSocket и ServerSocket. На стороне ClientSocket необходимо указать IP адресс и порт сервера. Код осуществляющий передачу данных через сеть: procedure TFormKlient.Button1Click(Sender: TObject); begin WorkDate: = Now; If ComboBoxProblem.Text=('Выберите тип проблемы') then begin Label1.Font.Color: =clRed; Label1.Caption: =('Вы не выбрали тип проблемы'); end else If (ComboBoxProblem.Text=('Затрудняюсь выбрать')) and (memo2.Text='') then begin label1.Caption: =('Тип проблемы'); Label1.Font.Color: =clBlack; Label5.Font.Color: =clRed; Label5.Caption: =('Приложите описание проблемы'); end else If (ComboBoxProblem2.Visible=True) and ((ComboBoxProblem2.Text='Выберите вид устройства') or (ComboBoxProblem2.Text='Выберите вид программного обеспечения')) then begin Label2.Font.Color: =clRed; end else begin if ComboBoxProblem2.Text='' then ComboBoxProblem2.Text: ='Нет'; if memo2.Text='' then memo2.Text: ='Нет';
label5.Caption: =('Описание проблемы'); label1.Caption: =('Тип проблемы'); Label1.Font.Color: =clBlack; Label5.Font.Color: =clBlack; Label2.Font.Color: =clBlack; Packet: =ComboBoxProblem.Text+#13+ComboBoxProblem2.Text+#13+Memo2.text+#13+inttostr(Index); ClientSocket1.Socket.SendText(ansistring(Packet)); memo1.Lines.Add('Ваша заявка была отправлена, сортрудник техничекой поддержки свяжется с вами в ближайшее время'+TimeToStr(WorkDate)); end; end;. В результате удалось разработать данную форму( рисунок 6): Рисунок 6. Клиентская форма Популярное:
|
Последнее изменение этой страницы: 2016-07-13; Просмотров: 452; Нарушение авторского права страницы