Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 14.06.2015
Сообщений: 2

Как сохранять результаты теста в Delphi

17.06.2015, 07:55. Показов 774. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
unit Unit5;
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,DateUtils, ExtCtrls;
 
type
  TFormTest = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    RadioGroup1: TRadioGroup;
    Button2: TButton;
    Memo1: TMemo;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure GenerateNewQ;
    procedure GenerateResult;
  end;
 
 type
  TQ = record
   que,v1,v2,v3,v4: String;
   r: Integer;
   ball: Integer;
  end;
  
const
 Q = 'Âîïðîñ ';
 O_k = 'Ïðàâèëüíî';
 No_ = 'Íåâåðíî';
 _of = ' èç ';
 win2 = 'Ðåçóëüòàòû';
 win1 = 'Ïðàâèëüíûõ îòâåòîâ ';
 win3 = 'Âàøà îöåíêà ';
 win4 = '×òî ñîñòàâèëî ';
 lost2 = 'Íåâåðíî';
 lost1 = 'Âû íå ïðîøëè òåñò';
 oc5 ='5';
 oc4 ='4';
 oc3 ='3';
 oc2='2';
 xd = 25;
 
 test: array [0..xd-1] of TQ = (
 (que:' Îñíîâíûå âèäû ìîäåëåé â ñèñòåìå ïðåäñòàâëåíèÿ çíàíèé'; v1:'ñèñòåìà ïðîäóêöèé'; v2:'äîìåííàÿ ñèñòåìà'; v3:' ôðåéìû'; v4:' ñåìàíòè÷åñêèå ñåòè'; r: 2; ball: 1),
 (que:'Ïîä ôðåéìîì â ñèñòåìå ïðåäñòàâëåíèÿ çíàíèé ïîíèìàþò'; v1:'åäèíèöà ïðåäñòàâëåíèÿ çíàíèé'; v2:'íàáîð ïðàâèë'; v3:'íàáîð ôàêòîâ'; v4:'íàáîð óñëîâèé'; r: 0; ball: 1),
 (que:'Ñèñòåìû ïðîäóêöèé â ñèñòåìå ïðåäñòàâëåíèÿ çíàíèé ýòî'; v1:'ñâîéñòâà îáúåêòîâ ïðåäìåòíîé îáëàñòè'; v2:'ëîãè÷åñêàÿ ñòðóêòóðà áàçû çíàíèé'; v3:' íàáîð ïðàâèë, èñïîëüçóåìûõ êàê áàçà çíàíèé '; v4:' çàòðóäíÿþñü îòâåòèòü'; r: 2; ball: 1),
 (que:'Ñåìàíòè÷åñêèå ñåòè â  ñèñòåìå ïðåäñòàâëåíèÿ çíàíèé ýòî'; v1:'ãðàô, äóãè êîòîðîãî – îòíîøåíèÿ ìåæäó çíà÷åíèÿìè'; v2:'òàáëèöà ïðàâèë'; v3:'òîïîëîãèÿ ñåòè ÑÏÇ'; v4:'çàòðóäíÿþñü îòâåòèòü'; r: 0; ball: 1),
 (que:'Ýêñïåðòíàÿ ñèñòåìà ýòî'; v1:'áàçà äàííûõ ïî îïðåäåëåííîé ïðåäìåòíîé îáëàñòè'; v2:' ïðîãðàììà, êîòîðàÿ èñïîëüçóÿ çíàíèÿ ýêñïåðòîâ ïî íåêîòîðîé ïðåäìåòíîé îáëàñòè, ñïîñîáíà ïðèíèìàòü ðåøåíèÿ'; v3:'îáó÷àþùàÿ ñèñòåìà ïî îïðåäåëåííîé ïðåäìåòíîé îáëàñòè'; v4:'çàòðóäíÿþñü îòâåòèòü'; r: 1; ball: 1),
 (que:'Ñòðóêòóðà ýêñïåðòíîé ñèñòåìû íå âêëþ÷àåò'; v1:' èíòåðôåéñ ïîëüçîâàòåëÿ'; v2:'ëîêàëüíàÿ ñåòü'; v3:'áàçà çíàíèé'; v4:'ïîäñèñòåìà ëîêàëüíîãî âûâîäà'; r: 1; ball: 1),
 (que:'Íå ñïîñîá êëàññèôèêàöèè ýêñïåðòíûõ ñèñòåì'; v1:'ïî íàçíà÷åíèþ'; v2:'ïî òèïó èñïîëüçîâàíèÿ'; v3:'ïî ñëîæíîñòè ðåøàåìûõ çàäà÷'; v4:'ïî âèäó îáó÷åíèÿ'; r: 3; ball: 1),
 (que:'Ïî ñòåïåíè çàâèñèìîñòè îò âíåøíåé ñðåäû âûäåëÿþò ýêñïåðòíûå ñèñòåìû'; v1:'íåäèíàìè÷åñêèå'; v2:'ëîãè÷åñêèå'; v3:'ñòàòè÷åñêèå'; v4:'çàòðóäíÿþñü îòâåòèòü'; r: 2; ball: 1),
 (que:'Êàêèì ñïîñîáîì ìîæåò áûòü îïèñàíà ñòðóêòóðà ëîãè÷åñêîãî âûâîäà?'; v1:'â âèäå îðèåíòèðîâàííîãî ãðàôà'; v2:'â âèäå ìîäåëè íåòî÷íîãî âûâîäà'; v3:'â âèäå ñåìàíòè÷åñêîé êîíñòðóêöèè'; v4:'â âèäå íàáîðà ïðàâèë'; r: 2; ball: 1),
 (que:'Êàêàÿ ìîäåëü ïðåäñòàâëåíèÿ çíàíèé îñíîâàíà íà òåîðèè Ì.Ìèíñêîãî?'; v1:'ëîãè÷åñêàÿ'; v2:'ýêñïåðòíàÿ'; v3:'ôðåéìîâàÿ'; v4:'ôèçè÷åñêàÿ'; r: 2; ball: 1),
 (que:'Êàêàÿ ïåðåìåííàÿ íå îòíîñèòñÿ ê íå÷¸òíûì?'; v1:'èìÿ '; v2:'ìíîæåñòâî'; v3:'îáëàñòü îïðåäåëåíèÿ'; v4:'ôóíêöèÿ'; r: 3; ball: 1),
 (que:'Êàêàÿ ïåðåìåííàÿ íå îòíîñèòñÿ ê ëîãè÷åñêèì'; v1:'èìÿ'; v2:'ìíîæåñòâî èìåí'; v3:'íàáîð ôàêòîâ'; v4:'ìíîæåñòâî ôóíêöèé'; r: 2; ball: 1),
 (que:'Íå âõîäèò â òèïè÷íûå ìîäåëè ïðåäñòàâëåíèÿ çíàíèé êîãíèòèâíîãî íàïðàâëåíèÿ'; v1:'ïðîäóêöèîííàÿ ìîäåëü'; v2:'ñåìàíòè÷åñêàÿ ñåòü'; v3:'ôðåéìîâàÿ ìîäåäü'; v4:'ëîãè÷åñêàÿ ìîäåëü'; r: 3; ball: 1),
 (que:'ßçûê ëîãè÷åñêîãî ïðîãðàììèðîâàíèÿ?'; v1:'Prolog'; v2:'Delphi'; v3:'Lisp'; v4:'Java'; r: 0; ball: 1),
 (que:'Íà êàêîé ìîäåëè ÑÏÇ îñíîâàíà Áàéåñîâñêàÿ ñèñòåìà ëîãè÷åñêîãî âûâîäà?'; v1:'ñèñòåìà ãðàôîâ'; v2:'ìîäåëü íåòî÷íîãî âûâîäà'; v3:'íàáîð ïðàâèë è ôàêòîâ'; v4:'çàòðóäíÿþñü îòâåòèòü'; r: 1; ball: 1),
 (que:'Êàê Prolog ðàçëè÷àåò èìåíà ïåðåìåííûõ è êîíñòàíò?'; v1:'èìåíà ïåðåìåííûõ äîëæíû íà÷èíàòüñÿ ñ ïðîïèñíîé áóêâû, à èìåíà êîíñòàíò - ñî ñòðî÷íîé'; v2:'èìåíà êîíñòàíò íà÷èíàþòñÿ ñî çíàêà _'; v3:'èìåíà ïåðåìåííûõ ñ çàãëàâíîé áóêâû'; v4:'çàòðóäíÿþñü îòâåòèòü'; r: 0; ball: 1),
 (que:'Ïðîãðàììà íà ÿçûêå Prolog íå âêëþ÷àåò ðàçäåë:'; v1:'constants'; v2:'domains'; v3:'tipe'; v4:'predicates'; r: 2; ball: 1),
 (que:'Äëÿ ÷åãî èñïîëüçóåòñÿ ðàçäåë Goal?'; v1:'îïèñàíèå ïðàâèë'; v2:'îïðåäåëåíèå öåëåé'; v3:'çàäàíèÿ òèïîâ äàííûõ'; v4:'çàòðóäíÿþñü îòâåòèòü'; r: 1; ball: 1),
 (que:'Äîìåíû íå áûâàþò:'; v1:'ïðîñòûå'; v2:'ëîãè÷åñêèå'; v3:'ñòðóêòóðèðîâàííûå'; v4:'ñòàíäàðòíûå'; r: 1; ball: 1),
 (que:'Ñðåäñòâîì óïðàâëåíèÿ ïðîöåññîì âû÷èñëåíèÿ â Prolog íå ÿâëÿåòñÿ:'; v1:'fail'; v2:'goto'; v3:'!'; v4:'çàòðóäíÿþñü îòâåòèòü'; r: 1; ball: 1),
 (que:'Êàêèå âèäû ðåêóðñèé íå èñïîëüçóþòñÿ â Prolog?'; v1:'ëåâàÿ'; v2:' ïðîñòàÿ'; v3:'îáîáùåííàÿ'; v4:'ïðàâàÿ'; r: 1; ball: 1),
 (que:'Ýëåìåíòû ñïèñêà â Prolog:'; v1:'äîëæíû ïðèíàäëåæàòü îäíîìó äîìåííîìó òèïó'; v2:' äîëæíû ñîäåðæàòü îïðåäåëåííîå ðàíåå ÷èñëî ýëåìåíòîâ ñïèñêà'; v3:'äîëæíû ðàçäåëÿòüñÿ çàïÿòîé'; v4:'çàòðóäíÿþñü îòâåòèòü'; r: 0; ball: 1),
 (que:'Äëÿ ÷åãî ñëóæèò è ÷òî ñîäåðæèò ñåêöèÿ Database?'; v1:'äëÿ îïèñàíèÿ äèíàìè÷åñêèõ áàç äàííûõ'; v2:' äëÿ îðãàíèçàöèè ñâÿçè ñ áàçîé äàííûõ'; v3:'äëÿ îïðåäåëåíèÿ áàçû äàííûõ'; v4:'çàòðóäíÿþñü îòâåòèòü'; r: 0; ball: 1),
 (que:'Êàêîé ïðåäèêàò èñïîëüçóåòñÿ äëÿ çàïèñè áàçû äàííûõ íà äèñê?'; v1:'write'; v2:' close'; v3:'save'; v4:'çàòðóäíÿþñü îòâåòèòü'; r: 2; ball: 1),
 (que:'Êàêîé ïðåäèêàò èñïîëüçóåòñÿ äëÿ ñ÷èòûâàíèÿ áàçû äàííûõ èç ôàéëà?'; v1:'read'; v2:' consult'; v3:'open'; v4:'çàòðóäíÿþñü îòâåòèòü'; r: 1; ball: 1));
 
 
 
 var
  FormTest: TFormTest;
  N    : Integer;
  num  : Integer;
  ri   : Integer;
  balls: Integer;
  proc: Integer;
  otvets: array [0..xd-1] of boolean;
 
 
