Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
Alex100
4 / 0 / 1
Регистрация: 12.01.2012
Сообщений: 7
#1

Тест с разным количеством вопросов - Delphi

12.01.2012, 00:53. Просмотров 2006. Ответов 16
Метки нет (Все метки)

Здравствуйте.
Воззможно данная тема поднималась, но меня интересует следующее, я пишу тест-опросник (без правильнных\неправильных ответов). Процедуру чтения вопросов и ответов из .txt файла я нашел, но дело в том, что она читает только первую строку как вопрос и последующие 4-ре строки как варианты ответа. А у меня в тесте на разных вопросах разное количество ответов (и 2 ответа, и 3, и 6, и поле ввода своего ответа). Как сделать чтобы программа выводила вопрос и нужное количество ответов. Вопросов 40 штук....поэтмоу писать их в тело просто нет смысла. Я думал делать так типо

Пример файла вопросов\ответов:

Как Вас зовут?
-Алексей
-Коля
-Витя
Сколько Вам лет?
-10
-20
-30
-40
-50
-60

Чтобы программа по знаку "-" как бы понимала что это не следующий вопрос, а один из вариантов ответа.... кто что подскажет??? как лучше сделать
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2012, 00:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Тест с разным количеством вопросов (Delphi):

Создать тест из 25 вопросов, 5 вариантов ответа - Delphi
Добрый вечер мне нужно создать тест, но не получается, нужно создать тест из 25 вопросов, 5 вариантов ответа, только один правильный ответ,...

Тест. Как реализовать случайное выпадение вопросов - Delphi
Делаю тест и надо сделать чтобы вопросы и ответы випадали рандомом.Расскажите пожалуйста как ето сделать. unit Unit1; interface ...

Тест, перетасовка вопросов и самих ответов в вопросах - Delphi
Здравствуйте, объясните как сделать так, чтобы при запуске теста вопросы меняли свой порядок случайным образом, то есть вопрос например 5,...

Создать тест из 10 любых вопросов с различными способами ответа - Delphi
нужно создать тест из 10 любых вопросов с различными способами ответа(баттон,радиобаттон,чекбокс,едит,мемо) т.е к 1 вопросу,чтобы дать...

Можно ли создать тест в программе My Test Student и запустить этот тест через Delphi? - Delphi
Здравствуйте! Мне нужна помощь! Я сейчас делаю курсовую, и мне нужно сделать тест, и я хотела бы узнать можно создать тест в программе My...

Размещение компонентов с разным приоритетом - Delphi
как менять местами компоненты в дельфи? надо что бы Image был над memo

16
i8085
1561 / 1077 / 111
Регистрация: 11.09.2009
Сообщений: 3,783
12.01.2012, 06:47 #2
Alex100, вполне нормальный вариант.

P.S.
Если маркером отмечать не ответы, а вопросы - маркеров понадобится ставить меньше (легче набивать файл)
0
tupik123
12 / 4 / 1
Регистрация: 10.02.2011
Сообщений: 46
12.01.2012, 07:16 #3
Можно использовать ini-файлы.
0
Alex100
4 / 0 / 1
Регистрация: 12.01.2012
Сообщений: 7
12.01.2012, 07:43  [ТС] #4
Спасибо, я теоретически понимаю как это сделать, но мне нужно помощь в конкетном кодинге. Помогите хоть частью кода как это все реализовать....
0
tupik123
12 / 4 / 1
Регистрация: 10.02.2011
Сообщений: 46
12.01.2012, 18:25 #5
Цитата Сообщение от Alex100 Посмотреть сообщение
мне нужно помощь в конкетном кодинге
Почитай Архангельского "Программирование в Delphi 7", там все очень хорошо описано.
0
Alex100
4 / 0 / 1
Регистрация: 12.01.2012
Сообщений: 7
12.01.2012, 22:16  [ТС] #6
Я понимаю, что лучше всего - это изучить полностью Delphi, но у меня нет сейчас возможности. Мне нужно конкретно чтобы программа по маркеру определяла...хотя бы пример
0
Arcor
4802 / 1804 / 159
Регистрация: 20.11.2009
Сообщений: 5,721
Записей в блоге: 1
13.01.2012, 00:00 #7
циклом забирать строки которые идут после вопроса и прекращать перед 2 вопросом, т.е. начать копировать скажем в массив строки те которые имеют значок '-'
0
Alex100
4 / 0 / 1
Регистрация: 12.01.2012
Сообщений: 7
13.01.2012, 22:38  [ТС] #8
Это все теория....мне код нужен
0
Andyc
206 / 183 / 46
Регистрация: 10.01.2011
Сообщений: 302
14.01.2012, 02:43 #9
у меня написана программа для универсального теста с вариантами. Файл теста имеет вид
Delphi
1
2
3
4
5
6
7
6   //Число строк на вопрос
Вопрос 
2   //Правильный ответ
Ответ1
Ответ2
Ответ3
.....
Считывается в TStringList (Примерный код, )
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var
   Data: TStringList;
begin
   Data:=TStringList.Create;
   Data:=LoadFromFile(FileName);
   i:=0;
   l:=0;
   while i < Data.Count - 1 do
   begin
       k := StrToInt(DataStr[i]); //считываем число строк на вопрос
       Q[l] := DataStr(i+1);  //считываем вопрос
       R[l] := DataStr(i+2);  //считываем правильный ответ
       for j:=1 to k-3 do
       begin
          A[l,j-1]:=DataStr(i+j); //Считываем ответы
       end;
       Inc(i, k);
       Inc(l);
  end;
1
Arcor
14.01.2012, 03:07
  #10

Не по теме:

Цитата Сообщение от Alex100 Посмотреть сообщение
Это все теория....мне код нужен
не было бы теории не добрались бы и до кода...

так бы и сказал - решите за меня, а я сдам завтра и получу зачет....


реально студенты вошли в тупой ступор - решайте за меня, мне ничего не преподают, а требуют многого...., я уж боюсь как я дальше жить то буду с такими спецами... Я вот планировал выучится за бугром и вернуться работать в в родную страну, а кто меня там скажем поддержит? такие программеры? да я уж лучше останусь работать тут...., чем с такими спецами разрабатывать что-либо... и хай страна орет моя родная наши умы продались загранице... моя цитата из меня же самого
"Вы устройте своим такую раб площадь и зп, что она оставит вас разрабатывать что-то", не наши лучше скажут идите вы на 3 буквы дальше, они пойдут... только за границу... там платят больше и возможностей больше... помню историю и географию 7-8класс, учили там таких как бы беженцев-ученных, их обсерали как могли, я их понимаю, за спасибо от СССР свою семью не прокормишь... как считает нынешняя наша с вами страна....
я сам испытал что такое голод, что такое холод, что такое жить без воды... без света..., пить, чтобы выжить, воду из речки, с которой пьют коровы и лошади и другие животные. что такое жить без коммуникаций.., когда твоя мама пытается тебе сотворить праздник из того что она может на твое день рождения.... я не хочу чтобы мои дети будущие испытали, что такое - то, что я пережил в свои годы.....и я не хочу чтобы мои дети осиротели в столь таком возрасте как я сам...

пост не говорит ни о чем... просто если у кого-то есть душа - тот поймет к чему это нытье было тут описано...


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

а ладно сегодня прокатило - сдал, ок, зачет.. каждый так подумал.... а кто будет наших детей учить? тому - чему учат нас, или они повыростают такими же идиотами как сегодняшняя молодежь, даже еще тупее... так как наша молодежь тупеет на глазах...... помню в мои школьные годы нельзя было использовать калькулятор.. даже на физике заставляли умножать числа с несколькими нулями в молекулярной физике, в некоторой степени..., как видно сегодня не могут решить в голове сколько будет 26% из 100..., да какой там, сколько будет 2*5 не знают многие, сегодня убедился на лекции по математике!!! Я думаю профессор когда задал вопрос, он хоте5л провалиться под землю после вариантов ответа моих сокурсников.......

0
Zombi_sib
349 / 303 / 40
Регистрация: 26.05.2010
Сообщений: 666
14.01.2012, 12:05 #11
Цитата Сообщение от Arcor Посмотреть сообщение
не было бы теории не добрались бы и до кода...

так бы и сказал - решите за меня, а я сдам завтра и получу зачет....


реально студенты вошли в тупой ступор - решайте за меня, мне ничего не преподают, а требуют многого...., я уж боюсь как я дальше жить то буду с такими спецами... Я вот планировал выучится за бугром и вернуться работать в в родную страну, а кто меня там скажем поддержит? такие программеры? да я уж лучше останусь работать тут...., чем с такими спецами разрабатывать что-либо... и хай страна орет моя родная наши умы продались загранице... моя цитата из меня же самого
"Вы устройте своим такую раб площадь и зп, что она оставит вас разрабатывать что-то", не наши лучше скажут идите вы на 3 буквы дальше, они пойдут... только за границу... там платят больше и возможностей больше... помню историю и географию 7-8класс, учили там таких как бы беженцев-ученных, их обсерали как могли, я их понимаю, за спасибо от СССР свою семью не прокормишь... как считает нынешняя наша с вами страна....
я сам испытал что такое голод, что такое холод, что такое жить без воды... без света..., пить, чтобы выжить, воду из речки, с которой пьют коровы и лошади и другие животные. что такое жить без коммуникаций.., когда твоя мама пытается тебе сотворить праздник из того что она может на твое день рождения.... я не хочу чтобы мои дети будущие испытали, что такое - то, что я пережил в свои годы.....и я не хочу чтобы мои дети осиротели в столь таком возрасте как я сам...

пост не говорит ни о чем... просто если у кого-то есть душа - тот поймет к чему это нытье было тут описано...


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

а ладно сегодня прокатило - сдал, ок, зачет.. каждый так подумал.... а кто будет наших детей учить? тому - чему учат нас, или они повыростают такими же идиотами как сегодняшняя молодежь, даже еще тупее... так как наша молодежь тупеет на глазах...... помню в мои школьные годы нельзя было использовать калькулятор.. даже на физике заставляли умножать числа с несколькими нулями в молекулярной физике, в некоторой степени..., как видно сегодня не могут решить в голове сколько будет 26% из 100..., да какой там, сколько будет 2*5 не знают многие, сегодня убедился на лекции по математике!!! Я думаю профессор когда задал вопрос, он хоте5л провалиться под землю после вариантов ответа моих сокурсников.......
С этим высказыванием полностью согласен.
0
Alex100
4 / 0 / 1
Регистрация: 12.01.2012
Сообщений: 7
14.01.2012, 12:19  [ТС] #12
Цитата Сообщение от Arcor Посмотреть сообщение
не было бы теории не добрались бы и до кода...

так бы и сказал - решите за меня, а я сдам завтра и получу зачет....


реально студенты вошли в тупой ступор - решайте за меня, мне ничего не преподают, а требуют многого...., я уж боюсь как я дальше жить то буду с такими спецами... Я вот планировал выучится за бугром и вернуться работать в в родную страну, а кто меня там скажем поддержит? такие программеры? да я уж лучше останусь работать тут...., чем с такими спецами разрабатывать что-либо... и хай страна орет моя родная наши умы продались загранице... моя цитата из меня же самого
"Вы устройте своим такую раб площадь и зп, что она оставит вас разрабатывать что-то", не наши лучше скажут идите вы на 3 буквы дальше, они пойдут... только за границу... там платят больше и возможностей больше... помню историю и географию 7-8класс, учили там таких как бы беженцев-ученных, их обсерали как могли, я их понимаю, за спасибо от СССР свою семью не прокормишь... как считает нынешняя наша с вами страна....
я сам испытал что такое голод, что такое холод, что такое жить без воды... без света..., пить, чтобы выжить, воду из речки, с которой пьют коровы и лошади и другие животные. что такое жить без коммуникаций.., когда твоя мама пытается тебе сотворить праздник из того что она может на твое день рождения.... я не хочу чтобы мои дети будущие испытали, что такое - то, что я пережил в свои годы.....и я не хочу чтобы мои дети осиротели в столь таком возрасте как я сам...

пост не говорит ни о чем... просто если у кого-то есть душа - тот поймет к чему это нытье было тут описано...


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

