Разработка прикладной программы на основе архитектуры 'клиент – сервер'. Курсовая работа (т). Информационное обеспечение, программирование.

Разработка прикладной программы на основе архитектуры 'клиент – сервер'. Курсовая работа (т). Информационное обеспечение, программирование.




⚡ 👉🏻👉🏻👉🏻 ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻


























































Информационное обеспечение, программирование

Вы можете узнать стоимость помощи в написании студенческой работы.


Помощь в написании работы, которую точно примут!

Похожие работы на - Разработка прикладной программы на основе архитектуры 'клиент – сервер'

Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе

Нужна качественная работа без плагиата?

Не нашел материал для своей работы?


Поможем написать качественную работу Без плагиата!

По
дисциплине «Операционные системы»


Разработка
прикладной программы на основе архитектуры “клиент - сервер”







.2.2 Просмотр и редактирование
тестов


.2.3 Установление режима прохождения
тестов


интерфейс сервер клиент электронный учебник







Цель работы - данный программный продукт
представляет собой электронный учебник. Основное предназначение данной программы
- возможность дистанционного обучения студентов и тестирование у них знаний по
данному предмету.


У студентов появляются следующие преимущества:


. самостоятельное изучение лекционнго материала
по данной дисциплине;


. проверка знаний, по пройденному лекционному
материалу с помощью прохождения тестов, содержащихся в данном программном
продукте;


. общение с преподавателем путем отправки
сообщений.


Преподаватель имеет следующие возможности:


1. добавлять новый лекционный материал по
данному предмету;


2.     добавлять метордические указания к
выполнению практических работ по данной дисциплине.


.       тестировать студентов и проверять их
знания;


.       просматривать результаты сдачи тестов и
проставлять оценки.


.       связываться со студентами с помощью
отправки сообщений.







Так в данной программе нет жесткой привязки к
базе данных, в которой храниться информация о студентах, результатах сдачи
тестов и вопросы к тестам, то ее не обязательно устанавливать в определенную
папку или диск. Достаточно просто нажать на ярлык программы на рабочем столе.


В данной систме осуществляется работа с базой
данной «DB.mdb», которая содержит всебе таблицы. Каждая таблица состоит из
соответствующих полей. Рассмотрим использующиеся в программе таблицы:




Таблица 6. Объяснения к вариантам ответов




Рисунок 1. Структура программы-менеджера




В главном окне программы (рисунок 2) в пункте
меню «Вход» существует возможность входа в систему в качестве студента или
преподавателя, предварительно введя логин и пароль. В пункте «Регистрация»
осуществляется регистрация новых пользователей. Пункт меню «О программе»
содержит информацию о самой программе и ее разработчиках. Пункт «Выход»
осущетвляет выход из программы.




Регистрация осуществляется нажатием на
соответствующую кнопку или нажатием клавиши F4. В окне регистрации необходимо
заполнить все данные о пользователе. Ввод фамилии и имени пользователя
осуществляется только на русском языке (рисунок 3).


