Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Тест, Помогите с реализацией 
:(
    Опции темы
Emilll
Дата 28.2.2007, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 28.2.2007

Репутация: нет
Всего: нет



Всем привет! В общем хочу тест сделать в VB, но пока ещё не очень разбираюсь в нём...
Помогите кто чем может!
Короче я создаю форму, ставлю на ней 4 OptionButton'a (здесь будут варианты ответа), label (здесь отображается вопрос теста), commandbutton (типа ввода ответа, если нужный optionbutton=true тогда какой-то переменной прибавляется 1). Вот возникла проблема: мне нужно чтобы после каждого нажатия на commandbutton менялся вопрос и варианты ответа. Есть предложения?
PM MAIL   Вверх
Naghual
Дата 28.2.2007, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



Переназначай Caption каждого из компонентов.


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
Emilll
Дата 28.2.2007, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 28.2.2007

Репутация: нет
Всего: нет



Это понятно, но весь код располагается в commandbuttone, а мне ещё нужно, чтобы после правильного ответа увеличивалась переменная...Вот код:
Private Sub Cmd1_Click()
Option1.Visible = True
Option2.Visible = True
Option3.Visible = True
Option4.Visible = True
Label1.Caption = "Êàêàÿ èç ïðîãðàìì ïîçæå äðóãèõ íà÷àëà èñïîëüçîâàòüñÿ íà ÏÊ?"
Option1.Caption = "Norton Commander"
Option2.Caption = "Microsoft Word 2000"
Option3.Caption = "MS-DOS"
Option4.Caption = "Windows 95"
Cmd1.Caption = "Ââîä"
If Option1.Value = True Then n = n + 1
End Sub

PM MAIL   Вверх
neiron
Дата 28.2.2007, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 18.4.2006
Где: Краснодар

Репутация: 3
Всего: 4



Что-то типо:

Код

Option Explicit
Const AllQ As Integer = 10            'общее количество вопросов в тесте
Dim NumRAn(1 To AllQ) As Byte      'массив правильных номеров ответов
Dim qStr(1 To AllQ) As String     'массив текстов вопросов
Dim AnsStr(1 To AllQ, 1 To 4) As String       'массив ответов на вопросы
Dim KolQ As Integer             'номер текущего вопроса
Dim a As Integer                  'некая переменная, суммирующая правильные ответы

Private Sub Form_Load()
'здесь ещё надо задать все массивы - из файла, либо ручками... 
    KolQ = 1
    Call ReQuest
End Sub

Private Sub Command1_Click()
    If KolQ < AllQ Then           
        If Option1(NumRAn(KolQ)).Value = True Then a = a + 1     'увеличение значения переменной при правильном ответе
        KolQ = KolQ + 1
        Call ReQuest
    Else
        MsgBox ("Тест закончен.")
        Command1.Enabled = False
    End If
End Sub



Private Sub ReQuest()
'перереисовываем надписи
Dim i As Integer
    Label1.Caption = qStr(KolQ)
    For i = 0 To 3
        Option1(i).Caption = AnsStr(KolQ, i + 1)
        Option1(i).Value=False
    Next i
End Sub


Только здесь не 4 разных Optiion, а массив из 4х...
PM MAIL   Вверх
Emilll
Дата 1.3.2007, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 28.2.2007

Репутация: нет
Всего: нет



Спасибо, ща проверю!
PM MAIL   Вверх
Emilll
Дата 1.3.2007, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 28.2.2007

Репутация: нет
Всего: нет



Огромное спасибо!!! Только возник ещё один глупый вопрос: каким оператором переводить числовой формат в строчный. Мне нужно вывести результат типа: label1.caption="Вы набрали "+а+" баллов"
PM MAIL   Вверх
neiron
Дата 1.3.2007, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 18.4.2006
Где: Краснодар

Репутация: 3
Всего: 4



Код

label1.caption="Вы набрали "+cstr(а)+" баллов" 


PM MAIL   Вверх
Akina
Дата 2.3.2007, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Настоятельно рекомендуется при работе со строками вместо операции сложения "+" использовать операцию конкатенации "&". Тогда, кстати, приведение к строковому виду будет выполнено автоматически:
Код
label1.caption="Вы набрали " & а & " баллов" 
дает абсолютно тот же результат, что и код neiron-а... впрочем, рекомендуется выполнять приведение типов явно, потому "правильный" код (который никогда не вызовет проблем - ни при сборке, ни исполнения, и с пониманием сути все в порядке) выглядит так:
Код
label1.caption="Вы набрали " & cstr(а) & " баллов" 



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Emilll
Дата 2.3.2007, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 28.2.2007

Репутация: нет
Всего: нет



Спасибо за то, что помогли нубу!!! Не забуду! 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0478 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.