implementation
 
{$R *.dfm}
 
procedure TFormTest.GenerateNewQ;
 
 procedure zero;
  begin
   RadioGroup1.Buttons[0].Checked:= false;
   RadioGroup1.Buttons[1].Checked:= false;
   RadioGroup1.Buttons[2].Checked:= false;
   RadioGroup1.Buttons[3].Checked:= false;
  end;
 
 begin
   begin
   inc(num);
   label1.Caption:= Q+inttostr(num)+_of+inttostr(N);
   label2.Caption:= test[num-1].que;
   RadioGroup1.Items.Strings[0]:= '1) '+test[num-1].v1;
   RadioGroup1.Items.Strings[1]:= '2) '+test[num-1].v2;
   RadioGroup1.Items.Strings[2]:= '3) '+test[num-1].v3;
   RadioGroup1.Items.Strings[3]:= '4) '+test[num-1].v4;
   zero;
   ri:= test[num-1].r;
  end
 end;
 
 procedure TFormTest.GenerateResult;
  var i: Integer;
 
   function equalbool(V: Boolean): String;
    begin
     result:= No_;
     if V then result:= O_k
    end;
 
  begin
   label1.Caption:= win2;
   label2.Caption:= win1+inttostr(balls);
   if int(proc) > 85 then
   begin
   label3.Caption:= win3+oc5;
   end;
   if (int(proc) >67) and (int(proc) <85) then
   begin
   label3.Caption:= win3+oc4;
   end;
   if (int(proc) >49) and (int(proc) <67) then
   begin
   label3.Caption:= win3+oc3;
   end;
   if (int(proc) <49)  then
   begin
   label3.Caption:= win3+oc2+'  Âû íå ñäàëè òåñò';
   end;
   label4.Caption:= win4+inttostr(proc)+'%';
   memo1.Visible:= true;
   memo1.Enabled:= true;
   for i:= 1 to xd do
    memo1.Lines.Add(Q+inttostr(i)+' - '+equalbool(otvets[i-1]));
   button1.Visible:= false;
   radiogroup1.Visible:= false;
  end;
 
