align="justify">
Введення логіна і пароля if not (key in [ 0 .. 9 , # 9, # 13]) then key:=# 13; begin; Key=# 13 then beginform8.MaskEdit1.Text= then begin (Handle, PChar ( Введіть логін! ), PChar ( Увага ), MB_ICONWARNING + MB_DEFBUTTON2) ;; ; form8.MaskEdit2.Text= then begin (Handle, PChar ( Введіть пароль! ), PChar ( Увага ), MB_ICONWARNING + MB_DEFBUTTON2) ;; ;
Введені дані приймаються при натисканні на кнопку «ОК». Введення здійснюється тільки якими буквами або цифрами. Якщо пароль або логін не було введено, то на екран виведуться спеціальні повідомлення (малюнок 7).
Пошук логіна і пароля у файлі обліку користувачів.
Умова 1: (form8.MaskEdit1.Text lt; gt; datamodule2.adotable1login.Text) or (form8.MaskEdit2.Textlt;gt;datamodule2.adotable1parol.Text)then.Text:=edit1.Text+laquo;araquo;;edit1.Text=laquo;araquo; then begin MessageBox (Handle, PChar ( Помилка! У Вас залишилося дві спроби ), PChar ( Помилка ), MB_ICONWARNING + MB_DEFBUTTON2) ;. clear; .clear ;; edit1.Text= aa then begin MessageBox (Handle, PChar ( Помилка! У Вас залишилося одна спроба ), PChar ( Помилка ), MB_ICONWARNING + MB_DEFBUTTON2) ;. clear; .clear ;; edit1.Text= aaa then begin MessageBox (Handle, PChar ( Ви помилилися 3 рази! ), PChar ( Помилка ), MB_ICONWARNING + MB_DEFBUTTON2) ;. hide; .close ;;;
Ця умова перевіряє, чи відповідають прочитання логін і пароль, що зберігаються в таблиці, введеним на попередньому кроці. Якщо ця умова не виконується, то на екран виводиться спеціальне повідомлення. Якщо пароль і логін 3 рази були неправильно введені, здійсниться зворотний перехід до головного меню програми.
Умова 2: (form8.MaskEdit1.Text=datamodule2.adotable1login.Text) and (form8.MaskEdit2.Text=datamodule2.adotable1parol.Text) then.show;.adotable1.Filtered:=true;.adotable1.Filter:=laquo;login=raquo;+quotedstr(MaskEdit1.Text);.Label2.Caption:=datamodule2.ADOTable1fam.Text;.Label3.Caption:=datamodule2.ADOTable1name.Text;.Label4.Caption:=datamodule2.ADOTable1group.Text;.Hide;;
Ця умова перевіряє, чи відповідають прочитання логін і пароль, що зберігаються в таблиці, введеним на попередньому кроці. Якщо ця умова виконується, то здійснюється перехід до меню користувача.
Малюнок 7. Введення логіна і пароля
Головне меню користувача:
У головному меню користувачеві предлагет вибрати один з пунк за допомогою вибору соответсвующего пункту меню (рисунок 8). При натисканні клавіши на пункт меню Файл- Прочитати лекції користувач має можливість перейти до тестів. У пункті меню Файл-Пройти тест користувач має можливість пройти один з існуючих тестів. Вибравши пункт меню Повідомлення користувач може відправити повідомлення викладачеві або прочитати отримані ним повідомлення. У пункті меню «Назад» здійснюється повернення в главно е менню програми.
Малюнок 8. Меню користувача
3.1.1 Перехід до тестів
Для цього потрібно в пункті меню користувача вибрати вкладку «Пройти тест». Потім в новому вікні вибрати потрібну вкладку.
Малюнок 9. Меню тесту
1) Встановлення режиму проходження тестів (малюнок 10):
Малюнок 10. Встановлення режиму проходження тестів
Встановлення режиму за замовчуванням:
Для цього необхідно натиснути на кнопку «Почати тест» (малюнок 9). Перед користувачем з'явитися вікно, що містить в собі питання тесту, варіанти відповіді і пояснення до цих варіантів. Перехід до наступного питання здійснюється натисканням на кнопку «Далі» (малюнок 11).Ttesti.Vopros(nomer:integer);.Vopros.Locate(laquo;Номерraquo;,mass[nomer],[]);.Variant.First;.Caption:=DataModule2.Variant.FieldValues[laquo;Ответraquo;];DataModule2.Variant.FieldValues[laquo;Правильныйraquo;]=true then.Tag:=1 else RadioButton1.Tag:=0;.Obyasnenie.First;.Caption:=DataModule2.Obyasnenie.FieldValues[laquo;Объяснениеraquo;];DataModule2.Obyasnenie.FieldValues[laquo;Правильныйraquo;]=true then.Tag:=1 else RadioButton5.Tag:=0 ;;
2) Пошук агента в таблиці зберігання питань до тесту:
procedure Ttesti.Vopros(nomer:integer);.Vopros.Locate(laquo;Номерraquo;,mass[nomer],[]);.Variant.First;.Caption:=DataModule2.Variant.FieldValues[laquo;Ответraquo;];
3) Копіювання результатів тесту в таблицю врахування здачі тестів Rezultаti:
datamodule2.ADOTable3.Insert;.ADOTable3.FieldByName(laquo;rezultatraquo;).Value:=cena;.ADOTable3.FieldByName(laquo;famraquo;).Value:=form9.Label2.Caption;.ADOTable3.FieldByName(laquo;nameraquo...