if edit3.Text='' then
begin(Handle,PChar('Введите фамилию!'),PChar('Ошибка'),
MB_ICONWARNING+MB_DEFBUTTON2);; end;edit1.Text='' then begin(Handle,PChar('Введите
имя!'),PChar('Ошибка'), MB_ICONWARNING+MB_DEFBUTTON2);


На данном этапе осуществляется ввод двух строк -
fam и name, которые соответствуют фамилии и имени пользователя. Принятие
введеной информации осуществляется по нажатию на кнопку «ОК».


if edit2.Text='' then
begin(Handle,PChar('Укажите группу!'),PChar('Ошибка'),
MB_ICONWARNING+MB_DEFBUTTON2);;;


На данном этапе осуществляется ввод номера
группы в поле group. Принятие введеной информации осуществляется по нажатию «ОК».


if
(datamodule2.ADOTable1.Locate('login',MaskEdit1.Text,[])) then
begin(Handle,PChar('Такой логин уже существует!'),PChar('Ошибка'),
MB_ICONWARNING+MB_DEFBUTTON2);.MaskEdit1.Text:=''; ;
end;form11.MaskEdit1.Text='' then begin(Handle,PChar('Введите
логин!'),PChar('Ошибка'), MB_ICONWARNING+MB_DEFBUTTON2);; ;


На данном этапе осуществляется ввод логина в
поле login. Затем производится проверка введенного логинаю Если прочитанный
логин совпадает с введенным, то выводится соответствующее сообщение и
осуществляется переход к повторному вводу логина.


if
(datamodule2.ADOTable1.Locate('parol',MaskEdit2.Text,[])) then
begin(Handle,PChar('Введенный пароль уже существует!'),PChar('Ошибка'),
MB_ICONWARNING+MB_DEFBUTTON2);.MaskEdit2.Text:=''; ; ;form11.MaskEdit2.Text=''
then begin(Handle,PChar('Введите пароль!'),PChar('Ошибка'),
MB_ICONWARNING+MB_DEFBUTTON2);; ;


На данном этапе осуществляется ввод пароля в
поле parol. Затем производится проверка введенного пароля. Если прочитанный
пароль совпадает с введенным, то выводится соответствующее сообщение и
осуществляется переход к повторному вводу пароля.


DataModule2.ADOTable1.FieldValues['login']:=form11.MaskEdit1.Text;.ADOTable1.FieldValues['parol']:=form11.MaskEdit2.Text;.ADOTable1.FieldValues['fam']:=form11.Edit2.Text;.ADOTable1.FieldValues['name']:=form11.Edit3.Text;.ADOTable1.FieldValues['group']:=form11.Edit1.Text;


Таблица, содержащая личные данные пользователей,
сцеплением в одну строку следующих компонентов:


DATAMODULE2.ADOTABLE1.INSERT;.ADOTABLE1.POST;


Запись введенных данных о пользователе
осуществляется в вспециальную таблицу, котороя хранит данные о всех пользователях.




Рисунок 3. Регистрация нового пользователя




procedure TAboutBox.OKButtonClick(Sender:
TObject);.Close;;.


При нажатии в главном меню программы на кнопку
«О программе», выйдет новое окно, которое содержит информацию о программе и ее
создателях (рисунок 4).




procedure TForm4.N2Click(Sender:
TObject);application.MessageBox('Вы действительно хотите выйти? ',


'Выход',mb_iconQuestion+mb_yesno)=idyes
then.Close;;


При нажатиии на кнопку Выход, выведется
специальное сообщение. Оно требует подтверждения о выходе из прогрммы (рисунок
5).




Для перехода в главное меню пользователя
необходимо в новом окне программы ввести логин и пароль.


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<>datamodule2.adotable1login.Text) or
(form8.MaskEdit2.Text<>datamodule2.adotable1parol.Text)then.Text:=edit1.Text+'a';edit1.Text='a'
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:='login='+quotedstr(MaskEdit1.Text);.Label2.Caption:=datamodule2.ADOTable1fam.Text;.Label3.Caption:=datamodule2.ADOTable1name.Text;.Label4.Caption:=datamodule2.ADOTable1group.Text;.Hide;;


Это условие проверяет, соответствуют ли
прочитанные логин и пароль, хранящиеся в таблице, введенным на предыдущем шаге.
Если это условие выполняется, то осуществляется переход к меню пользователя.




В главном меню пользователю предлагется выбрать
один из пунков с помощью выбора соответсвующего пункта меню (рисунок 8). При
нажатии клавишы на пункт меню Файл- Прочитать лекции пользователь имеет
возможность перейти к тестам. В пункте меню Файл-Пройти тест пользователь имеет
возможность пройти один из существующих тестов. Выбрав пункт меню Сообщения
пользователь может отправить сообщение преподавателю или прочитать полученные
им сообщения. В пункте меню «Назад» осуществляется возврат в главно е менню
программы.




Для этого нужно в пункте меню пользователя
выбрать вкладку «Пройти тест». Затем в новом окне выбрать нужную вкладку.




1)Установление режима прохождения тестов
(рисунок 10):




Рисунок 10. Установление режима прохождения
тестов




Для этого необходимо нажать на кнопку «Начать
тест» (рисунок 9). Перед пользователем появиться окно, содержащее в себе
вопросы теста, варианты ответа и пояснения к этим вариантам. Переход к
следующему вопросу осуществляется нажатием на кнопку «Далее» (рисунок
11).Ttesti.Vopros(nomer:integer);.Vopros.Locate('Номер',mass[nomer],[]);.Variant.First;.Caption:=DataModule2.Variant.FieldValues['Ответ'];DataModule2.Variant.FieldValues['Правильный']=true
then.Tag:=1 else
RadioButton1.Tag:=0;.Obyasnenie.First;.Caption:=DataModule2.Obyasnenie.FieldValues['Объяснение'];DataModule2.Obyasnenie.FieldValues['Правильный']=true
then.Tag:=1 else RadioButton5.Tag:=0;;


2) Поиск агента в таблице хранения
вопросов к тесту:


procedure
Ttesti.Vopros(nomer:integer);.Vopros.Locate('Номер',mass[nomer],[]);.Variant.First;.Caption:=DataModule2.Variant.FieldValues['Ответ'];


3) Копирование результатов теста в
таблицу учета сдачи тестов Rezultаti:


datamodule2.ADOTable3.Insert;.ADOTable3.FieldByName('rezultat').Value:=cena;.ADOTable3.FieldByName('fam').Value:=form9.Label2.Caption;.ADOTable3.FieldByName('name').Value:=form9.Label3.Caption;.ADOTable3.FieldByName('group').Value:=form9.Label4.Caption;.ADOTable3.FieldByName('data').Value:=datetostr(date);.ADOTable3.Post;


После прохождения теста в таблицу Rezultati
записывается количество набранных баллов(rezultat), фамилия студента (fam),
количество отвеченных имя студента (name) и группа, в которой он учится
(group), дата прохождения теста (date).


4) Копирование результатов теста в
файл учета сдачи тестов Rezultаti.txt:


if
fileexists(put_k_data_base+rasshirenie_file_data_base)
then(file_db,put_k_data_base+rasshirenie_file_data_base);(file_db);(file_db,put_k_data_base+rasshirenie_file_data_base);(file_db);;(file_db,'Имя
'+form9.Label3.Caption);(file_db,'Фамилия
'+form9.Label2.Caption);(file_db,'Группа '+form9.Label4.Caption);(file_db,'Дата
'+datetostr(date));(file_db,'Время '+timetostr(time));(file_db,'Результат
'+cena);(file_db,' ');(file_db);


После прохождения теста в файл Rezultati.txt
записывается количество набранных баллов(cena), фамилия студента (fam),
количество отвеченных имя студента (name) и группа, в которой он учится (group),
дата и время прохождения теста (date, time).




procedure Tabout.DBGrid1DrawColumnCell(Sender:
TObject; const Rect: TRect;: Integer; Column: TColumn; State: TGridDrawState);TDBGrid(Sender).DataSource.DataSet.RecNo
mod 2 = 1TDBGrid(Sender).Canvas.Brush.Color:=$00FFC6C6
else(Sender).Canvas.Brush.Color:=$00FFD7EB;gdSelected IN
StateBegin(Sender).Canvas.Brush.Color:=clWindow;(Sender).Canvas.Font.Color:=clWindowText;;(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);;


В этом пункте содержится полная инструкция о
том, как осуществляется процесс прохождения теста




procedure TForm18.Button1Click(Sender:
TObject);OpenDialog1.Execute then.Lines.LoadFromFile(OpenDialog1.FileName);;


Переход к лекциям осуществляется выбором пенкта
меню «Файл»- «Прочитать лекции», после чего в новом окне в пункте «Файл» -
«Открыть»




procedure TForm12.Button1Click(Sender: TObject);form12.Memo1.Text=''
then(Handle,PChar('Ваше не содержит текста!'),PChar('Ошибка'),
MB_ICONWARNING+MB_DEFBUTTON2); exit;
end;.ADOTable4.Insert;.ADOTable4.FieldValues['ot_kogo']:=form9.Label2.Caption+'
'+form9.Label3.Caption;.ADOTable4.FieldValues['soderganie']:=form12.Memo1.Text;.ADOTable4.FieldValues['komy']:=form12.Edit1.Text;.ADOTable4.FieldValues['data']:=datetostr(date);.ADOTable4.Post;


{form9.Label2.Caption:=form11.Edit3.Text;.Label3.Caption:=form11.Edit1.Text;.Label4.Caption:=form11.Edit2.Text;.Close;.MessageBox('Сообщение
доставлено!','Готово',MB_OK or MB_ICONINFORMATION);.show;end;


Для отправки нового сообщения необходимо в меню
пользователя выбрать пункт меню «Сообщения» - «Отправить новое сообщение»
(рисунок 14). Далее в новом окне ввести текст сообщения и нажать на кнопку
отправить. Отправка сообщений возможна только преподавателю.


procedure TForm17.DBGrid1DblClick(Sender:
TObject);.show;.Edit1.Text:=form17.DBGrid1.SelectedField.DataSet.FieldValues['ot_kogo'];.Memo1.Text:=
form17.DBGrid1.SelectedField.DataSet.FieldValues['soderganie'];.Close;;


Чтение полученных сообщений осуществляется в два
этапа.


При выборе первого подпункта перед пользователем
появляется список всех входящих сообщений (рисунок 15).
procedure TForm9.N5Click(Sender:
TObject);.show;.Close;;


При нажатии в главном меню пользователя кнопки
«Назад» открывается главное окно программы.


Рисунок 17. Вход через преподавателя




procedure TForm5.MaskEdit1KeyPress(Sender:
TObject; var Key: Char);:integer;form5.MaskEdit1.Text='' then
begin(Handle,PChar('Введите пароль!'),PChar('Внимание'),
MB_ICONWARNING+MB_DEFBUTTON2);; end(form5.MaskEdit1.Text='') or
(form5.MaskEdit1.Text<>datamodule2.ADOTable2key2.text) then
begin.Text:=edit1.Text+'a';edit1.Text='a' then begin
MessageBox(Handle,PChar('Пароль введен не верно! У Вас осталось две
попытки'),PChar('Ошибка'), MB_ICONWARNING+MB_DEFBUTTON2);.clear;
end;edit1.Text='aa' then begin MessageBox(Handle,PChar('Пароль введен не верно!
У Вас осталось одна попытка'),PChar('Ошибка'),
MB_ICONWARNING+MB_DEFBUTTON2);.clear; end;edit1.Text='aaa' then begin
MessageBox(Handle,PChar('Пароль 3 раза был введен не верно!'),PChar('Ошибка'),
MB_ICONWARNING+MB_DEFBUTTON2);.hide;.show; end;
end;(form5.MaskEdit1.Text=datamodule2.ADOTable2key2.text) then
begin.show;.Hide;.MaskEdit1.Clear;;


После выбора в главном меню программы пункта
«Преподаватель», необходимо в новом окне ввода пароля подтвердить пароль. В
этом же окне можно сменить пароль, нажав на соответствующую кнопку (рисунок
18).




procedure TForm7.Image1Click(Sender:
TObject);:integer;.ADOTable2.Edit;.ADOTable2key2.text:=form7.MaskEdit2.Text;.ADOTable2.Post;.MessageBox('Пароль
был сохранен успешно!','Готово',MB_OK or MB_ICONINFORMATION);.show;.Hide;;;


Для смены пароля необходимо подтвердить старый
пароль, а затем ввести новый пароль и нажать на кнопку «ОК» (рисунок 19).




В меню преподавателя предлагется выбрать один из
пунков. В пункте меню «Файл» - «Тесты» преподаватель может осуществить переход
к тестам. В пункте «Написать лекции» можно добавить новый лекции. А в пункте
«Просмотреть результаты» преподаватель осуществляет просмотр результатов сдачи
тестов студентами (рисунок 20).







Рисунок 21. Структура меню «Результаты
пользователя»




procedure TForm10.BitBtn2Click(Sender:
TObject);.show;.Close;;TForm10.N1Click(Sender:
TObject);application.MessageBox('Удалить эту запись? ',


'Удаление',mb_iconQuestion+mb_yesno)=idyes
then.ADOTable3.Delete;;


В этом пункте содержит список всех студентов
прошедших тестирование. Этот список можно редактировать, путем удаления из него
пользователей (рисунок 22).




procedure TForm10.N2Click(Sender:
TObject);.show;.Close;;.


При нажатии на кнопку «Нзад» таблица учета
пользователей закрывается и происходит переход в меню преподавателя.




3.2.2
Просмотр и редактирование тестов


Просмотр и редактирование списка агентов
(рисунок 23):




Рисунок 24. Структура меню «Просмотр и
редактирование списка агентов»




procedure TForm1.RadioButton1Click(Sender:
TObject);.Show;.Button2Click(Sender);.Visible:=false;;


Вывод списка агентов заключается в чтении из
базы данных таблиц, содержащих в себе вопросы к тестам.


procedure
TEdittest.DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;: Integer;
Column: TColumn; State: TGridDrawState);TDBGrid(Sender).DataSource.DataSet.RecNo
mod 2 = 1TDBGrid(Sender).Canvas.Brush.Color:=$00FFC6C6
else(Sender).Canvas.Brush.Color:=$00FFD7EB;gdSelected IN
StateBegin(Sender).Canvas.Brush.Color:=clWindow;(Sender).Canvas.Font.Color:=clWindowText;;(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);(Column.FieldName
= 'Правильный') thenColumn.Field.AsBoolean=true then(TDBGrid(Sender).Canvas,
Rect, True)(TDBGrid(Sender).Canvas, Rect, False);;


В данном режиме преводаватель может внести
изменения в тест (рисунок 24). Это осуществляется путем изменения данных в
вопросе, варианте ответа на вопрос или объяснения к данному вариенту ответа.




procedure Edittest.RadioButton1Click(Sender:
TObject);.Close;.Show;




3.2.3
Установление режима прохождения тестов




Рисунок 25. Структура меню «Установление режима
прохождения тестов»


Для этого необходимо нажать на кнопку «Начать
тест». Перед пользователем появиться окно, содержащее в себе вопросы теста,
варианты ответа и пояснения к этим вариантам. Переход к следующему вопросу
осуществляется нажатием на кнопку «Далее».Ttesti.Button1Click(Sender:
TObject);i:integer;:TRadioButton;:string;_db:textfile;((RadioButton1.Checked=true)
or


begini := 0 to GroupBox1.ControlCount-1 do
begin:=TRadioButton(GroupBox1.Controls[i]);RB.Checked=true
then.Caption:=inttostr(strtoint(Label1.Caption)+RB.Tag);;i := 0 to
GroupBox2.ControlCount-1 do
:=TRadioButton(GroupBox2.Controls[i]);RB.Checked=true
then.Caption:=inttostr(strtoint(Label1.Caption)+RB.Tag);;strtoint(Label2.Caption)<11
then begin(strtoint(Label2.Caption));.Caption:='Тестирование. Вопрос
'+inttostr(strtoint(Label2.Caption)-1)+' из 10';




procedure TForm12.Button1Click(Sender:
TObject);.ADOTable4.Insert;.ADOTable4.FieldValues['ot_kogo']:=form9.Label2.Caption+'
'+form9.Label3.Caption;.ADOTable4.FieldValues['soderganie']:=form12.Memo1.Text;.ADOTable4.FieldValues['komy']:=form12.Edit1.Text;.ADOTable4.FieldValues['data']:=datetostr(date);.ADOTable4.Post;


{form9.Label2.Caption:=form11.Edit3.Text;.Label3.Caption:=form11.Edit1.Text;.Label4.Caption:=form11.Edit2.Text;.Close;
.show;;


Для отправки нового сообщения необходимо в меню
преподавателявыбрать пункт меню «Сообщения» - «Отправить новое сообщение».
Далее в окне отпраки сообщений указать пользователя, которомуотправляется
сообщение. Это делается нажатием на кнопку «Выбрать…». В появившемся списке,
двойным щелчком мыши, выбирается пользователь. Затем вводится текст сообщения и
нажатием на кнопку «Отправить» осуществляется доставка сообщения пользователю
(рисунок 26).




Чтение полученных сообщений осуществляется в два
этапа. При выборе первого подпункта перед пользователем появляется список всех
входящих сообщений, из которых он может выбрать какое - то определенное
сообщение и ответить на него.


При двойном щелчке на определенном сообщении,
оно открывается в режиме просмотра для пользователя. Здесь, нажав на кнопку
«Ответить», можно ответить на сообщении.TForm15.Button2Click(Sender:
TObject);form15.Edit1.Text='Преподаватель'then begin
form12.show;.Edit1.Text:=form15.Edit1.Text;.Edit1.Text:='';.Memo1.Text:='';.Close;.show;.Edit1.Text:=form15.Edit1.Text;.Close;;


procedure TForm18.Button2Click(Sender:
TObject);SaveDialog1, Memo1 doExecute
then.SaveToFile(FileName);.FileName:=FileName; // Чтобы исправленный текст не
затёр источник; ;


В данном пункте преподавателю дается возможность
написания новых лекций для пользователей. Для этого в окне редактора необходимо
набрать текст лекции и нажать в пункте меню «Файл» на кнопку «Сохранить как».


procedure TForm18.Button3Click(Sender:
TObject);application.MessageBox('Сохранить изменения в файле? ',


'Сохранение',mb_iconQuestion+mb_yesno)=idyes
then.Lines.SaveToFile(OpenDialog1.FileName); // Сохраняем туда, откуда
считали.Memo1.Text:='';;


Также существует возможность редактирования уже
существующих в списке лекций. В этом случае в пункте меню «Файл» выбрать кнопку
«Открыть», затем отредактировать текст, а для сохранения изменений необходимо
нажать на кнопку «Сохранить».







procedure TForm6.N2Click(Sender:
TObject);.show;.Close;;


Выход осуществляется нажатием на кнопку «Назад».
При нажатии в меню преподавателя кнопки «Назад» открывается главное меню программы.







Структура обучающего теста представлена на
рисунке 27. Все используемых в нашей системе обучающих тесты имеют одинаковую
структуру. Они отличаются лишь тем, что осуществляют работу с разными файлами-вопросниками.


const_k_data_base='Rezultati';_file_data_base='.txt';:
Ttesti;: array of integer; //массив над которым будем извращаться


DataModule2.Vopros.Locate('Номер',mass[nomer],[]);.Variant.First;.Caption:=DataModule2.Variant.FieldValues['Ответ'];DataModule2.Variant.FieldValues['Правильный']=true
then.Tag:=1 else
RadioButton1.Tag:=0;.Obyasnenie.First;.Caption:=DataModule2.Obyasnenie.FieldValues['Объяснение'];DataModule2.Obyasnenie.FieldValues['Правильный']=true
then.Tag:=1 else RadioButton5.Tag:=0;


В данной курсовой работе используется тест,
вопросы которого хранятся в виде таблицы под названием «Вопросы».


Подсчет количества вопросов в тесте:


for i := 0 to GroupBox1.ControlCount-1
do:=TRadioButton(GroupBox1.Controls[i]);RB.Checked=true
then.Caption:=inttostr(strtoint(Label1.Caption)+RB.Tag);;i := 0 to
GroupBox2.ControlCount-1 do:=TRadioButton(GroupBox2.Controls[i]);


Подсчет количества вопросов втесте
осуществляется построчно из таблицы тестов.


datamodule2.ADOTable3.Insert;.ADOTable3.FieldByName('rezultat').Value:=cena;.ADOTable3.FieldByName('fam').Value:=form9.Label2.Caption;.ADOTable3.FieldByName('name').Value:=form9.Label3.Caption;.ADOTable3.FieldByName('group').Value:=form9.Label4.Caption;.ADOTable3.FieldByName('data').Value:=datetostr(date);.ADOTable3.Post;fileexists(put_k_data_base+rasshirenie_file_data_base)
then(file_db,put_k_data_base+rasshirenie_file_data_base);(file_db);(file_db,put_k_data_base+rasshirenie_file_data_base);(file_db);;(file_db,'Имя
'+form9.Label3.Caption);(file_db,'Фамилия
'+form9.Label2.Caption);(file_db,'Группа '+form9.Label4.Caption);(file_db,'Дата
'+datetostr(date));(file_db,'Время '+timetostr(time));(file_db,'Результат
'+cena);(file_db,' ');(file_db);


Результаты сдачи теста заносятся в специальную
таблицу и также сохраняютя в тектовом файле.


if strtoint(Label1.Caption)>16 then:='5'
elsestrtoint(Label1.Caption)>13 then:='4' elsestrtoint(Label1.Caption)>9
then:='3' else:='2';MessageDlg('Набрано баллов '+Label1.Caption+'.'+#13+


'Ваша оценка: '+cena+'!',, [mbYes], 0)=mrYes
then







Программа с клиент - серверной архитектурой
взаимодействует с пользователе через главное меню программы, где пользователю
предлагается войти в систему или зарегистрироваться.


Регистрация - это сохранения данных о
пользователе, таких как имя, фамилия, номер группы, логин, пароль втаблице для
хранения личных данных о студентах.


Вход в систему - ввод логина и пароля.


Данные о пользователе хранятся в таблице, куда и
будут сохраняться данные о ходе его обучения.


После входа в систему перед пользователем
появиться меню, в котором он сможет выбрать свои дальнейшие действия.


Преподаватель может создавать и редактировать
лекции и тесты, которые предлагается пройти студентам. Также преподаватель
устанавливает порядок прохождения тестов. Связь со студентами происходит с
помощью сообщений.


После осуществления выбора пользователь сможет
прочитать полный курс лекций по лданному премету, либо пройти тест. Прохождение
каждого теста осуществляется только один раз.


При прохождении теста пользовательотвечает на
вопросы по конуретному курсу обучения. Информация о студенте и результате сдачи
теста записывается в таблицу и тестовый файл.


Преподаватель проходит идентификацию посредством
ввода пароля, который хранится в специальном массиве. Если пароль введен верно,
то преподаватель переходит в главное меню, где у него имеется возможность:


·       просматривать и редактировать списки
зарегистрированных пользователей;


·       просматривать и удалять результаты
прохождения конкретным пользователем конкретного теста;


·       просматривать и редактировать списки
лекции и тесты.


Разработать программу с клиент - серверной
архитектурой, с помощью которой будет осуществляться связь преподавателя со
студентами и доступ к информации, неоходимой для обучения студентов. Информация
о студентах и результатах сдачи тестов будут храниться в специально отведенной
для этого базе данных.







1.В. П. Алдонин, И. В. Волдайская,
Visual FoxPro 9.0 для студентов ВУЗов. Изд. М. Инфра - М, 2010г., 224 с. с ил.


.Т. В. Мусина, Visual FoxPro 9.0.
Учебный курс - К.: ВЕК+, СПб.: КОРОНА-ВЕК, 2007, 528 с. с ил.


.Т. Л. Омельченко, И.И. Попов,
Самоучитель Visual FoxPro 9.0. Изд. М. Инфра - М, 2009г., 464 с. с ил.


.В. В. Попкова, И. Н. Рогожкина,
Delphi 7.0. Изд. М. Юнити-Дана, 2010 г.,470с.


.А.А. Филимонова, В. П. Малышкин
,Delphi самоучитель. Изд. М. Триумф,2011г., 200с. с ил.







unit Unit1;, Messages, SysUtils, Variants,
Classes, Graphics, Controls, Forms,, StdCtrls;= class(TForm): TGroupBox;:
TRadioButton;: TRadioButton;: TRadioButton;:
TRadioButton;RadioButton1Click(Sender: TObject);RadioButton2Click(Sender:
TObject);RadioButton3Click(Sender: TObject);RadioButton4Click(Sender: TObject);;:
TForm1;DM, DB, testirovanie, Unit2, Unit3,
Unit9;TForm1.RadioButton1Click(Sender:
TObject);.Show;.Button2Click(Sender);.Visible:=false;;TForm1.RadioButton2Click(Sender:
TObject);.Show;.Visible:=false;;TForm1.RadioButton3Click(Sender: TObject);.Show;;TForm1.RadioButton4Click(Sender:
TObject);.Close;.RadioButton2.Enabled:=true;; end.Unit4;, Messages, SysUtils,
Variants, Classes, Graphics, Controls, Forms,, Menus, jpeg, ExtCtrls;=
class(TForm): TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;:
TMenuItem;: TImage;: TMenuItem;N3Click(Sender: TObject);N4Click(Sender:
TObject);N2Click(Sender: TObject);N5Click(Sender: TObject);N6Click(Sender:
TObject);;: TForm4;Unit5, Unit8, Unit11, Unit19;TForm4.N3Click(Sender:
TObject);.hide;.show;;TForm4.N4Click(Sender:
TObject);.show;.Hide;;TForm4.N2Click(Sender:
TObject);application.MessageBox('Вы действительно хотите выйти? ',


'Выход',mb_iconQuestion+mb_yesno)=idyes
then.Close;;TForm4.N5Click(Sender: TObject);.Hide;.show;;TForm4.N6Click(Sender:
TObject);.Show;;.Unit5;, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,, jpeg, ExtCtrls, Mask, StdCtrls;= class(TForm): TGroupBox;:
TLabel;: TEdit;: TMaskEdit;: TImage;: TImage;: TImage;:
TLabel;Image1Click(Sender: TObject);Image2Click(Sender: TObject);Label2Click(Sender:
TObject);MaskEdit1KeyPress(Sender: TObject; var Key:
Char);Image1MouseDown(Sender: TObject; Button: TMouseButton;: TShiftState; X,
Y: Integer);Image1MouseUp(Sender: TObject; Button: TMouseButton;: TShiftState;
X, Y: Integer);Image2MouseDown(Sender: TObject; Button: TMouseButton;:
TShiftState; X, Y: Integer);Image2MouseUp(Sender: TObject; Button:
TMouseButton;: TShiftState; X, Y: Integer);;: TForm5;DM, Unit1, Unit6, Unit4,
Unit7, Unit9;TForm5.Image1Click(Sender: TObject);:integer;form5.MaskEdit1.Text=''
then begin(Handle,PChar('Введите пароль!'),PChar('Внимание'),
MB_ICONWARNING+MB_DEFBUTTON2);; end(form5.MaskEdit1.Text='') or
(form5.MaskEdit1.Text<>datamodule2.ADOTable2key2.text)
then.Text:=edit1.Text+'a';edit1.Text='a' then begin MessageBox(Handle,PChar('Пароль
введен не верно! У Вас осталось две попытки'),PChar('Ошибка'),
MB_ICONWARNING+MB_DEFBUTTON2);.clear;;edit1.Text='aa' then begin
MessageBox(Handle,PChar('Пароль введен не верно! У Вас осталось одна
попытка'),PChar('Ошибка'), MB_ICONWARNING+MB_DEFBUTTON2);.clear;;edit1.Text='aaa'
then begin MessageBox(Handle,PChar('Пароль 3 раза был введен не
верно!'),PChar('Ошибка'), MB_ICONWARNING+MB_DEFBUTTON2);.hide;.show;;
end;(form5.MaskEdit1.Text=datamodule2.ADOTable2key2.text) then.show;.Hide;.MaskEdit1.Clear;;
end;TForm5.Image2Click(Sender:
TObject);.Show;.Close;;TForm5.Label2Click(Sender:
TObject);.show;.Close;;TForm5.MaskEdit1KeyPress(Sender: TObject; var Key:
Char);:integer;not(key in['0'..'9',#9,#13]) then key:=#13; begin;Key = #13 then
beginform5.MaskEdit1.Text='' then begin(Handle,PChar('Введите
пароль!'),PChar('Внимание'), MB_ICONWARNING+MB_DEFBUTTON2);;
end(form5.MaskEdit1.Text='') or
(form5.MaskEdit1.Text<>datamodule2.ADOTable2key2.text)
then.Text:=edit1.Text+'a';edit1.Text='a' then begin
MessageBox(Handle,PChar('Пароль введен не верно! У Вас осталось две
попытки'),PChar('Ошибка'),
MB_ICONWARNING+MB_DEFBUTTON2);.clear;;edit1.Text='aa' then begin
MessageBox(Handle,PChar('Пароль введен не верно! У Вас осталось одна
попытка'),PChar('Ошибка'),
MB_ICONWARNING+MB_DEFBUTTON2);.clear;;edit1.Text='aaa' then begin
MessageBox(Handle,PChar('Пароль 3 раза был введен не верно!'),PChar('Ошибка'),
MB_ICONWARNING+MB_DEFBUTTON2);.hide;.show;;
end;(form5.MaskEdit1.Text=datamodule2.ADOTable2key2.text) then.show;.Hide;.MaskEdit1.Clear;;
end; end;TForm5.Image1MouseDown(Sender: TObject; Button: TMouseButton;:
TShiftState; X, Y: Integer);.Left := Image1.Left + 1; Image1.Top := Image1.Top
+ 1;;TForm5.Image1MouseUp(Sender: TObject; Button: TMouseButton;: TShiftState;
X, Y: Integer);.Left := Image1.Left - 1; Image1.Top := Image1.Top -
1;;TForm5.Image2MouseDown(Sender: TObject; Button: TMouseButton;: TShiftState;
X, Y: Integer);.Left := Image2.Left + 1; Image2.Top := Image2.Top +
1;;TForm5.Image2MouseUp(Sender: TObject; Button: TMouseButton;: TShiftState; X,
Y: Integer);.Left := Image2.Left - 1; Image2.Top := Image2.Top - 1;;.


Unit6;, Messages, SysUtils, Variants
Похожие работы на - Разработка прикладной программы на основе архитектуры 'клиент – сервер' Курсовая работа (т). Информационное обеспечение, программирование.
Сочинение по теме Стихотворение Н. А. Некрасова “Элегия”
Реферат: Доходы и расходы будущих периодов бухгалтерского учета
Курсовая работа по теме Государствоподобные образования как субъекты международного права
План Написания Сочинения 7 Класс
Сочинение На Тему Семья 5 Класс
Научная Проблема Реферат
Курсовая работа по теме Игровые методы обучения иностранным языкам
Реферат: Tv Violence In America Essay Research Paper
Реферат: Учет расчетов с поставщиками и подрядчиками 11
Реферат по теме Общий порядок исправления ошибок
Курсовая работа: Договор на выполнение работ (подряд) (на основе материалов УП "Минский вагоноремонтный завод им. А.Ф. Мясникова")
Напишите Сочинение На Одну Из Предложенных Тем
Опасные Геологические Процессы Реферат
Характеристика Прохождения Практики В Организации
Дневник Практики Детское
Рефераты: На английском языке
Реферат по теме Атомно-молекулярное учение
Курсовая работа: Подбор материала для пошива платья
Показательная Функция Контрольная Работа 11 Класс
Контрольная работа по теме Расчет доменной шихты
Реферат: Hume Vs Kant Essay Research Paper Hume
Реферат: Взаимодействие биологического и социогуманитарного знания при изучении антропосоциогенеза
Курсовая работа: Особенности уголовной ответственности и наказания несовершеннолетних

Report Page