Описание предметной области и разработка электронного учебника на основе архитектуры "клиент – сервер". Тестирование программы менеджера и создание интерфейса главного меню. Вход в программу в качестве пользователя и обеспечение перехода к данным лекций.
При низкой оригинальности работы "Разработка прикладной программы на основе архитектуры "клиент – сервер"", Вы можете повысить уникальность этой работы до 80-100%
Цель работы - данный программный продукт представляет собой электронный учебник. Основное предназначение данной программы - возможность дистанционного обучения студентов и тестирование у них знаний по данному предмету.
У студентов появляются следующие преимущества: 1. самостоятельное изучение лекционнго материала по данной дисциплине;
2. проверка знаний, по пройденному лекционному материалу с помощью прохождения тестов, содержащихся в данном программном продукте;
3. общение с преподавателем путем отправки сообщений.
Преподаватель имеет следующие возможности: 1. добавлять новый лекционный материал по данному предмету;
2. добавлять метордические указания к выполнению практических работ по данной дисциплине.
3. тестировать студентов и проверять их знания;
4. просматривать результаты сдачи тестов и проставлять оценки.
5. связываться со студентами с помощью отправки сообщений.
2. Описание применения
ОБРАЩЕНИЕ К ПРОГРАММЕ
Так в данной программе нет жесткой привязки к базе данных, в которой храниться информация о студентах, результатах сдачи тестов и вопросы к тестам, то ее не обязательно устанавливать в определенную папку или диск. Достаточно просто нажать на ярлык программы на рабочем столе.
ФАЙЛЫ СИСТЕМЫ
В данной систме осуществляется работа с базой данной «DB.mdb», которая содержит всебе таблицы. Каждая таблица состоит из соответствующих полей. Рассмотрим использующиеся в программе таблицы: Таблица 1. Студенты
Название поля Тип поля Длина поля Вид поля Расшифровка Названия
Login Текстовый 50 Ключевое Логин
Parol Текстовый 50 Пароль
Fam Текстовый 25 Фамилия
Name Текстовый 20 Имя
Group Текстовый 10 Группа
Kod_rez Числовой 3 Ключевое Результат
Kod_mes Числовой 3 Ключевое Сообщение
Таблица 2. Результаты сдачи тестов
Название поля Тип поля Длина поля Вид поля Расшифровка Названия
Kod_rez Числовой 3 Ключевое Результат
Naz_test Текстовый 50 Название теста
Rezultat Числовой 3 Оценка
Таблица 3. Сообщения
Название поля Тип поля Длина поля Вид поля Расшифровка Названия
Kod_mes Числовой 3 Ключевое Сообщение
Komy_s Текстовый 50 Название теста
Otkogo_s Текстовый 50 Оценка
Soderganie Текстовый 100 Содержание
Таблица 4. Вопросы
Название поля Тип поля Длина поля Вид поля Расшифровка Названия
Id Счетчик длинное целое Ключевое Код
Nomer Числовой длинное целое Порядковый номер
Vopros Текстовый 255 Вопрос
Таблица 5. Варианты ответов
Название поля Тип поля Длина поля Вид поля Расшифровка Названия
Id Счетчик длинное целое Ключевое Код
Vopros Числовой длинное целое Вопрос
Otvet Текстовый 255 Ответ
Prav Логический да/нет Правильный
Таблица 6. Объяснения к вариантам ответов
Название поля Тип поля Длина поля Вид поля Расшифровка Названия
Id Счетчик длинное целое Ключевое Код
Vopros Числовой длинное целое Вопрос
Obias Текстовый 255 Объяснение
Prav Логический да/нет Правильный
3. Описание программы менеджера
Рисунок 1. Структура программы-менеджера
Клиент- сервер: В главном окне программы (рисунок 2) в пункте меню «Вход» существует возможность входа в систему в качестве студента или преподавателя, предварительно введя логин и пароль. В пункте «Регистрация» осуществляется регистрация новых пользователей. Пункт меню «О программе» содержит информацию о самой программе и ее разработчиках. Пункт «Выход» осущетвляет выход из программы.
Рисунок 2. Главное меню программы
Регистрация нового пользователя
Регистрация осуществляется нажатием на соответствующую кнопку или нажатием клавиши F4. В окне регистрации необходимо заполнить все данные о пользователе. Ввод фамилии и имени пользователя осуществляется только на русском языке (рисунок 3).
На данном этапе осуществляется ввод двух строк - fam и name, которые соответствуют фамилии и имени пользователя. Принятие введеной информации осуществляется по нажатию на кнопку «ОК».
На данном этапе осуществляется ввод логина в поле login. Затем производится проверка введенного логинаю Если прочитанный логин совпадает с введенным, то выводится соответствующее сообщение и осуществляется переход к повторному вводу логина.
Ввод пароля if (datamodule2.ADOTABLE1.Locate("parol",MASKEDIT2.Text,[])) then begin
MESSAGEBOX(Handle,PCHAR("Введенный пароль уже существует!"),PCHAR("Ошибка"), MB_ICONWARNING MB_DEFBUTTON2);
На данном этапе осуществляется ввод пароля в поле parol. Затем производится проверка введенного пароля. Если прочитанный пароль совпадает с введенным, то выводится соответствующее сообщение и осуществляется переход к повторному вводу пароля.
Формирование имени пользователя: DATAMODULE2.ADOTABLE1.FIELDVALUES["login"]:=form11.MASKEDIT1.Text;
Введенные данные принимаются при нажатии на кнопку «ОК». Ввод осуществляется только любыми буквами или цифрами. Если пароль или логин не введены, то на экран выведутся специальные сообщения (рисунок 7).
Поиск логина и пароля в файле учета пользователей.
Условие 1: if (form8.MASKEDIT1.Textdatamodule2.adotable1login.Text) or (form8.MASKEDIT2.Textdatamodule2.adotable1parol.Text)then begin edit1.Text:=edit1.Text "a";
if edit1.Text="a" then begin MESSAGEBOX(Handle,PCHAR("Ошибка! У Вас осталось две попытки"),PCHAR("Ошибка"), MB_ICONWARNING MB_DEFBUTTON2);
MASKEDIT1.clear;
MASKEDIT2.clear;
end;
if edit1.Text="aa" then begin MESSAGEBOX(Handle,PCHAR("Ошибка! У Вас осталось одна попытка"),PCHAR("Ошибка"), MB_ICONWARNING MB_DEFBUTTON2);
MASKEDIT1.clear;
MASKEDIT2.clear;
end;
if edit1.Text="aaa" then begin MESSAGEBOX(Handle,PCHAR("Вы ошиблись 3 раза!"),PCHAR("Ошибка"), MB_ICONWARNING MB_DEFBUTTON2);
form8.hide;
form4.close;
end;
end;
Это условие проверяет, соответствуют ли прочитанные логин и пароль, хранящиеся в таблице, введенным на предыдущем шаге. Если это условие не выполняется, то на экран выводится специальное сообщение. Если пароль и логин 3 раза были неправильно введены, осуществится обратный переход к главному меню программы.
Условие 2: if (form8.MASKEDIT1.Text=datamodule2.adotable1login.Text) and (form8.MASKEDIT2.Text=datamodule2.adotable1parol.Text) then begin form9.show;
Это условие проверяет, соответствуют ли прочитанные логин и пароль, хранящиеся в таблице, введенным на предыдущем шаге. Если это условие выполняется, то осуществляется переход к меню пользователя.
Рисунок 7. Ввод логина и пароля
Главное меню пользователя: В главном меню пользователю предлагется выбрать один из пунков с помощью выбора соответсвующего пункта меню (рисунок 8). При нажатии клавишы на пункт меню Файл- Прочитать лекции пользователь имеет возможность перейти к тестам. В пункте меню Файл-Пройти тест пользователь имеет возможность пройти один из существующих тестов. Выбрав пункт меню Сообщения пользователь может отправить сообщение преподавателю или прочитать полученные им сообщения. В пункте меню «Назад» осуществляется возврат в главно е менню программы.
Рисунок 8. Меню пользователя
3.1.1 Переход к тестам
Для этого нужно в пункте меню пользователя выбрать вкладку «Пройти тест». Затем в новом окне выбрать нужную вкладку.
Рисунок 9. Меню теста
1)Установление режима прохождения тестов (рисунок 10):
Рисунок 10. Установление режима прохождения тестов
Установление режима по умолчанию: Для этого необходимо нажать на кнопку «Начать тест» (рисунок 9). Перед пользователем появиться окно, содержащее в себе вопросы теста, варианты ответа и пояснения к этим вариантам. Переход к следующему вопросу осуществляется нажатием на кнопку «Далее» (рисунок 11). procedure Ttesti.Vopros(nomer:integer);
После прохождения теста в таблицу Rezultati записывается количество набранных баллов(rezultat), фамилия студента (fam), количество отвеченных имя студента (name) и группа, в которой он учится (group), дата прохождения теста (date).
4) Копирование результатов теста в файл учета сдачи тестов Rezultati.txt: if fileexists(put_k_data_base rasshirenie_file_data_base) then begin assignfile(file_db,put_k_data_base rasshirenie_file_data_base);
append(file_db);
end else begin assignfile(file_db,put_k_data_base rasshirenie_file_data_base);
rewrite(file_db);
end;
writeln(file_db,"Имя " form9.Label3.Caption);
writeln(file_db,"Фамилия " form9.Label2.Caption);
writeln(file_db,"Группа " form9.Label4.Caption);
writeln(file_db,"Дата " datetostr(date));
writeln(file_db,"Время " timetostr(time));
writeln(file_db,"Результат " cena);
writeln(file_db," ");
closefile(file_db);
После прохождения теста в файл Rezultati.txt записывается количество набранных баллов(cena), фамилия студента (fam), количество отвеченных имя студента (name) и группа, в которой он учится (group), дата и время прохождения теста (date, time).
Application.MESSAGEBOX("Сообщение доставлено!","Готово",MB_OK or MB_ICONINFORMATION);
form9.show;end;
Для отправки нового сообщения необходимо в меню пользователя выбрать пункт меню «Сообщения» - «Отправить новое сообщение» (рисунок 14). Далее в новом окне ввести текст сообщения и нажать на кнопку отправить. Отправка сообщений возможна только преподавателю.
Чтение полученных сообщений осуществляется в два этапа.
При выборе первого подпункта перед пользователем появляется список всех входящих сообщений (рисунок 15).
При двойном щелчке на определенном сообщении оно открывается в режиме просмотра для пользователя. Здесь, нажав на кнопку «Ответить», можно ответить на сообщении (рисунок 16).
Procedure Tform15.Button2Click(Sender: Tobject);
begin if form15.Edit1.Text=’Преподаватель’then begin form12.show;
form12.Edit1.Text:=form15.Edit1.Text;
form15.Edit1.Text:=’’;
form15.Memo1.Text:=’’;
form15.Close;
end else form13.show;
form13.Edit1.Text:=form15.Edit1.Text;
form15.Close;
end;
3.1.4 Выход procedure TFORM9.N5Click(Sender: TOBJECT);
begin form4.show;
form9.Close;
end;
При нажатии в главном меню пользователя кнопки «Назад» открывается главное окно программы.
3.2 Вход в качестве преподавателя
Рисунок 17. Вход через преподавателя
Ввод и проверка пароля: procedure TFORM5.MASKEDIT1KEYPRESS(Sender: TOBJECT; var Key: Char);
exit; end else if (form5.MASKEDIT1.Text="") or (form5.MASKEDIT1.Textdatamodule2.ADOTABLE2key2.text) then begin edit1.Text:=edit1.Text "a";
if edit1.Text="a" then begin MESSAGEBOX(Handle,PCHAR("Пароль введен не верно! У Вас осталось две попытки"),PCHAR("Ошибка"), MB_ICONWARNING MB_DEFBUTTON2);
MASKEDIT1.clear; end;
if edit1.Text="aa" then begin MESSAGEBOX(Handle,PCHAR("Пароль введен не верно! У Вас осталось одна попытка"),PCHAR("Ошибка"), MB_ICONWARNING MB_DEFBUTTON2);
MASKEDIT1.clear; end;
if edit1.Text="aaa" then begin MESSAGEBOX(Handle,PCHAR("Пароль 3 раза был введен не верно!"),PCHAR("Ошибка"), MB_ICONWARNING MB_DEFBUTTON2);
form1.hide;
form4.show; end; end;
if (form5.MASKEDIT1.Text=datamodule2.ADOTABLE2key2.text) then begin form6.show;
form5.Hide;
form5.MASKEDIT1.Clear;
end;
После выбора в главном меню программы пункта «Преподаватель», необходимо в новом окне ввода пароля подтвердить пароль. В этом же окне можно сменить пароль, нажав на соответствующую кнопку (рисунок 18).
Application.MESSAGEBOX("Пароль был сохранен успешно!","Готово",MB_OK or MB_ICONINFORMATION);
form6.show;
form7.Hide;
end;
end;
Для смены пароля необходимо подтвердить старый пароль, а затем ввести новый пароль и нажать на кнопку «ОК» (рисунок 19).
Рисунок 19. Смена пароля
Меню преподавателя: В меню преподавателя предлагется выбрать один из пунков. В пункте меню «Файл» - «Тесты» преподаватель может осуществить переход к тестам. В пункте «Написать лекции» можно добавить новый лекции. А в пункте «Просмотреть результаты» преподаватель осуществляет просмотр результатов сдачи тестов студентами (рисунок 20).
Рисунок 20. Меню преподавателя
3.2.1 Результаты пользователей
Рисунок 21. Структура меню «Результаты пользователя»
begin if application.MESSAGEBOX("Удалить эту запись? ", "Удаление",mb_ICONQUESTION mb_yesno)=idyes then datamodule2.ADOTABLE3.Delete;
end;
В этом пункте содержит список всех студентов прошедших тестирование. Этот список можно редактировать, путем удаления из него пользователей (рисунок 22).
Рисунок 22. Просмотр результатов
Выход в главное меню: procedure TFORM10.N2Click(Sender: TOBJECT);
begin form6.show;
form10.Close;
end;
end.
При нажатии на кнопку «Нзад» таблица учета пользователей закрывается и происходит переход в меню преподавателя.
3.2.2 Просмотр и редактирование тестов
Просмотр и редактирование списка агентов (рисунок 23):
Рисунок 24. Структура меню «Просмотр и редактирование списка агентов»
В данном режиме преводаватель может внести изменения в тест (рисунок 24). Это осуществляется путем изменения данных в вопросе, варианте ответа на вопрос или объяснения к данному вариенту ответа.
Рисунок 24. Редактирование теста
Выход в главное меню: procedure Edittest.RADIOBUTTON1Click(Sender: TOBJECT);
begin
Edittest.Close;
Form1.Show end;
3.2.3 Установление режима прохождения тестов
Рисунок 25. Структура меню «Установление режима прохождения тестов»
Установление режима по умолчанию: Для этого необходимо нажать на кнопку «Начать тест». Перед пользователем появиться окно, содержащее в себе вопросы теста, варианты ответа и пояснения к этим вариантам. Переход к следующему вопросу осуществляется нажатием на кнопку «Далее». procedure Ttesti.Button1Click(Sender: TOBJECT);
var i:integer;
RB:TRADIOBUTTON;
cena:string;
file_db:textfile;
begin if ((RADIOBUTTON1.Checked=true) or (RADIOBUTTON2.Checked=true) or (RADIOBUTTON3.Checked=true) or (RADIOBUTTON4.Checked=true) ) and ((RADIOBUTTON5.Checked=true) or (RADIOBUTTON6.Checked=true) or (RADIOBUTTON7.Checked=true) or (RADIOBUTTON8.Checked=true) ) then begin for i := 0 to GROUPBOX1.CONTROLCOUNT-1 do begin
Для отправки нового сообщения необходимо в меню преподавателявыбрать пункт меню «Сообщения» - «Отправить новое сообщение». Далее в окне отпраки сообщений указать пользователя, которомуотправляется сообщение. Это делается нажатием на кнопку «Выбрать…». В появившемся списке, двойным щелчком мыши, выбирается пользователь. Затем вводится текст сообщения и нажатием на кнопку «Отправить» осуществляется доставка сообщения пользователю (рисунок 26).
Чтение полученных сообщений осуществляется в два этапа. При выборе первого подпункта перед пользователем появляется список всех входящих сообщений, из которых он может выбрать какое - то определенное сообщение и ответить на него.
При двойном щелчке на определенном сообщении, оно открывается в режиме просмотра для пользователя. Здесь, нажав на кнопку «Ответить», можно ответить на сообщении. procedure TFORM15.Button2Click(Sender: TOBJECT);
begin if form15.Edit1.Text="Преподаватель"then begin form12.show;
form12.Edit1.Text:=form15.Edit1.Text;
form15.Edit1.Text:="";
form15.Memo1.Text:="";
form15.Close;
end else form13.show;
form13.Edit1.Text:=form15.Edit1.Text;
form15.Close;
end;
3.2.5 Добавление новых лекций
Сохранение новой лекции: procedure TFORM18.Button2Click(Sender: TOBJECT);
begin with SAVEDIALOG1, Memo1 do if Execute then begin
Lines.SAVETOFILE(FILENAME);
OPENDIALOG1.FILENAME:=FILENAME; // Чтобы исправленный текст не затер источник end;
end;
В данном пункте преподавателю дается возможность написания новых лекций для пользователей. Для этого в окне редактора необходимо набрать текст лекции и нажать в пункте меню «Файл» на кнопку «Сохранить как».
begin if application.MESSAGEBOX("Сохранить изменения в файле? ", "Сохранение",mb_ICONQUESTION mb_yesno)=idyes then
Memo1.Lines.SAVETOFILE(OPENDIALOG1.FILENAME); // Сохраняем туда, откуда считали form18.Memo1.Text:="";
end;
Также существует возможность редактирования уже существующих в списке лекций. В этом случае в пункте меню «Файл» выбрать кнопку «Открыть», затем отредактировать текст, а для сохранения изменений необходимо нажать на кнопку «Сохранить».
3.2.6 Выход procedure TFORM6.N2Click(Sender: TOBJECT);
begin form4.show;
form6.Close;
end;
Выход осуществляется нажатием на кнопку «Назад». При нажатии в меню преподавателя кнопки «Назад» открывается главное меню программы.
4. Описание теста
Рисунок 27. Структура теста
Структура обучающего теста представлена на рисунке 27. Все используемых в нашей системе обучающих тесты имеют одинаковую структуру. Они отличаются лишь тем, что осуществляют работу с разными файлами-вопросниками.
if fileexists(put_k_data_base rasshirenie_file_data_base) then begin assignfile(file_db,put_k_data_base rasshirenie_file_data_base);
append(file_db);
end else begin assignfile(file_db,put_k_data_base rasshirenie_file_data_base);
rewrite(file_db);
end;
writeln(file_db,"Имя " form9.Label3.Caption);
writeln(file_db,"Фамилия " form9.Label2.Caption);
writeln(file_db,"Группа " form9.Label4.Caption);
writeln(file_db,"Дата " datetostr(date));
writeln(file_db,"Время " timetostr(time));
writeln(file_db,"Результат " cena);
writeln(file_db," ");
closefile(file_db);
Результаты сдачи теста заносятся в специальную таблицу и также сохраняютя в тектовом файле.
Вывод статистики на экран: if strtoint(Label1.Caption)>16 then cena:="5" else if strtoint(Label1.Caption)>13 then cena:="4" else if strtoint(Label1.Caption)>9 then cena:="3" else cena:="2";
if MESSAGEDLG("Набрано баллов " Label1.Caption "." #13
"Ваша оценка: " cena "!", MTCONFIRMATION, [MBYES], 0)=MRYES then
Заключение
Программа с клиент - серверной архитектурой взаимодействует с пользователе через главное меню программы, где пользователю предлагается войти в систему или зарегистрироваться.
Регистрация - это сохранения данных о пользователе, таких как имя, фамилия, номер группы, логин, пароль втаблице для хранения личных данных о студентах.
Вход в систему - ввод логина и пароля.
Данные о пользователе хранятся в таблице, куда и будут сохраняться данные о ходе его обучения.
После входа в систему перед пользователем появиться меню, в котором он сможет выбрать свои дальнейшие действия.
Преподаватель может создавать и редактировать лекции и тесты, которые предлагается пройти студентам. Также преподаватель устанавливает порядок прохождения тестов. Связь со студентами происходит с помощью сообщений.
После осуществления выбора пользователь сможет прочитать полный курс лекций по лданному премету, либо пройти тест. Прохождение каждого теста осуществляется только один раз.
При прохождении теста пользовательотвечает на вопросы по конуретному курсу обучения. Информация о студенте и результате сдачи теста записывается в таблицу и тестовый файл.
Преподаватель проходит идентификацию посредством ввода пароля, который хранится в специальном массиве. Если пароль введен верно, то преподаватель переходит в главное меню, где у него имеется возможность: · просматривать и редактировать списки зарегистрированных пользователей;
· просматривать и удалять результаты прохождения конкретным пользователем конкретного теста;
· просматривать и редактировать списки лекции и тесты.
Разработать программу с клиент - серверной архитектурой, с помощью которой будет осуществляться связь преподавателя со студентами и доступ к информации, неоходимой для обучения студентов. Информация о студентах и результатах сдачи тестов будут храниться в специально отведенной для этого базе данных.
Список литературы
1.В. П. Алдонин, И. В. Волдайская, Visual FOXPRO 9.0 для студентов ВУЗОВ. Изд. М. Инфра - М, 2010г., 224 с. с ил.
2.Т. В. Мусина, Visual FOXPRO 9.0. Учебный курс - К.: ВЕК , СПБ.: КОРОНА-ВЕК, 2007, 528 с. с ил.
3.Т. Л. Омельченко, И.И. Попов, Самоучитель Visual FOXPRO 9.0. Изд. М. Инфра - М, 2009г., 464 с. с ил.
4.В. В. Попкова, И. Н. Рогожкина, Delphi 7.0. Изд. М. Юнити-Дана, 2010 г.,470с.
5.А.А. Филимонова, В. П. Малышкин ,Delphi самоучитель. Изд. М. Триумф,2011г., 200с. с ил.
exit; end else if (form5.MASKEDIT1.Text="") or (form5.MASKEDIT1.Textdatamodule2.ADOTABLE2key2.text) then begin edit1.Text:=edit1.Text "a";
if edit1.Text="a" then begin MESSAGEBOX(Handle,PCHAR("Пароль введен не верно! У Вас осталось две попытки"),PCHAR("Ошибка"), MB_ICONWARNING MB_DEFBUTTON2);
MASKEDIT1.clear;
end;
if edit1.Text="aa" then begin MESSAGEBOX(Handle,PCHAR("Пароль введен не верно! У Вас осталось одна попытка"),PCHAR("Ошибка"), MB_ICONWARNING MB_DEFBUTTON2);
MASKEDIT1.clear;
end;
if edit1.Text="aaa" then begin MESSAGEBOX(Handle,PCHAR("Пароль 3 раза был введен не верно!"),PCHAR("Ошибка"), MB_ICONWARNING MB_DEFBUTTON2);
form1.hide;
form4.show;
end; end;
if (form5.MASKEDIT1.Text=datamodule2.ADOTABLE2key2.text) then begin form6.show;
form5.Hide;
form5.MASKEDIT1.Clear;
end; end;
procedure TFORM5.Image2Click(Sender: TOBJECT);
begin form4.Show;
form5.Close;
end;
procedure TFORM5.Label2Click(Sender: TOBJECT);
begin form7.show;
form5.Close;
end;
procedure TFORM5.MASKEDIT1KEYPRESS(Sender: TOBJECT; var Key: Char);
var i:integer;
begin if not(key in["0".."9",#9,#13]) then key:=#13; begin end;
if Key = #13 then begin if form5.MASKEDIT1.Text="" then begin
exit; end else if (form5.MASKEDIT1.Text="") or (form5.MASKEDIT1.Textdatamodule2.ADOTABLE2key2.text) then begin edit1.Text:=edit1.Text "a";
if edit1.Text="a" then begin MESSAGEBOX(Handle,PCHAR("Пароль введен не верно! У Вас осталось две попытки"),PCHAR("Ошибка"), MB_ICONWARNING MB_DEFBUTTON2);
MASKEDIT1.clear;
end;
if edit1.Text="aa" then begin MESSAGEBOX(Handle,PCHAR("Пароль введен не верно! У Вас осталось одна попытка"),PCHAR("Ошибка"), MB_ICONWARNING MB_DEFBUTTON2);
MASKEDIT1.clear;
end;
if edit1.Text="aaa" then begin MESSAGEBOX(Handle,PCHAR("Пароль 3 раза был введен не верно!"),PCHAR("Ошибка"), MB_ICONWARNING MB_DEFBUTTON2);
form1.hide;
form4.show;
end; end;
if (form5.MASKEDIT1.Text=datamodule2.ADOTABLE2key2.text) then begin form6.show;
exit; end else if (form7.MASKEDIT1.Text="") or (form7.MASKEDIT1.Textdatamodule2.ADOTABLE2key2.text) then begin edit1.Text:=edit1.Text "a";
if edit1.Text="a" then begin MESSAGEBOX(Handle,PCHAR("Пароль введен не верно! У Вас осталось две попытки"),PCHAR("Ошибка"), MB_ICONWARNING MB_DEFBUTTON2);
MASKEDIT1.clear;
MASKEDIT2.clear;
end;
if edit1.Text="aa" then begin MESSAGEBOX(Handle,PCHAR("Пароль введен не верно! У Вас осталось одна попытка"),PCHAR("Ошибка"), MB_ICONWARNING MB_DEFBUTTON2);
MASKEDIT1.clear;
MASKEDIT2.clear; end;
if edit1.Text="aaa" then begin MESSAGEBOX(Handle,PCHAR("Пароль 3 раза был введен не верно!"),PCHAR("Ошибка"), MB_ICONWARNING MB_DEFBUTTON2);
form7.hide;
form4.show;
end; end;
if (form7.MASKEDIT1.Text=datamodule2.ADOTABLE2key2.text) then begin datamodule2.ADOTABLE2.Edit;
exit; end else if (form8.MASKEDIT1.Textdatamodule2.adotable1login.Text) or (form8.MASKEDIT2.Textdatamodule2.adotable1parol.Text)then begin edit1.Text:=edit1.Text "a";
if edit1.Text="a" then begin MESSAGEBOX(Handle,PCHAR("Ошибка! У Вас осталось две попытки"),PCHAR("Ошибка"), MB_ICONWARNING MB_DEFBUTTON2);
MASKEDIT1.clear;
MASKEDIT2.clear;
end;
if edit1.Text="aa" then begin MESSAGEBOX(Handle,PCHAR("Ошибка! У Вас осталось одна попытка"),PCHAR("Ошибка"), MB_ICONWARNING MB_DEFBUTTON2);
MASKEDIT1.clear;
MASKEDIT2.clear;
end;
if edit1.Text="aaa" then begin MESSAGEBOX(Handle,PCHAR("Вы ошиблись 3 раза!"),PCHAR("Ошибка"), MB_ICONWARNING MB_DEFBUTTON2);
form8.hide;
form4.close;
end; end;
if (form8.MASKEDIT1.Text=datamodule2.adotable1login.Text) and (form8.MASKEDIT2.Text=datamodule2.adotable1parol.Text) then begin form9.show;
exit; end else if (form8.MASKEDIT1.Textdatamodule2.adotable1login.Text) or (form8.MASKEDIT2.Textdatamodule2.adotable1parol.Text)then begin edit1.Text:=edit1.Text "a";
if edit1.Text="a" then begin MESSAGEBOX(Handle,PCHAR("Ошибка! У Вас осталось две попытки"),PCHAR("Ошибка"), MB_ICONWARNING MB_DEFBUTTON2);
MASKEDIT1.clear;
MASKEDIT2.clear;
end;
if edit1.Text="aa" then begin MESSAGEBOX(Handle,PCHAR("Ошибка! У Вас осталось одна попытка"),PCHAR("Ошибка"), MB_ICONWARNING MB_DEFBUTTON2);
MASKEDIT1.clear;
MASKEDIT2.clear;
end;
if edit1.Text="aaa" then begin MESSAGEBOX(Handle,PCHAR("Вы ошиблись 3 раза!"),PCHAR("Ошибка"), MB_ICONWARNING MB_DEFBUTTON2);
form8.hide;
form4.close;
end; end;
if (form8.MASKEDIT1.Text=datamodule2.adotable1login.Text) and (form8.MASKEDIT2.Text=datamodule2.adotable1parol.Text) then begin form9.show;