procedure TFormTest.FormCreate(Sender: TObject);
 var
  i: Integer;
 
 
begin
  label5.Caption:='Äàòà ïðîõîæäåíèÿ'+#13+DateTostr(Date);
 memo1.Visible:= false;
 memo1.Enabled:= false;
 ri:=0;
 num:= 0;
 balls:= 0;
 for i:= 1 to xd-1 do
  otvets[i-1]:= false;
 N:= xd;
 if (N>0) then
   GenerateNewQ
  else
    FormTest.Close
end;
 
procedure TFormTest.Button1Click(Sender: TObject);
begin
If ((RadioGroup1.Buttons[ri].Checked) and (num<N)) then
 begin
  balls:= balls+test[num-1].ball;
  otvets[num-1]:= true;
  GenerateNewQ;
  exit;
 end
 
  else
   if ((num=N) and (RadioGroup1.Buttons[ri].Checked)) then
    begin
     balls:= balls+test[num-1].ball;
     proc:= round(balls*100/25);
     otvets[num-1]:= true;
     GenerateResult;
     exit;
    end
 
     else
      if ((not RadioGroup1.Buttons[ri].Checked) and (num<N)) then
       begin
        GenerateNewQ;
        exit;
       end
 
        else
         if ((not RadioGroup1.Buttons[ri].Checked) and (num=N)) then
         begin
         proc:= round(balls*100/25);
          GenerateResult;
          end
