Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Delphi Создать файл, содержащий информацию о наличии билетов и рейсов Аэрофлота. Структура записи: номер рейса, пункт Создать файл, содержащий информацию о наличии билетов и рейсов Аэрофлота. Структура записи: номер рейса, пункт назначения, время вылета, время прибытия, количество свободных мест в салоне. Количество записей произвольная. Значение X, Y вводится по запросу с клавиатуры. https://www.cyberforum.ru/ delphi-beginners/ thread1206380.html Как очистить память Delphi
делфи осваиваю самостоятельно, в большей степени методом научного втыка, поэтому есть много наверное дурацких вопросов... зарание извините! есть прога, в ней две похожих формы, точнее одна кипия другой... обе формы чтото там делают в базе, на форме есть много елементов которые вытягивают или вставляют инфу в базу, но столкнулся з такой проблемой, что после закрытия одной формы, при запуске...
Delphi Преобразовать массив, прибавив к четным числам первый элемент https://www.cyberforum.ru/ delphi-beginners/ thread1206355.html
Дан целочисленный массив размера N. Преобразовать его прибавив к четным числам первый элемент. Первый и последний элементы массива не изменять.
Delphi Запись и сравнение текста из exe в dll Здраствуйте , мне нужна помощь , что бы в dll можно было сохранить текст (например с edit) и что бы он там хоронился , и при нажатии другой клавиши проверял текст который в dll с тем текстом который сейчас в edit ( если правильно то появляется окошко , если не правильно то программа закрывается ) https://www.cyberforum.ru/ delphi-beginners/ thread1206346.html
В Memo-поле вводятся названия государств. Отсортировать данный список по алфавиту методом выбора Delphi
В Memo-поле вводятся названия государств с указанием их денежных единиц. Отсортировать данный список по алфавиту методом выбора. Нажатие на кнопку Сортировка упорядочивает список, а нажатие на копку Перемешивание перемешивает элементы массива, нарушая сортировку. type tov = record naz: string; den: string; end; {$R *.dfm}
Delphi DecisionCube https://www.cyberforum.ru/ delphi-beginners/ thread1206299.html
Не где не могу найти описание и свойства этого компонента, кто знает помогите пожалуйста)
Delphi Создать функцию "Открыть файл (txt)" для компонента StringGrid https://www.cyberforum.ru/ delphi-beginners/ thread1206281.html
Нужно создать функцию открыть файл(txt) для компонента StringGrid Вот функция сохранить как.. может пригодиться. procedure TForm1.Button9Click(Sender: TObject); var f : TextFile; i, j : integer; begin if not SaveDialog1.Execute then Exit;
Что такое Buffer (буфер) в Delphi 7 и как им пользоваться? Delphi
Собственно вопрос в сабже, но уточню: есть такие функции (методы) как ReadBuf, WriteBuf, SendBuffer, ReceiveBuffer и иже с ними... Так что же такое буфер в дельфи и как им пользоваться? Прошу прощения, если что-то такое уже было или за глупый вопрос (с вашей точки зрения)... Спасибо.
Delphi Количество одинаковых слов https://www.cyberforum.ru/ delphi-beginners/ thread1206239.html
Всем привет) Помогите пожалуйста решать! Дано текст в мемо несколько одинаковых слов.. и в едите надо показать количество одинаковых слов) например: здесь нету кода)
Delphi Действия с динамически созданными объектами https://www.cyberforum.ru/ delphi-beginners/ thread1206219.html
Доброго времени суток. Помогите решить проблему. На форме есть кнопка, по нажатию которой создается еще одна кнопка и поле Memo. По нажатию на кнопку 2 (которая создалась динамически) в поле Memo должен появляться текст. Динамически созданные объекты я прописывал в procedure TForm1.Button3Click(Sender: TObject); . Собственно где я споткнулся. Прописав код в ActionList1 он говорит что не знает...
Delphi Неправильное отображение таблиц и заголовков в Word
добрый день, форумчане. Уже час бьюсь над проблемой. Вообщем хочу через дельфи сделать отчет в ворде. Значит пишу заголовок и вывожу в документ. После того как вывел - создаю таблицу . И эта таблица вставляется перед заголовком. И как я только не извращался, таблица не сдвигается с места=( Подскажите пожалуйста как решить мне эту траблу? procedure TForm1.Button4Click(Sender: TObject); ...
Delphi Ошибка! Число не введено! https://www.cyberforum.ru/ delphi-beginners/ thread1206177.html
Привет всем. Помогите мне пожалуйста. Есть два edit и кнопка. Задача такая, мы вводим в один эдит чсило, нажимаемна кнопку, и во втором появляется такое же. Все легко и просто НО, подскажите пожалуйста, как сделать так, чтобы 1) если в первый эдит пользователь ввел не число а слово - выдавалось ошибка 2) если пользователь НИЧЕГО не ввел, то программу бы не выкидывало с ошибкой, а просто...
0 / 0 / 0
Регистрация: 10.06.2014
Сообщений: 10
0

