Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/100: Рейтинг темы: голосов - 100, средняя оценка - 4.78
aleksei12
1

Учебная программа - тест

19.05.2008, 17:53. Показов 19262. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
мне нужно сделать учебную программу-тест в delphi:
-первая форма-приветствие и вся лобуда
-вторая-выбор варианта работы:теория, тест
-третья-теория(она загружается из файла)
-четвёртая-тест, там 2 варианта, вопросы также загружаются из файла, 4 вар. ответа

я уже почти всё сделал, мне нужно сделать только тест, но я не знаю как

тест выглядит так:
сначала загружается вопрос, на него отвечаешь, программа выводит сообщение(showmessage)-правильно или нет, нажимаешь на ОК и загружается следующий вопрос, и так далее, потом в конце результаты теста:кол. прав. ответов и оценка

тест надо сделать простой, через оператор выбора(case)
выложите код с обьяснениями!!

пожалуйста помогите!!!мне очень надо!!!!!
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.05.2008, 17:53
Ответы с готовыми решениями:

учебная программа-тест
помогите сделать учебную программу-тест в delphi: -первая форма-приветствие и вся лобуда...

ООП учебная программа
Учебная программа должна выполнять след функции - регистрацию студента; - представление материала...

Игра в города: учебная программа
Добрый день. Хочу написать простенькую учебную программу, что-то вроде игры в города. Думаю, сами...

Учебная программа с меню и тестами
Срочно помогите!!! Нужна программа по теме: "Организация памяти компьютера". В программе надо...

13
1 / 1 / 2
Регистрация: 27.04.2008
Сообщений: 64
20.05.2008, 13:21 2
есть книга Delphi на примерах автор СМ Парижский там есть исходник на тесты скачаи и посматри потом здесь задаи вапро столько тогда помогут а просто так никто не поможет или просто поиши в инете исходники
0
0 / 0 / 0
Регистрация: 23.05.2008
Сообщений: 9
23.05.2008, 10:35 3
А зачем case, если из файла грузиться будет?

Просто создаешь файл (например Ini) там пишешь типа:

[Cool Test]

Question1=Вопрос
variant11=вариант ответа 1
variant12=вариант ответа 2
variant13=вариант ответа 3
variant14=вариант ответа 4
po1=правильный ответ (Integer 0..3)

Обзываешь его например testq.tq

