Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Народ, Help-те плииз! Очень нужно! Добавлено: 22.03.05 18:34  

Автор вопроса:  TIM
Hello Всем!!!
Пишу прогу Тестирование т.е. вопросы и 4 варианта ответов итого около 1000 вопросов (что-то вроде игры О,Счастливчик). Сейчас делаю так, для каждого вопроса добавляю форму в проект (итого 1000 форм в проекте. Адская работа да? По другому пока не умею) и для каждой формы пишу Вопрос: txtQestion.Text ="Вопрос", optA.Caption ="Ответ", optB.Caption ="Ответ" и.т.д.
Подскажите плз. другой выход из ситуации чтоб и время сэкономить и знание повысить. Если можно загрузить Word или Excel для вопр. и отв. было бы отлично.
Если у кого есть исходник киньте плз. на мыло или любую подсказку, буду очень благодарен.
Заранее Спасибо!!!

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 Дмитрий Щапов



Вопросов: 71
Ответов: 321
 Профиль | | #1 Добавлено: 22.03.05 19:14
Зачем тебе 1000 форм? Ты их все сразу собрался показывать? :)
А автоматом сделать?
Допустим сделал форму-вопросник в ней функция подготовки(ну для создания объектов: допустим для каждого вар ответа у тебя оптион бокс, вот и Controls.Add("VB.OptionBox","NameObject";) - здесь может неточность мелкая.) В эту функцию передаёшь кол-во ответов и прочее, она делает всё остальное. Показывай эту
Set Form = New as FormTest
Form.ShowME (Qwestion as typeQwestion);

sub FormTest::ShowME(
//Подготавливаешь контролы
Show 1
)

Или вообще проще : Делаешь одну форму , кидаешь на неё нужные вещи и потом меняешь их висибле(по кр. мере я на своеё прогу, она типа твоей, так делал)

Ответить

Номер ответа: 2
Автор ответа:
 ISpy



Разработчик Offline Client

Вопросов: 47
Ответов: 621
 Web-сайт: intermult.boom.ru
 Профиль | | #2
Добавлено: 22.03.05 19:26
итого 1000 форм в проекте
Офигеть, до такого я бы не додумался ;)
В чем проблема? Делаешь базу данных (думаю, это самое удобное), в нее пихаешь все вопросы, варианты ответов к каждому, и номер правильного ответа (1,2,3,4). Далее делаешь одну форму и грузишь в txtQestion.text, optA.caption и т.д. инфу из первой записи из базы данных. А в переменную пихаешь номер правильного ответа для данного вопроса (тоже берется из базы данных). Далее делаешь четыре Button'а, но не отдельно, а в массив (index у них будет разный, а имя одно). И при нажатие на одну из кнопок сравниваем index нажатой кнопки с номером правильного ответа (т.к. index начинается с 0, то необходимо будет прибавить к index'у еденичку, а потом уже сравнивать). Если ответ правильный записываем это куда-нибудь. Далее проверяем есть ли еще вопросы в базе данных, или все уже кончилось. Если есть - грузим следующую запись и все повторяется.

Не знаю, поймешь нет, я объяснять не очень умею :(
Но надеюсь на какую-нибудь мысль тебя это натолкнет. Могу выслать исходники немножко не доделанной проги для тестирования (она рабочая и там тоже четыре варианта ответов), также прога потдерживает регистрацию/авторизацию пользователей (простых и админов), учет их успеваемости, выбор темы тестирования, уровня сложности и количества вопросов в тесте (вопросы подбираются случайным образом из базы данных). Вся инфа отображается в WebBrowser'е, т.к. мне надо было отображать корни, число пи, стрелки, и другие спец символы. В общем в проге я и сам почти запутался (без бутылки сложно разобраться, но можно) :)

Ответить

Номер ответа: 3
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #3 Добавлено: 22.03.05 21:53
у... чувак, да ты вообще монстр :) 1000 форм я офигел. Так конечно НЕЛЬЗЯ! Это криво! Пойщи исходники игры... я где-то видел. А вообще кратко в двух словах:

Есть файл, в котором вопрос, варианты ответа, правельный вариант.

Прога случайно (или как-то по турам) загружает вопрос, показывает его на экран (1 формы хватит :)

Игрок нажимает на какой-то из вариантов, сравниваем с правельным...

ну и т д...

Ответить

Номер ответа: 4
Автор ответа:
 Дмитрий Щапов



Вопросов: 71
Ответов: 321
 Профиль | | #4 Добавлено: 22.03.05 23:26
Должен вам огорчить, 1000 форм почти наверняка не получилось бы добавить. @Out of Memory@
Я тут замерил показания проекта с 861формой(больше VB никак не позволил добавить), вышло следующее:
Исходники:486 Кб (немного, правда?)
Блин, откомпилить всё это дело vb не смог.

Попробую с 500 формами... Таже фигня.
Ещё разок с 300 формами: Прога весит 236 Кб.
а кину-ка я на форму(каждую) 3*лэйбла и 4*Баттона
и получаю я чудо, весом 596Кб.

А это не так страшно как я думал. Один фиг 1000 форм - это последствия долгой и очень бурной фантазии(если конечно не созд формы динамически)

Мораль сказки такова: что нет Морали нифига.

Ответить

Номер ответа: 5
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #5
Добавлено: 22.03.05 23:29
Еще и контролов много VB не дает сделать на одной форме :(

Ответить

Номер ответа: 6
Автор ответа:
 Александр



Разработчик Offline Client

ICQ: 204034 

Вопросов: 106
Ответов: 1919
 Профиль | | #6 Добавлено: 23.03.05 10:16
1000 форм??? Ты хоть представляешь какой размер будет у exe'шника??? :))))
По мне, я бы использовал что-нить в виде xml или mdb для хранения
вопросов и бегал по файлу-базе и таскал от туда вопрос и ответы при
выходе нового вопроса. Это довольно легко сделать.

Ответить

Номер ответа: 7
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #7 Добавлено: 23.03.05 15:11
Нашелся главный маньяк форума! 1000 форм! Блин, тебе бы в Microsoft идти работать...
Можно, конечно, и с базой, но и базу таскать, и компоненты подключать. Я бы сделал массив UDP вроде

Private Type Question
  QuestionText as String
  AnswerA as String
  AnswerB as String
  AnswerC as String
  AnswerD as String
  RightAnswer as Byte
End Type
Dim Questions(1000) as Question

Затем либо считывал бы его с файла на диске, либо из ресурсов (предварительно его туда загнав). В конце концов, в ресурсах есть String Table'ы

Ответить

Номер ответа: 8
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #8
Добавлено: 23.03.05 16:11
Угу, запихай в ресурсы. Встроенный редактор ресурсов довольно удобный.

Ответить

Номер ответа: 9
Автор ответа:
 Barsik



Разработчик Offline Client

ICQ: 343368641 

Вопросов: 17
Ответов: 686
 Web-сайт: barsik.newmail.ru
 Профиль | | #9
Добавлено: 24.03.05 14:57
да, 1000 форм это конечно неслабо, точно тебе дорога в микрософт :)

создай текстовый фаил, помести в него вопросы, считывай данные и проверяй...

по минимуму 1 форма... или точно, тип создай, в него грузи.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам