Чтение из текстового файла строк или слов в произвольном порядке - VB
Формулировка задачи:
Доброго Времени суток! Продолжаю писать проект. Есть такое задание:
Пользователю из текстового файла(txt.txt) выдается слово в Label
Пользователь должен ввести его перевод в TextBox и нажать btnNext
Слова должны выдаваться рендомно.
Помогите с реализацией
Решение задачи: «Чтение из текстового файла строк или слов в произвольном порядке»
textual
Листинг программы
- Dim Q() As String 'ГЎГ*Г§Г* âîïðîñîâ
- Dim R() As String 'ГЎГ*Г§Г* îòâåòîâ
- Dim CQ As Integer 'ГЄ-ГўГ® âîïðîñîâ Гў ГЎГ*çå
- Dim CR As Integer 'ГЄ-ГўГ® âûäГ*Г*Г*ûõ îòâåòîâ
- Dim b_Q() As Boolean 'ïðîçâó÷Г*ГўГёГЁГҐ âîïðîñû
- Dim b_R() As Boolean 'âûäГ*Г*Г*ûå ГўГ*ðèГ*Г*ГІГ» îòâåòîâ
- Dim nQ As Integer 'ГЎГ*çîâûé Г*îìåð âîïðîñГ*
- Dim CV As Integer 'ГЄ-ГўГ® ГЇГ°Г*âèëüГ*ûõ îòâåòîâ
- Public mark As Byte ' îöåГ*ГЄГ*
- Public kolvo As Byte ' êîëè÷åñòâî âîïðîñîâ
- Public family As String ' ГґГ*ìèëèÿ ГіГ·ГҐГ*ГЁГЄГ*
- Private Sub btnNext_Click()
- kolvo = 2
- If CR > 0 Then
- If txtAnswer.Text = "" Then
- MsgBox "Ââåäèòå îòâåò!"
- Exit Sub
- Else
- CV = CV - (R(0, nQ) = lblQ.Caption)
- End If
- End If
- CR = CR + 1
- If CR > kolvo Then 'ïðîéäåГ*
- MarkRate
- If MsgBox("Ïðîâåðî÷Г*Г*Гї Г°Г*áîòГ* Г*Г*ГЇГЁГ±Г*Г*Г*." & vbLf & "Г‚Г*Гё ðåçóëüòГ*ГІ: " & CV & " ГЇГ°Г*âèëüГ*ûõ îòâåòîâ ГЁГ§ " & kolvo & vbLf & "Г‚Г*ГёГ* îöåГ*ГЄГ* " & mark) Then
- MarkRate
- frmMain.Text1.Text = frmMain.Text1.Text & "Ó÷åГ*ГЁГЄ " & family & " Гў ðåçóëüòГ*ГІГҐ ïðîâåðî÷Г*îé Г°Г*áîòû ïîëó÷èë îöåГ*ГЄГі " & mark
- frmMain.Text1.Text = frmMain.Text1.Text & vbCrLf
- Unload frmControl
- frmMain.Show
- End If
- Else
- Randomize
- Do
- nQ = Int(Rnd * CQ) + 1
- Loop While b_Q(nQ)
- b_Q(nQ) = True
- lblQ = Q(nQ)
- ReDim b_R(0 To 2)
- Do
- nR = Int(Rnd * 3)
- Loop While b_R(nR)
- b_R(nR) = True
- txtAnswer.Text = ""
- End If
- End Sub
- Private Sub Form_Load()
- family = InputBox("Ââåäèòå ГўГ*ГёГі ГґГ*ìèëèþ", "Ââîä")
- frmControl.Caption = "Г’ГҐГ±ГІ ïðîõîäèò ГіГ·ГҐГ*ГЁГЄ " & family
- If CQ = 0 Then ' åñëè ГЄ-ГўГ® âîïðîñîâ Гў ГЎГ*çå Г°Г*ГўГ*Г® 0
- ReDim Q(0), R(0, 0)
- Dim S As String
- Open App.Path + "\ControlWork\ControlWork1.RJT" For Input As 1
- While Not EOF(1)
- Line Input #1, S
- S = Trim(S)
- If Val(S) > 0 Then
- CQ = CQ + 1
- ReDim Preserve Q(CQ), R(0, CQ)
- Q(CQ) = Mid(S, InStr(1, S, " ") + 1)
- CR = 0
- ElseIf S > "" Then
- R(CR, CQ) = Mid(S, InStr(1, S, " ") + 1)
- CR = CR + 1
- End If
- Wend
- Close 1
- End If
- ReDim b_Q(CQ)
- CR = 0
- CV = 0
- btnNext_Click
- End Sub
- Public Sub MarkRate()
- a = CV / kolvo
- Select Case a
- Case 0.5 To 0.7
- mark = 3
- Case 0.7 To 0.9
- mark = 4
- Case 0.9 To 1
- mark = 5
- Case Else
- mark = 2
- End Select
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д