Потом в проге кидаешь на форму TRadioGroup (указываешь 4 пустых итема(можно и не указывать впринципе).
Потом пишешь функции и процедуры вроде этих:
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
procedure TForm1.ReadQuestions(q:integer);
var QF:TIniFile;
begin
 QF:=TIniFile.Create(ExtractFileDir(ParamStr(0))+'\testq.tq');
 label1.Caption:=
 QF.ReadString('Cool Test','Question'+inttostr(q),label1.Caption);
 RadioGroup1.Items[0]:=
 QF.ReadString('Cool Test','variant'+inttostr(q)+'1',RadioGroup1.Items[0]);
 RadioGroup1.Items[1]:=
 QF.ReadString('Cool Test','variant'+inttostr(q)+'2',RadioGroup1.Items[1]);
 RadioGroup1.Items[2]:=
 QF.ReadString('Cool Test','variant'+inttostr(q)+'3',RadioGroup1.Items[2]);
 RadioGroup1.Items[3]:=
 QF.ReadString('Cool Test','variant'+inttostr(q)+'4',RadioGroup1.Items[3]);
 QF.Free;
end;
 
function TForm1.ReadAnswer(q:integer):integer;
var QF:TIniFile;
    answer:integer;
begin
 QF:=TIniFile.Create(ExtractFileDir(ParamStr(0))+'\testq.tq');
 answer:=
 QF.ReadString('Cool Test','po1'+inttostr(q),answer);
 QF.Free;
 Result:=answer;
end;
Потом во время первой загрузки теста устанавливаешь счетчик (значение его можно тоже в файле написать, как колличество вопросов) и загружаешь первый вопрос сразу, например при нажатии на кнопку "Начать тест".

Потом, когда пользователь выберет вариант и нажмет баттон типа "Подтвердить" - читаем с помощью функции ReadAnswer правильный ответ и сравниваем с ItemIndex, который указал пользователь. Если совпадают, то показываем сообщение
Delphi
1
2
3
messagedlg('Ответ правильный!',mtInformation,[mbok],0);
//и вызываем вслед за этим процедурку 
ReadQuestions(номер следующего вопроса);
Дальше сам додумывай. А на самом деле вариантов много, как можно тест организовать.
0
1 / 1 / 2
Регистрация: 27.04.2008
Сообщений: 64
23.05.2008, 13:47 4
также можно вариант ответов зашифровать чтобы ученики не прочитали ini файл тоесть при создани вапросов а потом дешифровать его при чтении вот к примеру
Delphi
1
2
3
4
5
procedure TForml.XoRlClick(Sender: TObject);
begin
if not InputQuery('XOR', 'Введите число xor:', xr_num)
then Exit;
end;
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForml.N5Click(Sender: TObject);
j var
xr: string; //зашифрованный текст
i: integer; //счетчик цикла
1 begin
for i:=1 to Length(Memol.Text) do
begin //перебираем каждый символ в тексте
//выполняем указанное пользователем смещение
xr := xr + Chr(Ord(Memol.Text[i]) xor StrToInt(xr_num));
end;
//заменяем оригинальный текст на зашифрованный
Memol.Text := xr;
0
0 / 0 / 0
Регистрация: 23.05.2008
Сообщений: 9
23.05.2008, 13:55 5
Delphi
1
2
3
4
5
6
7
8
9
10
function TForm1.ReadAnswer(q:integer):integer;
var QF:TIniFile;
    answer:integer;
begin
 QF:=TIniFile.Create(ExtractFileDir(ParamStr(0))+'\  testq.tq');
 answer:=
 QF.ReadInteger('Cool Test','po1'+inttostr(q),answer); // ошибочка была(в торопях писал)!:))
 QF.Free;
 Result:=answer;
end;
0
0 / 0 / 0
Регистрация: 13.07.2008
Сообщений: 34
13.07.2008, 13:19 6
А если несколько вариантов ответа например 6? и не RadioButton, а CheckBox!
0
0 / 0 / 0
Регистрация: 23.05.2008
Сообщений: 9
16.07.2008, 09:14 7
Принцип тот же. Какая разница сколько вариантов, и чекбокс или радиобаттон. Нужно ведь головой хотя бы иногда думать.
0
0 / 0 / 0
Регистрация: 13.07.2008
Сообщений: 34
17.07.2008, 10:12 8
Проблемы с запретами как отключить клиши CTRL+ALT+DELETE и windows(Пуск)!А тест я сделал (ограничение временем,оформление висты,при нажатии на 'ответить' показывает правильные ответы в виде галочек)И много чё!
0
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
17.07.2008, 10:48 9
А зачем их отключать? Может пользователя приспичит комп выключить, или word уронить в процессах.
Пусть просто время назад тикает, а все остальное - это проблему пользователя, куда он там полез отвлекаться
0
0 / 0 / 0
Регистрация: 13.07.2008
Сообщений: 34
17.07.2008, 11:01 10
Я согласен прост потом в жизни пригодится!Кто нить знает что нибу ть про сетевые игры или про сеть в делфи?
0
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
17.07.2008, 19:01 11
Для работы с сетью есть winsock API - наиболее полный контроль над сетью.
А есть более простой способ - компоненты на вкладке Internet.
0
7 / 7 / 4
Регистрация: 17.02.2007
Сообщений: 165
18.07.2008, 09:18 12
Ещё очень давно встречал компоненты от Франсуа Пьете
0
Tube_screamer
26.01.2009, 17:47 13
Просто создаешь файл (например Ini) там пишешь типа:

[Cool Test]

Question1=Вопрос
variant11=вариант ответа 1
variant12=вариант ответа 2
variant13=вариант ответа 3
variant14=вариант ответа 4
po1=правильный ответ (Integer 0..3)

Обзываешь его например testq.tq

Потом в проге кидаешь на форму TRadioGroup (указываешь 4 пустых итема(можно и не указывать впринципе).
Потом пишешь функции и процедуры вроде этих:
procedure TForm1.ReadQuestions(q:integer);
var QF:TIniFile;
begin
QF:=TIniFile.Create(ExtractFileDir(ParamStr(0))+'\testq.tq');
label1.Caption:=
QF.ReadString('Cool Test','Question'+inttostr(q),label1.Caption);
RadioGroup1.Items[0]:=
QF.ReadString('Cool Test','variant'+inttostr(q)+'1',RadioGroup1.Items[0]);
RadioGroup1.Items[1]:=
QF.ReadString('Cool Test','variant'+inttostr(q)+'2',RadioGroup1.Items[1]);
RadioGroup1.Items[2]:=
QF.ReadString('Cool Test','variant'+inttostr(q)+'3',RadioGroup1.Items[2]);
RadioGroup1.Items[3]:=
QF.ReadString('Cool Test','variant'+inttostr(q)+'4',RadioGroup1.Items[3]);
QF.Free;
end;

function TForm1.ReadAnswer(q:integer):integer;
var QF:TIniFile;
answer:integer;
begin
QF:=TIniFile.Create(ExtractFileDir(ParamStr(0))+'\testq.tq');
answer:=
QF.ReadString('Cool Test','po1'+inttostr(q),answer);
QF.Free;
Result:=answer;
end;
Здравствуйте, прошу обьясните новичку почему в label не вписывается значение ?

label1.Caption:=QF.ReadString('Cool Test','Question'+inttostr(q),label1.Caption);

В ini файле вопрос указан как "question1=...", для этого, как я понимаю, используется "+inttostr(q)", но в таком случае label не присваивается значение.
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 6
18.06.2011, 08:19 14
!!!!!
0
18.06.2011, 08:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.06.2011, 08:19
Помогаю со студенческими работами здесь

Учебная программа с защитой от копирования, статического и динамического исследования
Здравствуйте, помогите пожалуйста с заданием нужно написать программу с такими параметрами:метод...

Программа с использованием подпрограммы. Учебная модель ЭВМ Жмакина
Три массива в памяти заданы начальными адресами и длинами. Вычислить и вывести на устройство вывода...

программа-тест
многоуважаемые программисты, очень прошу вашей помощи, я на гране. я сделал программу, она работала...

Программа - тест
Есть прога где 5 вопросов, они записываются в string answ = new string; после того как ответы...

Программа-тест
Доброго времени суток, друзья! В общем такая идея: делаю тест в с++ builder, но моих непрочных...

Тест-программа
надо срочно написать тест-программу на делфи. всё должно быть примитивно без всяких наворотов....


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru