как лучше сделать Тест!?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Shasha
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 106
Зарегистрирован: 08.11.2005 (Вт) 15:09

как лучше сделать Тест!?

Сообщение Shasha » 23.03.2006 (Чт) 14:27

Все драсти!
Ну вот, у нас в крае очередной конкурс и опять мне не дают жить спокойно... :(
исходник потерял, т.ч. делать снова и хочу просить Вашего совета, что и как лучше и правильнее сделать, т.к. исходники необходимо отправлять... :(
план такой.
форма 1, ну там типа предисловие и кнопа начать(и плюс загрузка "форм_результ")...
на второй и последующих формах лэйб с вопросом, чек оптионбатон и кнопа далее... при нажатии ответ передаётся в "форм_результат" в виде 0 или 1...
после того как ответят на все вопросы, на последней форме выдаётся результат, и если нажать заданное сочетание клав то появляется окно запроса пасса, после ввода верного пасса эта форма удлиняется и там видны результаты, где ответили верно и где нет...
вобщем критикуйте и предлагайте
С Уважением,
Shasha

Tamplier
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 183
Зарегистрирован: 18.11.2005 (Пт) 13:35
Откуда: Москва

Сообщение Tamplier » 23.03.2006 (Чт) 15:00

при нажатии ответ передаётся в "форм_результат" в виде 0 или 1...

Опять-таки потому что программа покрупнее будет, я записываю результат в массив. Как ты выберешь - это твое дело. А перед тем как выводить список ответов перетасуй их.

Сделай ограничение на время, сделай таймер, в котором твоя форма выводится на превый план посредством SetWindowPos + HWND_TOPMOST, посредством ClipCursor закрой выход мыши за форму (опять-таки в таймере, потому как при нажатии Ctrl+Alt+Del это сбрасывается) [не забудь только потом снять...], сделай форму неподвижной. Вместо нескольких форм с вопросами выводи все вопросы в одну форму. Показывать верность результатов, на мой взгляд, в любом случае стоит...

Shasha
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 106
Зарегистрирован: 08.11.2005 (Вт) 15:09

Сообщение Shasha » 24.03.2006 (Пт) 13:48

Tamplier
Опять-таки потому что программа покрупнее будет, я записываю результат в массив. Как ты выберешь - это твое дело. А перед тем как выводить список ответов перетасуй их.
Примерчик плиз
С Уважением,
Shasha

Tamplier
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 183
Зарегистрирован: 18.11.2005 (Пт) 13:35
Откуда: Москва

Сообщение Tamplier » 24.03.2006 (Пт) 16:07

Блин, в прошлый раз не все пришло... Там текста раза в два было больше. :( Лан, щас уже все не помню. Вспомню - допишу.

Примерчик... Может, тебе еще и код программы выложить? А потом чтобы меня с этой работой послали? Хм... Ну ладно.

Перед тем как выводить ответы во время прохождения теста на форме:
создаешь массив с размерностью такой же, какое число ответов, типа Long (можно и Byte, просто я не люблю использовать для операций с целыми числами что-либо, кроме Long) [AnswerPlace] и переменную того же типа, что и массив [TempAnswerPlace] {количество ответов - NumberOfAnswers, номер текущего вопроса - NumberOfCurrentQuestion}

Код: Выделить всё
    PutAnswer = True
            For i = 1 To Questions(h).NumberOfAnswers
                TempAnswerPlace = Int(Rnd * NumberOfAnswers + 1)
                For j = 1 To i - 1
                    If TempAnswerPlace <> AnswerPlace(j) Then
                        PutAnswer = True
                    Else
                        PutAnswer = False
                        i = i - 1
                        Exit For
                    End If
                Next j
                If PutAnswer Then AnswerPlace(i) = TempAnswerPlace
            Next i


Когда проверяешь ответ:
Код: Выделить всё
        For i = 1 To NumberOfAnswers
            If optAnswer(AnswerPlace(i)).Value Then
                AnswerValue(NumberOfCurrentQuestion) = CStr(i)
                Exit For
            End If
        Next

Вот, собственно, и все.

Shasha
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 106
Зарегистрирован: 08.11.2005 (Вт) 15:09

Сообщение Shasha » 24.03.2006 (Пт) 18:29

Tamplier , от кода конечно не откажусь :)))) ну кто тя попрёт? было бы замечательно если бы был готовый примерчик + кто то нашол иной способ реализации.. :)
С Уважением,
Shasha

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 24.03.2006 (Пт) 19:44

Вот народ пошел, я фигею...
Lasciate ogni speranza, voi ch'entrate.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 24.03.2006 (Пт) 20:37

Я не могу смотреть. Молодой человек, конкурс подразумевает создание программы своими силами, без посторонних примерчиков и блюдечек с голубыми каемочками.

Tamplier
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 183
Зарегистрирован: 18.11.2005 (Пт) 13:35
Откуда: Москва

Сообщение Tamplier » 25.03.2006 (Сб) 16:44

Не, обращаться за помощью-то оно, конечно, надо, но, блин, не надо наглеть

Tamplier
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 183
Зарегистрирован: 18.11.2005 (Пт) 13:35
Откуда: Москва

Сообщение Tamplier » 25.03.2006 (Сб) 16:46

Админы, извините за второй пост подряд...

Shasha писал(а):Tamplier , от кода конечно не откажусь :)))) ну кто тя попрёт? было бы замечательно если бы был готовый примерчик + кто то нашол иной способ реализации.. :)

Я вообще программу на разные модули разбиваю сейчас... Долго разбираться будешь. :P

Shasha
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 106
Зарегистрирован: 08.11.2005 (Вт) 15:09

Сообщение Shasha » 25.03.2006 (Сб) 20:41

Блин, ну ни рублю я в массивах, вообще... поэтому и попрасил, понимая, что наглось... :oops:
С Уважением,
Shasha

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 26.03.2006 (Вс) 5:04

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

Shasha
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 106
Зарегистрирован: 08.11.2005 (Вт) 15:09

Сообщение Shasha » 26.03.2006 (Вс) 10:19

GSerg , моё учебное заведение должно учавствовать в конкурсе... Директор сказал, что нада...ну у нас больше никто не программит
С Уважением,
Shasha

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 26.03.2006 (Вс) 11:33

Если учебное заведение должно, и в нём преподаётся информатика, значит программишь не только ты.
Если в учебном заведении не преподаётся информатика, учебное заведение ничего не должно.
Если учебное заведение должно, а информатика в нём не преподаётся, участвовать должен директор.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

eugene2005
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 178
Зарегистрирован: 30.10.2005 (Вс) 21:35
Откуда: от Верблюда!

Сообщение eugene2005 » 26.03.2006 (Вс) 14:47

GSerg писал(а):....
Если учебное заведение должно, а информатика в нём не преподаётся, участвовать должен директор.



:lol: :lol: :lol:

Tamplier
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 183
Зарегистрирован: 18.11.2005 (Пт) 13:35
Откуда: Москва

Сообщение Tamplier » 26.03.2006 (Вс) 14:51

Если учебное заведение должно, а информатика в нём не преподаётся, участвовать должен директор.

директор не будет участвовать. Потому что он директор. :evil: [/code]

Shasha
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 106
Зарегистрирован: 08.11.2005 (Вт) 15:09

Сообщение Shasha » 26.03.2006 (Вс) 16:31

GSerg , информатика преподаётся. на программера учусь.. :)
Если учебное заведение должно, и в нём преподаётся информатика, значит программишь не только ты.

Увы, ошибаешся :(
если не будет участия, будут люли директору, от директора таких люлей мне и преподам :(
С Уважением,
Shasha

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 27.03.2006 (Пн) 11:23

на программера учусь


А что такое массивы - не знаешь? И давно учишься? :wink:
Быть... или не быть. Вот. В чём вопрос?

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 27.03.2006 (Пн) 12:52

Я бы БД задействовал :о), потом аналитику проводить можно...

А обязательно VB, есть специализированные проги AuthorWare, например

Если учебное заведение должно, и в нём преподаётся информатика, значит программишь не только ты.
Если в учебном заведении не преподаётся информатика, учебное заведение ничего не должно.
Если учебное заведение должно, а информатика в нём не преподаётся, участвовать должен директор. (с) GSerg


Супер :о)

Автор готовь ведро вазелина и с повинной к директору.
Пора уже всем хорошим людям собраться и убить всех плохих людей.

Shasha
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 106
Зарегистрирован: 08.11.2005 (Вт) 15:09

Сообщение Shasha » 27.03.2006 (Пн) 15:07

GB826 , думал с бд... для "с бд" нуно ещё библиотеки и регать их... с 'nvv то проблем нет но 5 лишних метров никчему, да и не нормально это как то :(
uhm , всё тебе расскажи :)
С Уважением,
Shasha

CORBA
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 179
Зарегистрирован: 22.11.2003 (Сб) 13:41
Откуда: Ukraine-Crimea-Feodosia

Сообщение CORBA » 27.03.2006 (Пн) 17:08

Мне кажется структурный файл проще всего использовать для решения данной задачи. Конечно БД круче, но её необходимо устанавливать на компьютер перед эксплуатацией программы, что не есть хорошо, имхо.
У каждой сложной задачи есть множество простых для понимания, но неправильных решений.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 187

    TopList