Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 25.10.2010
Сообщений: 56
1

Запись результата тестирования в файл

02.06.2011, 09:01. Показов 762. Ответов 2
Метки нет (Все метки)

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
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(application.ExeName)+TestName+inttostr(i)+'.txt') do  // проверяем файлы тестов
  begin
  application.ProcessMessages;  // что б не тормозило
  s:=tstringlist.Create;        // создаем переменную
  s.LoadFromFile(ExtractFilePath(application.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(application.ExeName)+TestName+inttostr(Index)+'.txt'); // загружаем
    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.


Очень нужна ваша помощь... ЧТО ДОПИСАТЬ(какую процедуру) ЧТОБЫ РЕЗУЛЬТАТ ЗАПИСЫВАЛСЯ В БД,
0

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

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2011, 09:01
Ответы с готовыми решениями:

Запись результата с Memo в файл.
Есть программа. При начале ее работы нужно через InputBox ввести имя игрока. после завершения ее...

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

Запись результата в файл
Доброе время суток! При записи результата в файл - ошибки. Уже рандомить стал с разных вариаций и...

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

2
5576 / 2182 / 456
Регистрация: 20.11.2009
Сообщений: 7,265
Записей в блоге: 1
02.06.2011, 12:19 2
во первых выбрать в какой бд будешь все хранить, то есть в какой именно системе, потом нужно подключение, запись и тому подобное, разбираться долго, если ни разу не работал с БД. Я бы смог все по полочкам тебе расписать что и как, только вот прогу делаю свою
0
1383 / 1154 / 215
Регистрация: 04.04.2011
Сообщений: 4,018
02.06.2011, 13:08 3
Ну, если "базой" гордо называете текстовик..
Чтобы данные сохранялись "взад", т.е. в "базу", надо написать соответственно две процедуры:
SaveTest - для сохранения рез-тов тестирования,
SaveQuestion - для сохранения измененных/добавленных вопросов
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.06.2011, 13:08

Запись в файл результата
доброе утро :) помогите пожалуйста с записью в файл. вот код, но что-то у меня не получается((((...

Запись последовательности и результата в файл
Возникла банальная проблема, с паскалем работать начал не так давно, и не работал ранее с файлами....

Запись результата выполнения в файл
Приветствую Вас, уважаемые коллеги и участники форума. Имеется батник для создания бэкапов: @echo...

Запись результата в текстовый файл
Есть цикл for внутри кого есть условие if, нужно чтобы когда срабатывало условие данные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.