![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 21.05.2011
Сообщений: 3
|
![]()
const
TestName='Test_'; // имя файла теста max=1000; // максимальное количесво вопросов var Form1: TForm1; QuestionText: array [0..max] of string; // текст вопроса AnswerQuestion: array [0..max] of byte; // правильный вариант ответа QuestionText1: array [0..max] of string;// первый вопрос QuestionText2: array [0..max] of string;// второй вопрос QuestionText3: array [0..max] of string;// третий вопрос Ball: integer=0; // оценка now: integer=0; // текущий вопрос implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin if AnswerQuestion[now]=AnswerGroup.ItemIndex+1 then // сравниваем значение ответа и выбранного значения inc(ball); AnswerGroup.ItemIndex:=-1; // убираем выдаление с группы ответов inc(now); // увеличиваем вопрос на 1+ LoadQuestion(now); // загружаем его end; procedure TForm1.FormCreate(Sender: TObject); var s: Tstrings; i: Integer; begin i:=0; while FileExists(ExtractFilePath(applicat ion.ExeName)+TestName+inttostr(i)+' .txt') do // проверяем файлы тестов begin application.ProcessMessages; // что б не тормозило s:=tstringlist.Create; // создаем переменную s.LoadFromFile(ExtractFilePath(appl ication.ExeName)+TestName+inttostr( i)+'.txt') ; // загружаем файл if s.Text<>'' then // если не пуст то TestBox.Items.Add(s.Strings[0]); // добавляем в группу тестов название теста s.Free; // уничтожаем переменную inc(i); // увеличиваем счетчик end; end; procedure TForm1.LoadTest(Index: integer); // загружаем выбранный тест var s: Tstrings; j, h: Integer; begin h:=0; s:=tstringlist.Create; // создаем переменную s.LoadFromFile(ExtractFilePath(appl ication.ExeName)+TestName+inttostr( Index)+'.t xt'); // загружаем if s.Text<>'' then // если не пустая то begin form1.Caption:=s.Strings[0]; // название теста for j := 1 to s.Count - 1 do // начинаем присваивать значения begin if s.Strings[j]='__________' then // это разделитель который мы ищем begin QuestionText[h]:=s.Strings[j+1]; // текст вопроса QuestionText1[h]:=s.Strings[j+2];// текст первого вариант ответа QuestionText2[h]:=s.Strings[j+3];// текст второго варианта ответа QuestionText3[h]:=s.Strings[j+4];// текст третьего варианта ответа AnswerQuestion[h]:=strtoint(s.Strings[j+5]); // номер ответа inc(h); // увеличиваем счетчик для того что бы записывать в новый элемент массива end; end; end; s.Free; // уничтожаем переменную LoadQuestion(now);// загружаем вопрос здесь он всегда = 0 end; procedure TForm1.TestBoxCloseUp(Sender: TObject); begin // при выборе теста обнуляем все значения ball:=0; now:=0; button1.Enabled:=true; LoadTest(TestBox.ItemIndex);// загружаем выбранный тест end; procedure TForm1.LoadQuestion(Index: integer); begin if QuestionText[Index]<>'' then// если выбранный вопрос существует то грузим его begin AnswerGroup.Items.Clear;// очищаем поле ответов Question.Caption:=QuestionText[Index];// задаем запрос AnswerGroup.Items.Add(QuestionText1[index]);// добавляем ответы AnswerGroup.Items.Add(QuestionText2[index]); AnswerGroup.Items.Add(QuestionText3[index]); end else // иначе сообщаем что тест завершен begin showmessage('Тест завершен'+#13+'Правильных ответов: '+inttostr(ball)); // сообщение что типа тест окончен и выдаем количесво правильных ответов button1.Enabled:=false; // делаем неактивной кнопку что бы не тыкали end; end; procedure TForm1.BitBtn1Click(Sender: TObject); begin Close; end; end. ЦЕЛЬ: 1) как сделать так, чтобы задавалось четыре варианта ответа, а не три; 2) как сделать так, чтобы в конце теста выводилась оценка за тестирование; 3) если возможно чтобы оценка записывалась в базу данных(БД уже создана) |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Оформи правильно тему. Нечитабельный код - 40% того что тебе никто не ответит.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
программа тестирования My Test | qwer12 | Помощь студентам | 0 | 08.12.2010 15:44 |
Программа тестирования дисковода | swatkiev | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 11 | 13.09.2010 22:51 |
Программа тестирования | dani92 | Общие вопросы Delphi | 5 | 26.01.2010 11:05 |
Помогите разобраться в коде | fate | Общие вопросы по Java, Java SE, Kotlin | 5 | 17.03.2009 22:10 |
Программа Тестирования. | Spiker01 | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 06.01.2009 13:14 |