end;
 
procedure TFormTest.Button2Click(Sender: TObject);
begin
FormTest.Close;
end;
 
end."]
Добавлено через 7 минут
Имеется тест с главным окном,в котором таблица пользователей,выбрав пользователя переходим к окну тестирования,пройдя тест показываются результаты.Подскажите как их записать во вторую таблицу с именем результаты?

Добавлено через 15 минут
Вобщем нужно чтобы значения oc (оценки) и proc (процентов) заносились в таблицу
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.06.2015, 07:55
Ответы с готовыми решениями:

Как компактнее сохранять результат теста ?
У меня на странице есть тест, мне надо каким-либо образом сохранить то, что отметил клиент, в идеале хочется, что бы по нажатии кнопки...

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

Как подсчитывать результаты теста
В делфи новичок. Написал маленькую прогу на заданную тему. Состоит из 2-х разделов: &quot;Теоретический курс&quot; и &quot;Практический...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.06.2015, 07:55
Помогаю со студенческими работами здесь

Как подсчитать результаты теста?
Дорогие форумчане! Будьте добры помочь, очень давно мучаюсь с тестом, на этом форуме прошарила все темы с тестами, но многие по той или...

Как сохранить результаты теста в бд sdf
Друзья помогите пожалуйста! Я сделал тест, авторизация в одной таблице в базе данных sdf потом вопросы ответы в другой таблице в той же...

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

Результаты посте теста
Как Вам такие результаты (взяты за время теста)? Не слишком ли нагреваются процессор и видеокарта? Процессор пентиум 4 2.8ггц.

Результаты теста OCCT
Всем доброго времени суток,обитатели киберфорума!:).Недавно решил сделать тест,результаты публикую тут.На сколько все плачевно?Ком неделю...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru