Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Сайт

Страница: 1 |

 

  Вопрос: Помощь начинающему программисту! Пожайлуста Добавлено: 24.10.05 06:33  

Автор вопроса:  220 V
Всем привет!!!!!!!!
У меня такая проблема. Мне надо сделать прогу на VB. Суть проги - обычный тест. Тест состоит из 1 вопоса и 4 ответов, из них 1 правильный. Но это ладно, проблемо в другом я не зная как мне реализовать следущее:

1. Вопросы и ответы в txt-файле, надо в рандомном режиме брать из файла вопрос с ответами и выводить на экран (в tex1, Option1, Option2, Option3, Option4). Все 10 вопросов. Это надо делать на 1-ой форме или для каждого вопроса создавать новую?

2. И наверно самое сложное: Надо чтобы это работало через сеть и у преподователя выводился список группы и оценки по тесту. Как лучше это сделать, как Cервер-Клиент. Подскажите плизз, как это реализовать? Или можно подругому, попроще?

Заранее спасибо!!!
Буду заранее всем блогодарен.

g22v@mail.ru

Ответить

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

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



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #1
Добавлено: 24.10.05 06:53
Ты попал куда нужно. За небольшую сумму тебе тут сделают нужную программу.

Ответить

Номер ответа: 2
Автор ответа:
 K&M



ICQ: 225442067 

Вопросов: 20
Ответов: 170
 Профиль | | #2 Добавлено: 24.10.05 15:55
1) Как твоя душа пожелает :)))
2) Возьми Winsock control. Самый простой вариант

Ответить

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



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #3 Добавлено: 24.10.05 18:36
Ты попал куда нужно. За небольшую сумму тебе тут сделают нужную программу.


Беру в 2 раза меньше))

Ответить

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


 

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

Вопросов: 236
Ответов: 8362
 Профиль | | #4 Добавлено: 24.10.05 19:48
Придумай организацию вопросов и ответов в файле, например

Вопрос|Вариант1|Вариант2|Вариант3|Вариант4|<цифра правельного варианта>
на слейдущей строчки всё аналогично пвторояется...
Сохраним всё в файл q.dat

далее реализуем загрузку всего файла в переменную, для этого будем использовать эту ф-цию

Public Function LoadTextFile(path As String) As String
'Загрузка файла в переменную
 Dim l As Long
 Dim s As String
 n = FreeFile
 Open path For Binary As #n
 l = LOF(n)
 s = String(l, vbNullChar)
 Get n, , s
 Close #n
 LoadTextFile = s
End Function


пользоваться её так:
sPath$ = App.Path & "\q.dat"
'или другой путь к файлу с вопросами
txt$ = LoadTextFile (sPath$)

теперь в переменной txt$ всё содержимое файла q.dat. Разобъём наш файл по строкам, для выбора определённого вопроса

Dim tmpArr$()
tmpArr$ = Split (txt$, vbCrLf)


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

Randomize Timer
Dim num As Integer
num = Int(Rnd * Ubound(tmpArr$)) + 1


Теперь вытащим из массива наш случайный вопрос

q$ = tmpArr$(num)


Разобъём эту строку на вопрос, вариант ответа, и правельный вариант...

Dim tmpArr2$()
tmpArr2$ = Split (q$, "|";)


Теперь в
tmpArr2$(0) - сам вопрос
tmpArr2$(1) - Вариант ответа 1
tmpArr2$(2) - Вариант ответа 2
tmpArr2$(3) - Вариант ответа 3
tmpArr2$(4) - Вариант ответа 4
tmpArr2$(5) - Номер верного ответа

Теперь это где-то красиво выводим:
Label1 = tmpArr2$(0)
Option1.Caption = tmpArr2$(1)
Option2.Caption = tmpArr2$(2)
Option3.Caption = tmpArr2$(3)
Option4.Caption = tmpArr2$(4)


Предположим что для выбора ответа 4 кнопки, создим массив элементов Command1(0..3), событие клика которых будут отправлятся в одну и туже функцию, только указывая индекс кнопки (вариант ответа). Эта функция проверять выбранный вариант с правельным, и возвращать True or False соответственно, и так...

Есть массив кнопок Command1(0), Command1(1), Command1(2), Command1(3) И общая функция обработки клика

Private Sub Command1_Click(Index As Integer)
If Check(Index) Then
'ответили правельно, выводим сообщение или переходим к слейдущему, вообщем сам придумаешь
Else
'ответили не правельно, тоже придумаешь...
End if
End Sub


и функция проверки

Private Function Check(Index As Integer) As Boolean
If Index = tmpArr2$(5) then
Check = True
Else
Check = False
End if
End Function


P.S.
Помни про видимость переменных/массив в подпрограммах, т.е. возможно придётся объявить tmpArr$ и tmpArr2$ в декларациях, или модернизировать ф-ции чтобы можно было им передавать массив.

По поводу передачи данных по сети, попробуй посмотреть исходники других программ, здесь полно таких. Там всё очень просто Winsock1.Connect IP, Port и Winsock1.SendData txt$ (txt$ - передаваемые данные, что-то типа возвращаемого значения ф-ции Check, далее на сервере ф-ция Winsock1_DataArrival методом Winsock1.GetData возвратит передаваемые данные, по которым ты будешь орентироваться дальше...)



Ответить

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



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

Вопросов: 47
Ответов: 621
 Web-сайт: intermult.boom.ru
 Профиль | | #5
Добавлено: 05.11.05 20:38
Winsock1.Connect IP, Port
На счет передачи по сетке - лучше использовать UDP протокол.

Ответить

Страница: 1 |

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



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