Чтение из текстового файла строк или слов в произвольном порядке - 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

ИИ поможет Вам:


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

Оцени полезность:

8   голосов , оценка 3.875 из 5
Похожие ответы