Как сделать чтобы в конце теста выводило оценку? - Delphi - Ответ 6309391

12.06.2014, 17:33. Показов 3802. Ответов 10
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Делаю тест, количество правильных и неправильных ответов выводит, мне еще нужно чтобы ставило оценку 2...5 балов за определенное количество ответов! Как это сделать, помогите кодом если не сложно!
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
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Menus, ExtCtrls;
 
type
 
    TPrTime = Record
    Min: Byte;
    Sec: Byte;
  end;
 
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    N11: TMenuItem;
    Panel1: TPanel;
    Lbl_Last: TLabel;
    Lbl_FQuestion: TLabel;
    BtnV1: TButton;
    BtnV2: TButton;
    BtnV3: TButton;
    BtnV4: TButton;
    MQuestion: TMemo;
    MIAbout: TMenuItem;
    Timer1: TTimer;
    MITest: TMenuItem;
    MITBegin: TMenuItem;
    MIOpenFile: TMenuItem;
    Memo_Temp: TMemo;
    MV1: TMemo;
    MV2: TMemo;
    MV3: TMemo;
    MV4: TMemo;
    OpenDialog1: TOpenDialog;
    GBox: TGroupBox;
    MIExit: TMenuItem;
    MITEnd: TMenuItem;
    LblNameTest: TLabel;
    Label1: TLabel;
    Label2: TLabel;
    PanelButton: TPanel;
    Label3: TLabel;
    Lbl_NomQuestion: TLabel;
    N1: TMenuItem;
    procedure FormCreate(Sender: TObject);
    function  DecTime(Var aa:TPrTime; Sender: TObject): string;
    procedure PrTimeOut(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure MIOpenFileClick(Sender: TObject);
    procedure MIAboutClick(Sender: TObject);
    procedure PrFillFileds(Sender: TObject);
    procedure MITBeginClick(Sender: TObject);
    procedure PrClickButton(Sender: TObject);
    procedure MIExitClick(Sender: TObject);
    procedure N1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  PrTimeLast: TPrTime;
  PrTimeFull: TPrTime;
  NomQuestion: Byte;
  PrVAnsverOK: Byte;
  PrOrderQuestion: array [1..255] of byte;
 
 
implementation
 
uses Unit2;
 
 
{$R *.DFM}
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  GBox.Visible:=False;
  Timer1.Enabled:=False;
  PrTimeLast.Min:=0;
  PrTimeLast.Sec:=0;
  MITBegin.Enabled:=True;
  MITEnd.Enabled:=False;
  NomQuestion:=1;
  Memo_Temp.Lines.Clear;
  PrVAnsverOK:=0;
  PanelButton.Visible:=True;
end;
 
Function PrFormatConvert(aa:TPrTime): String;
begin
  if aa.Min<=9 then result:=result+'0'+IntToStr(aa.Min)
   else result:=IntToStr(aa.Min);
  if aa.Sec<=9 then result:=result+':0'+IntToStr(aa.Sec)
   else result:=result+':'+IntToStr(aa.Sec);
end;
 
function TForm1.DecTime(Var aa:TPrTime; Sender: TObject): string;
begin
  if aa.Sec=0 then
    if aa.Min>0 then
      begin
        dec(aa.Min);
        aa.Sec:=59;
      end
     else PrTimeOut(Sender)
   else dec(aa.Sec);
  result:=PrFormatConvert(aa);
end;
 
procedure TForm1.PrTimeOut(Sender: TObject);
begin
    if NomQuestion=StrToInt(copy(Memo_Temp.Lines[1],1,pos(' ',Memo_Temp.Lines[1])-1)) then
    begin
      Timer1.Enabled:=False;
      PanelButton.Visible:=False;
                ShowMessage('³äïîâ³äåé (çàãàëüíà ê³ëüê³ñòü\ïðàâèëüíèõ):'+#13+#10
                   +IntToStr(NomQuestion)+'\'+IntToStr(PrVAnsverOK));
      Abort;
    end;
   PrTimeLast.Min:=StrToInt(copy(Memo_Temp.Lines[1],pos(' ',Memo_Temp.Lines[1])+1,pos(':',Memo_Temp.Lines[1])-pos(' ',Memo_Temp.Lines[1])-1));
   PrTimeLast.Sec:=StrToInt(copy(Memo_Temp.Lines[1],pos(':',Memo_Temp.Lines[1])+1,Length(Memo_Temp.Lines[1])-pos(':',Memo_Temp.Lines[1])));
   inc(NomQuestion);
  PrFillFileds(Sender);
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Lbl_Last.Caption:=DecTime(PrTimeLast,Sender);
end;
 
procedure TForm1.MIOpenFileClick(Sender: TObject);
begin
  FormCreate(Sender);
  OpenDialog1.InitialDir:=ExtractFilePath(Application.ExeName);
  if OpenDialog1.Execute then
    Memo_Temp.Lines.LoadFromFile(OpenDialog1.FileName);
end;
 
procedure TForm1.MIAboutClick(Sender: TObject);
begin
  ShowMessage('Âèêîíàâ: Êîëî쳺öü Ð. Þ.;'+#13+#10+
              ' '+#13+#10+
              'Ñòóäåíò ãðóïè: ²ÒÏÑ-1233'+#13+#10+#13+#10+'');
end;
 
procedure TForm1.PrFillFileds(Sender: TObject);
begin
 
  MQuestion.Clear;
  MV1.Clear;
  MV2.Clear;
  MV3.Clear;
  MV4.Clear;
 
  MQuestion.Lines[0]:=Memo_Temp.Lines[2+6*(PrOrderQuestion[NomQuestion]-1)];
  MV1.Lines[0]:=Memo_Temp.Lines[3+6*(PrOrderQuestion[NomQuestion]-1)];
  MV2.Lines[0]:=Memo_Temp.Lines[4+6*(PrOrderQuestion[NomQuestion]-1)];
  MV3.Lines[0]:=Memo_Temp.Lines[5+6*(PrOrderQuestion[NomQuestion]-1)];
  MV4.Lines[0]:=Memo_Temp.Lines[6+6*(PrOrderQuestion[NomQuestion]-1)];
  Lbl_NomQuestion.Caption:=IntToStr(NomQuestion);
 
  if MQuestion.Lines.Count>=3 then MQuestion.scrollbars:=ssVertical else MQuestion.scrollbars:=ssNone;
  if MV1.Lines.Count>=3 then  MV1.scrollbars:=ssVertical else MV1.scrollbars:=ssNone;
  if MV2.Lines.Count>=3 then  MV2.scrollbars:=ssVertical else MV2.scrollbars:=ssNone;
  if MV3.Lines.Count>=3 then  MV3.scrollbars:=ssVertical else MV3.scrollbars:=ssNone;
  if MV4.Lines.Count>=3 then  MV4.scrollbars:=ssVertical else MV4.scrollbars:=ssNone;
 
end;
 
procedure TForm1.MITBeginClick(Sender: TObject);
Var
   Stroka: String;
   tempNomQuestion, i: byte;
begin
  if Memo_Temp.Lines.Count<4 then
    begin
      ShowMessage('³äêðèéòå ôàéë Ôàéë òåñòóâàííÿ');
      Abort;
    end;
 
  Stroka:=Memo_Temp.Lines[1];
  PrTimeLast.Min:=StrToInt(copy(Stroka,pos(' ',Stroka)+1,pos(':',Stroka)-pos(' ',Stroka)-1));
  PrTimeLast.Sec:=StrToInt(copy(Stroka,pos(':',Stroka)+1,Length(Stroka)-pos(':',Stroka)));
  PrTimeFull.Sec:=StrToInt(copy(Stroka,1,pos(' ',Stroka)-1))
                  *PrTimeLast.Sec mod 60;
  PrTimeFull.Min:=StrToInt(copy(Stroka,1,pos(' ',Stroka)-1))
                  *PrTimeLast.Min + StrToInt(copy(Stroka,1,pos(' ',Stroka)-1))
                  *PrTimeLast.Sec div 60;
 
  for i:=1 to 255 do
    PrOrderQuestion[i]:=0;
  tempNomQuestion:=0;
 
  while tempNomQuestion<StrToInt(copy(Memo_Temp.Lines[1],1,pos(' ',Memo_Temp.Lines[1])-1)) do
      begin
        randomize;
        i:=1+random(StrToInt(copy(Memo_Temp.Lines[1],1,pos(' ',Memo_Temp.Lines[1])-1)));
        if PrOrderQuestion[i]=0 then
          begin
           inc(tempNomQuestion);
           PrOrderQuestion[i]:=tempNomQuestion;
          end;
      end;
 
  PrFillFileds(Sender);
 
  LblNameTest.Caption:=Memo_Temp.Lines[0];
 
  Lbl_FQuestion.Caption:=PrFormatConvert(PrTimeFull);
  Lbl_Last.Caption:=PrFormatConvert(PrTimeLast);
  NomQuestion:=1;
  MITBegin.Enabled:=False;
  MITEnd.Enabled:=True;
  GBox.Visible:=True;
  PanelButton.Visible:=True;
  Timer1.Enabled:=True;
end;
 
procedure TForm1.PrClickButton(Sender: TObject);
begin
  if StrToInt(Memo_Temp.Lines[7+6*(PrOrderQuestion[NomQuestion]-1)])=(Sender as TButton).Tag Then
    begin
      ShowMessage('Ïðàâåëüíà â³äïîâ³äü');
      inc(PrVAnsverOK);
    end
   else ShowMessage('Íåïðàâèëüíà â³äïîâ³äü');
  PrTimeOut(Sender);
end;
 
procedure TForm1.MIExitClick(Sender: TObject);
begin
  Close;
end;
procedure TForm1.N1Click(Sender: TObject);
begin
Form2.Show
end;
 
end.
Добавлено через 47 секунд
Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.PrTimeOut(Sender: TObject);
begin
    if NomQuestion=StrToInt(copy(Memo_Temp.Lines[1],1,pos(' ',Memo_Temp.Lines[1])-1)) then
    begin
      Timer1.Enabled:=False;
      PanelButton.Visible:=False;
                ShowMessage('Відповідей (загальна кількість\правильних):'+#13+#10
                   +IntToStr(NomQuestion)+'\'+IntToStr(PrVAnsverOK));
      Abort;
    end;


Вернуться к обсуждению:
Как сделать чтобы в конце теста выводило оценку? Delphi
0
Заказать работу у эксперта
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.06.2014, 17:33
Готовые ответы и решения:

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

Как в Delphi 7 сделать чтобы рандомом выводило определенные числа?
Как в Delphi 7 сделать чтобы рандомом выводило определенные числа?

Как сделать чтобы при нажатии на CheckBox в Edit выводило сообщение?
Например Вопрос что такое integer? Жмякаю на CheckBox и в рядом стоящий Edit выводит сообщение -...

Сделать так, чтобы выводило результат с десятичной частью
type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4:...

10
12.06.2014, 17:33
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.06.2014, 17:33
Помогаю со студенческими работами здесь

Нужно в Delphi 7 сделать чтобы в ShowMessage выводило три рандомных числа от 0 до 9
Нужно в Delphi 7 сделать чтобы в ShowMessage выводило три рандомных числа от 0 до 9

Как заменить проще, чтобы ошибку не выводило?
как заменить мне переменную &quot;d&quot;?

Как сделать, чтобы элементы динамического массива, которые равны 0, были размещены в конце массива?
Нужно упорядочить массив по возрастанию и сделать, чтобы элементы, которые равны 0, были в конце....

как сделать что б каждую подстроку выводило с новой строки?
Дана строка символов C1, C2,…CM, в которой могут встречаться цифры, пробелы, буква &quot;Е&quot; и знаки &quot;+&quot;,...

0
Новые блоги и статьи
Какой локальный веб-сервер выбрать
InfoMaster 19.01.2025
В современной веб-разработке локальные веб-серверы играют ключевую роль, предоставляя разработчикам надежную среду для создания, тестирования и отладки веб-приложений без необходимости использования. . .
Почему планшеты и iPad уже не так популярны, как раньше
InfoMaster 19.01.2025
Эра революционных инноваций История планшетных компьютеров началась задолго до того, как эти устройства стали привычными спутниками нашей повседневной жизни. В начале 1990-х годов появились первые. . .
Как самому прошить BIOS ноутбука
InfoMaster 19.01.2025
BIOS (Basic Input/ Output System) представляет собой важнейший компонент любого компьютера или ноутбука, который обеспечивает базовое взаимодействие между аппаратным и программным обеспечением. . .
Какой Linux выбрать для домашнего компьютера
InfoMaster 19.01.2025
Современные реалии выбора операционной системы В современном мире выбор операционной системы для домашнего компьютера становится все более важным решением, которое может существенно повлиять на. . .
Как объединить два словаря одним выражением в Python
InfoMaster 19.01.2025
В мире программирования на Python работа со словарями является неотъемлемой частью разработки. Словари представляют собой мощный инструмент для хранения и обработки данных в формате "ключ-значение". . . .
Как без исключения проверить существование файла в Python
InfoMaster 19.01.2025
При разработке программного обеспечения на Python часто возникает необходимость проверить существование файла перед выполнением операций с ним. Это критически важная задача, которая помогает избежать. . .
Как определить, содержит ли строка подстроку в JavaScript
InfoMaster 19.01.2025
При разработке веб-приложений часто возникает необходимость выполнять различные операции со строками, среди которых особое место занимает поиск подстрок. JavaScript предоставляет несколько встроенных. . .
Что такое метаклассы в Python
InfoMaster 19.01.2025
Метаклассы в Python представляют собой один из самых мощных и одновременно сложных механизмов языка, позволяющий программистам контролировать процесс создания классов. По своей сути, метакласс. . .
Как удалить свойство из объекта JavaScript
InfoMaster 19.01.2025
В современной веб-разработке объекты JavaScript играют фундаментальную роль в организации и структурировании данных. Они представляют собой контейнеры, которые хранят связанные данные и. . .
Какая разница между String и string в C#
InfoMaster 19.01.2025
В языке программирования C# существует интересная особенность: для работы со строками можно использовать как String, так и string. Эта двойственность часто вызывает вопросы у разработчиков, особенно. . .
Как в Git откатить репозиторий к предыдущему коммиту
InfoMaster 19.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса, предоставляя разработчикам мощные инструменты для управления изменениями в. . .
Как работают замыкания (closure) в JavaScript
InfoMaster 19.01.2025
В мире современной веб-разработки замыкания (closures) представляют собой один из фундаментальных концептов языка JavaScript, который часто вызывает затруднения у начинающих разработчиков, но при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru