Автоматизированное рабочее место психолога для психологической диагностики

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

KeyValue+1));

test.ADOQuery1.Active:=true;.Caption:= test.ADOQuery1.Fields[2].AsString;.KeyValue:=DBLookupListBox1.KeyValue+1;DBLookupListBox1.KeyValue = 98 then.Visible:=false;.Show;.ADOQuery1.SQL.Clear;.ADOQuery1.SQL.Add(INSERT INTO Student (Gruppa,Istud,Fstud,Data,Otvet) VALUES("+Gruppa+","+Istudent+","+Fstudent+","+TimeToStr(Now)+","+Otvet+"));.ADOQuery1.ExecSQL;.Show;.Visible:=false;;:=0;

.

.

.:=0;:=0;(Otvet,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,pusto);

end;

После окончания прохождения теста открывается форма Graf. При ее открытии строится график по ниже приведенному коду.

procedure TGraf.FormShow(Sender: TObject);,x,i:integer;

begin

/////////////////////////по оси Х///////////////////////////////////////////////:=57;

x:=60;i:=1 to 10 do.Canvas.TextOut(tx,365,IntToStr(i));.Canvas.MoveTo(x,364);.Canvas.LineTo(x,366);:=tx+60;:=x+60;;:=y5;

/////////////////////////по оси Y///////////////////////////////////////////////:=365;i:=0 to 24 do.Canvas.TextOut(13,tx,IntToStr(i));.Canvas.MoveTo(8,tx);.Canvas.LineTo(11,tx);:=tx-15;;.Canvas.MoveTo(10,2);.Canvas.LineTo(10,367);.Canvas.MoveTo(620,364);.Canvas.LineTo(5,364);

///////////////////1.Canvas.Ellipse(57,362-y1*15,63,368-y1*15);.Canvas.MoveTo(60,365-y1*15);.Canvas.LineTo(120,365-y2*15);

///////////////////2.Canvas.Ellipse(117,362-y2*15,123,368-y2*15);.Canvas.MoveTo(120,365-y2*15);.Canvas.LineTo(180,365-y3*15);

.

.

..Canvas.Ellipse(537,362-y9*15,543,368-y9*15);.Canvas.MoveTo(540,365-y9*15);.Canvas.LineTo(600,365-y10*15);.Canvas.Ellipse(597,362-y10*15,603,368-y10*15);.Caption:=IntToStr(y1)+ -Гипертермичный;

.

.

..Caption:=IntToStr(y10)+ -Экзальтированный;;TGraf.FormKeyDown(Sender: TObject; var Key: Word;: TShiftState);key = vk_f1 then(0,Open,pchar(Help.chm),nil,nil,1);

end;

Для загрузки описания типа был создан следующий код..Show;.Label2.Caption:=Гипертеримичный тип;

test.ADOQuery1.SQL.Clear;.ADOQuery1.SQL.Add(select * from Tipe where key = 5);.ADOQuery1.Active:=true;.Label1.Caption:= test.ADOQuery1.Fields[1].AsString;

Что бы скрыть или показ сетку используется перерисовка графика с настройками типа и цвета линий.

Построение графика:TGraf.N14Click(Sender: TObject);,x,i:integer;:=57;:=60;.Canvas.Pen.Style:=psSolid;.Canvas.Pen.Color:=clWhite;i:=1 to 10 do.Canvas.MoveTo(x,362);.Canvas.LineTo(x,10);:=tx+60;:=x+60;;:=365;i:=0 to 24 do.Canvas.MoveTo(600,tx);.Canvas.LineTo(12,tx);:=tx-15;;

////////////////////.Canvas.Pen.Color:=clBlack;.Canvas.MoveTo(10,2);.Canvas.LineTo(10,367);.Canvas.MoveTo(620,364);.Canvas.LineTo(5,364);.Canvas.TextOut(2,365,0);

///////////////////1.Canvas.Ellipse(57,362-y1*15,63,368-y1*15);.Canvas.MoveTo(60,365-y1*15);.Canvas.LineTo(120,365-y2*15);

///////////////////2.Canvas.Ellipse(117,362-y2*15,123,368-y2*15);.Canvas.MoveTo(120,365-y2*15);.Canvas.LineTo(180,365-y3*15);

.

.

.

///////////////////9.Canvas.Ellipse(537,362-y9*15,543,368-y9*15);.Canvas.MoveTo(540,365-y9*15);.Canvas.LineTo(600,365-y10*15);.Canvas.Ellipse(597,362-y10*15,603,368-y10*15);.Checked:=true;.Checked:=false;;

