close

Вход

Забыли?

вход по аккаунту

?

код в2

код для вставкиСкачать
procedure TAnketa.yesClick(Sender : TObject);
var
S : TStringList;
j : integer;
otv_cost : array[0..1] of integer;
begin
otv_cost[0]:= 0;
if nomer <> -1 then
begin
if variant.ItemIndex = -1 then
begin
ShowMessage('Вы не выбрали ответ!');
exit;
end;
voprosi[nomer].vopr := ask.Text;
voprosi[nomer].otv := variant.Items[variant.ItemIndex];
otv_sum := otv_sum + StrToInt(voprosi[nomer].otv_cost[variant.ItemIndex + 1]);
end;
Inc(nomer);
if nomer <= high(voprosi) then
begin
s := TStringList.Create;
s.Delimiter := '|';
s.DelimitedText := voprosi[nomer].path;
title.Caption := 'Вопрос номер ' + IntToStr(nomer + 1);
ask.Text := s[0];
voprosi[nomer].otv_cost := s[s.count - 1];
s.Delete(0);
s.Delete(s.Count-1);
variant.Items.Clear;
variant.Items.AddStrings(s);
s.Free;
end
else
begin
gotovo.Visible := True;
end;
end;
procedure TAnketa.gotovoClick(Sender : TObject);
var
T : TextFile;
i : integer;
p, s, otv : string;
begin
i := 0;
p := ExtractFilePath(application.ExeName);
assignfile(T, p + 'ответы 1.txt');
if not FileExists(p+ 'ответы 1.txt') then
begin
Rewrite(T);
Append(T);
Write(T,memo2.Text);
Flush(T);
end;
reset(T);
repeat
readln(T, s);
s := Trim(s);
if s <> '' then
begin
SetLength(otveti, i + 1);
otveti[i].min := strtointdef(trim(copy(s, 1, pos('=', s) - 1)), -1);
otveti[i].otv := trim(copy(s, pos('=', s) + 1, length(s) - (pos('=', s))));
Inc(i);
end;
until EOF(T);
closefile(T);
otv := '';
for i := 0 to high(otveti) do
if otveti[i].min <= otv_sum then
otv := otveti[i].otv;
variant.Hide;
title.Caption := 'Вы набрали ' + IntToStr(otv_sum) + ' бала(ов).';
ask.Text := otv;
AssignFile(T,p + 'результат.txt');
if not FileExists(p+ 'результат.txt') then
begin
Rewrite(T);
CloseFile(T);
end;
Append(T);
Writeln(T,userName + #13#10 + 'За тест по логике набрал(а) ' + IntToStr(otv_sum) + ' балла(ов).' + #13#10 + otv + #13#10 + DateToStr(Now)+' '+TimeToStr(Now));
Flush(T);
CloseFile(T);
end_test.Show;
end;
procedure TAnketa.FormShow(Sender: TObject);
var
T : TextFile;
s, p, n : string;
i, j : integer;
begin
ask.Text := 'Для выполнения теста выберите один из предложенных ниже вариантов ответа.';
i := 0;
SetLength(voprosi, 1);
p := ExtractFilePath(application.ExeName);
// Читаем вопросы из текстового файла
assignfile(T, p + 'вопросы 1.txt');
if not FileExists(p+ 'вопросы 1.txt') then
begin
Rewrite(T);
Append(T);
Write(T,memo1.Text);
Flush(T);
end;
reset(T);
repeat
readln(T, s);
s := Trim(s);
if (s <> '') then
begin
if (s <> '>') then
begin
if voprosi[i].path <> '' then
voprosi[i].path := voprosi[i].path + '|"' + s + '"'
else
voprosi[i].path := '"' + s + '"';
end
else
begin
Inc(i);
setlength(voprosi, i + 1);
end;
end;
until EOF(T);
if voprosi[i].path = '' then
setlength(voprosi, i);
closefile(T);
end;
procedure TTesting.nextvopr(Sender : TObject);
var
ok : boolean;
begin
// Следующий вопрос
if nomer <> -1 then
begin
// Даеться ли бал за ответ?
ok := ((voprosi[nomer].yes1) and ((Sender as TButton).Name = 'yes')) or
((not voprosi[nomer].yes1) and ((Sender as TButton).Name = 'no'));
if ok then
Inc(bal);
end;
if nomer < high(voprosi) then
begin
Inc(nomer);
ask.Text := voprosi[nomer].vop;
title.Caption := 'Вопрос номер ' + IntToStr(nomer + 1);
end
// Вопросы закончились
else
begin
res.Visible := True;
end;
end;
procedure TTesting.resClick(Sender : TObject);
var
T : TextFile;
i : integer;
otv,p : string;
begin
otv := '';
// Поиск ключа
for i := 0 to high(otveti) do
if otveti[i].min <= bal then
otv := otveti[i].otv;
title.Caption := 'Вы набрали ' + IntToStr(bal) + ' балов.';
ask.Text := otv;
AssignFile(T,p + 'результат.txt');
if not FileExists(p+ 'результат.txt') then
begin
Rewrite(T);
CloseFile(T);
end;
Append(T);
Writeln(T,userName + #13#10 + 'По тесту на мотивацию набрал ' + IntToStr(bal) + ' балла(ов).' + #13#10 + otv + #13#10 + DateToStr(Now)+' '+TimeToStr(Now));
Flush(T);
CloseFile(T);
res.Hide;
zan.Show;
end;
procedure TTesting.FormShow(Sender: TObject);
var
T : TextFile;
s, p, n : string;
i : integer;
begin
i := 0;
p := ExtractFilePath(application.ExeName);
// Читаем вопросы из текстового файла
assignfile(T, p + 'вопросы 2.txt');
if not FileExists(p+ 'вопросы 2.txt') then
begin
Rewrite(T);
Append(T);
Write(T,memo1.Text);
Flush(T);
end;
reset(T);
repeat
readln(T, s);
s := Trim(s);
if s <> '' then
begin
SetLength(voprosi, i + 1);
voprosi[i].yes1 := s[1] = '1';
voprosi[i].vop := trim(copy(s, 2, length(s) - 1));
Inc(i);
end;
until EOF(T);
closefile(T);
// Читаем ответы из текстового файла
assignfile(T, p + 'ответы 2.txt');
if not FileExists(p+ 'ответы 2.txt') then
begin
Rewrite(T);
Append(T);
Write(T,memo2.Text);
Flush(T);
end;
reset(T);
repeat
readln(T, s);
s := Trim(s);
if s <> '' then
begin
SetLength(otveti, i + 1);
otveti[i].min := strtointdef(trim(copy(s, 1, pos('=', s) - 1)), -1);
otveti[i].otv := trim(copy(s, pos('=', s) + 1, length(s) - (pos('=', s))));
Inc(i);
end;
until EOF(T);
closefile(T);
nextvopr(nil);
end;end.
Документ
Категория
Разное
Просмотров
16
Размер файла
20 Кб
Теги
код
1/--страниц
Пожаловаться на содержимое документа