Чтение из текстового файла строк или слов в произвольном порядке - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д