а ладно сегодня прокатило - сдал, ок, зачет.. каждый так подумал.... а кто будет наших детей учить? тому - чему учат нас, или они повыростают такими же идиотами как сегодняшняя молодежь, даже еще тупее... так как наша молодежь тупеет на глазах...... помню в мои школьные годы нельзя было использовать калькулятор.. даже на физике заставляли умножать числа с несколькими нулями в молекулярной физике, в некоторой степени..., как видно сегодня не могут решить в голове сколько будет 26% из 100..., да какой там, сколько будет 2*5 не знают многие, сегодня убедился на лекции по математике!!! Я думаю профессор когда задал вопрос, он хоте5л провалиться под землю после вариантов ответа моих сокурсников.......
Мне конечно приятно, что Вы считаете меня студентом, но я Вас очень огорчу, что в мои 32 года мне абсолютно все равно на какие-то там зачеты и экзамены. Программу я пишу для себя и для личного использования. Тема называется "Для начинающих". Если Вы лично не можете в чем то помочь начинающим, а пытаетесь в каждой теме увидеть алчный подход пользователей, или судя по Вашему посту недовольны этой жизнью и нынешней молодежью, то простите Вам явно не здесь отписываться нужно, а на другом сайте.
0
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
14.01.2012, 12:27 #13
Alex100, если вас интересует обучение "для себя", то нужно было спросить про интересующие моменты, а не хотеть весь код сразу
0
Alex100
4 / 0 / 1
Регистрация: 12.01.2012
Сообщений: 7
14.01.2012, 12:56  [ТС] #14
Цитата Сообщение от Dekio Посмотреть сообщение
Alex100, если вас интересует обучение "для себя", то нужно было спросить про интересующие моменты, а не хотеть весь код сразу
Много уважаемый Dekio, читайте пожалуйста внимательнее....во все своих постах я просил конкретно кодинг...я нигде не писал, чтобы это решили за меня или сделали полностью весь тест-опросник мой....я просил, чтобы мне помогли в маленькой части кодинга...причем я не выдавал все ТЗ (техническое задание) с конкретными 40 вопросами...а попросил на примере двух вопросов, которые нахдятся в шапке данной темы показать, как НАПРИМЕРЕ может быть реализовано, чтобы дальше самому лично переделать код на свои 40 вопросов. Вы чувствуете разницу между "сделайте за меня все" и "подскажите на примере"???
0
Arcor
4802 / 1804 / 159
Регистрация: 20.11.2009
Сообщений: 5,721
Записей в блоге: 1
14.01.2012, 17:02 #15
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Alex100, вот глянька на этот вариант, набросал тут немного. Вводится сам вопрос, и к нему выдается список ответов, которые принадлежат этому вопросу

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
procedure TForm1.Button1Click(Sender: TObject);
var F: TextFile;
    S: String;
begin
  AssignFile(F, 'test.txt');
  Reset(F);
  while not(EOF(F)) do
    begin
      Readln(F, S);
      if Pos('вопрос номер три', S) <> 0 then
      repeat
        Memo1.Lines.Add(S);
        Readln(F, S);
      until Pos('-', S) = 0;
    end;
  CloseFile(F);
  Result.Free;
end;
вот содержимое файла(для примера просто написал не значимый текст)
Код
вопрос номер один
-вариант ответа 1
-вариант ответа 2
-вариант ответа 3
-вариант ответа 4
вопрос номер два
-вариант ответа 1
-вариант ответа 2
-вариант ответа 3
-вариант ответа 4
-вариант ответа 5
-вариант ответа 6
-вариант ответа 7
вопрос номер три
-вариант ответа 1
-вариант ответа 2
вопрос номер четыре
-вариант ответа 1
-вариант ответа 2
-вариант ответа 3
-вариант ответа 4
-вариант ответа 5
результатом выполнения программы будет
Код
вопрос номер три
-вариант ответа 1
-вариант ответа 2
Добавлено через 7 минут
а вот вариант получше будет, все то же самое, только функцией оформил что упростит применение
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function Vopros_Parse(FileName: String; const Vopros: String): TStringList;
var F: TextFile;
    S: String;
begin
  Result := TStringList.Create;
  AssignFile(F, FileName);
  Reset(F);
  while not(EOF(F)) do
    begin
      Readln(F, S);
      if Pos(Vopros, S) <> 0 then
      repeat
        Result.Add(S);
        Readln(F, S);
      until Pos('-', S) = 0;
    end;
  CloseFile(F);
  Result.Free;
end;
вот применение
Delphi
1
2
3
4
procedure TForm1.Button2Click(Sender: TObject);
begin
  Memo1.Lines := Vopros_Parse('test.txt', 'вопрос номер три');
end;
Добавлено через 45 минут
18 строку лучше удалить , иначе функция вернет пустую строку что-то я ступил немного
2
14.01.2012, 17:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2012, 17:02
Привет! Вот еще темы с ответами:

RegExp: Парсинг страницы по разным значаниям - Delphi
Имеется вот такой код на странице: &lt;li class='clear clearfix'&gt; &lt;span class='row_title'&gt;Группа:&lt;/span&gt; &lt;span...

Использование функции с разным набором параметров - Delphi
Всем привет, делал сегодня рассылку через смс шлюз по API https://smsc.ru/api/delphi/ и увидел интересный для себя пример. Вот...

Написать программу тест с большим количеством вопросов, которые будут выбираться случайно - Turbo Pascal
Cуть задания-нужно написать программу тест с большим количеством вопросов которые будут выбираться случайно.Помогите со случайным выбором...

Одинаковые планки с разным количеством чипов - Оперативная память
Привет. Есть две планки памяти CRUCIAL CT51264BA160BJ DDR3- 4Гб, 1600 и CRUCIAL CT51264BA160B DDR3- 4Гб, 1600 Первая 8 чиповая...


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

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

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