Скрытие графика:TGraf.N15Click(Sender: TObject);,x,i:integer;:=57;:=60;.Canvas.Pen.Style:=psDot;i:=1 to 10 do.Canvas.MoveTo(x,362);.Canvas.LineTo(x,10);:=tx+60;:=x+60;;:=365;i:=0 to 24 do.Canvas.MoveTo(600,tx);.Canvas.LineTo(12,tx);:=tx-15;;.Checked:=false;.Checked:=true;

end;

Для того что бы вывести график на печать исполняется следующий код:

procedure TGraf.N16Click(Sender: TObject);: TRect;:= Rect(0,0,1000,1000);printer do;.StretchDraw(MyRect,Image1.Picture.Graphic);

EndDoc;;;

Рассмотрим режим преподавателя. Он начинается с аутентификации.TNastroika.Button1Click(Sender: TObject);(Edit1.Text=1) and (Edit2.Text=1) then.Show;.Visible:=false;else MessageBox(0, Не верный логин или пароль, Error, mb_Right);

end;

Главная форма Redaktor состоит из списка студентов и дополнительных понелей.

При двойном клике на одну из записей производится подсчет ответа студента и строится график.

procedure TRedaktor.DBGrid1DblClick(Sender: TObject);:string;: array [1..97] of char;:integer;:=DBGrid1.DataSource.DataSet.FieldByName(Otvet).AsString;i:=1 to 97 do[i]:=perem[i];;(Otvet,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11);

PGraf.Show;;

При нажатии на запись появляется Panel1.

procedure TRedaktor.DBGrid1CellClick(Column: TColumn);:string;: array [1..97] of char;:integer;.Visible:=true;.Visible:=false;.Visible:=false;.Visible:=false;:=0;

.

.

.:=0;:=DBGrid1.DataSource.DataSet.FieldByName(Otvet).AsString;i:=1 to 97 do[i]:=perem[i];;(Otvet,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11);.Caption:=DBGrid1.DataSource.DataSet.FieldByName(Istud).AsString;.Caption:=DBGrid1.DataSource.DataSet.FieldByName(Fstud).AsString;.Caption:=DBGrid1.DataSource.DataSet.FieldByName(Gruppa).AsString;.Caption:=DBGrid1.DataSource.DataSet.FieldByName(Data).AsString;.Caption:=- Гипертермичный + IntToStr(y1)+ б.;.Caption:=- Эмотивный + IntToStr(y2)+ б.;

.

.

..Caption:=- Ложь + IntToStr(y11)+ б.;1:=0;

.

.

.

y11:=0;

end;

На Panel2 расположено добавление в таблицу групп. Добавление производится нажатием кнопки Добавить (Button3).

procedure TRedaktor.Button2Click(Sender: TObject);.ADOQuery1.SQL.Clear;.ADOQuery1.SQL.Add(INSERT INTO Grupp (Gruppa) VALUES("+Edit1.Text+"));.ADOQuery1.ExecSQL;(Запись была успешно добавлена);;

Panel3 - панель для изменения записей в таблице Gruppa.

Redaktor.ADOQuery1.SQL.Clear;.ADOQuery1.SQL.Add(UPDATE Grupp Set Gruppa ="+Edit2.Text+" WHERE key =+IntToStr(DBLookupComboBox1.KeyValue));.ADOQuery1.ExecSQL;(Запись была успешно изменена);

Panel4 - панель для удаления записей.

Redaktor.ADOQuery1.SQL.Clear;.ADOQuery1.SQL.Add(UPDATE Grupp Set Gruppa ="+Edit2.Text+" WHERE key =+IntToStr(DBLookupComboBox1.KeyValue));.ADOQuery1.ExecSQL;(Запись была успешно изменена);

Графики не имеют значительных отличий кроме 11 шкалы Ложь.

 

.1.3 Отладка программы и анализ результатов

Для отладки программы использовались следующие этапы:

1)Отладка самим компилятором. В ходе выполнения работы компилятор часто указывает ошибки в синтаксисе.

2)Анализ кода без использования программы. Поиск причин возникновения дефекта в программе.

)Анализ поведения системы. Анализировалась система, изолировалась проблема и после чего, упрощался код программы.

)Выполнение программы на разных компьютерах. Это помогло выявить не правильное расположение окон программы на экране, размеры шрифта и т.п.

)В основном заказчик часто менял интерфейс программы и предлагал нововведения.

 

.2 Руководство пользователя

 

Общие сведения

Автоматизированное рабочее место психолога для психологической диагностики представляет из себя программу с двумя подпрограммами. Первая программа это тес по выявлению акцентуаций типа человека. Вторая автоматизированное рабочее место психолога. Данная программа распространяется для Windows.

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

Для начала работы с программой не нужно устанавливать сторонних программ. Данное прил