Чтение из текстового файла строк или слов в произвольном порядке - VB

Узнай цену своей работы

Формулировка задачи:

Доброго Времени суток! Продолжаю писать проект. Есть такое задание: Пользователю из текстового файла(txt.txt) выдается слово в Label Пользователь должен ввести его перевод в TextBox и нажать btnNext Слова должны выдаваться рендомно. Помогите с реализацией

Решение задачи: «Чтение из текстового файла строк или слов в произвольном порядке»

textual
Листинг программы
  1. Dim Q() As String 'ГЎГ*Г§Г* âîïðîñîâ
  2. Dim R() As String 'ГЎГ*Г§Г* îòâåòîâ
  3. Dim CQ As Integer 'ГЄ-ГўГ® âîïðîñîâ Гў ГЎГ*çå
  4. Dim CR As Integer 'ГЄ-ГўГ® âûäГ*Г*Г*ûõ îòâåòîâ
  5. Dim b_Q() As Boolean 'ïðîçâó÷Г*ГўГёГЁГҐ âîïðîñû
  6. Dim b_R() As Boolean 'âûäГ*Г*Г*ûå ГўГ*ðèГ*Г*ГІГ» îòâåòîâ
  7. Dim nQ As Integer 'ГЎГ*çîâûé Г*îìåð âîïðîñГ*
  8. Dim CV As Integer 'ГЄ-ГўГ® ГЇГ°Г*âèëüГ*ûõ îòâåòîâ
  9. Public mark As Byte ' îöåГ*ГЄГ*
  10. Public kolvo As Byte ' êîëè÷åñòâî âîïðîñîâ
  11. Public family As String ' ГґГ*ìèëèÿ ГіГ·ГҐГ*ГЁГЄГ*
  12.  
  13. Private Sub btnNext_Click()
  14. kolvo = 2
  15. If CR > 0 Then
  16.   If txtAnswer.Text = "" Then
  17.     MsgBox "Ââåäèòå îòâåò!"
  18.     Exit Sub
  19.   Else
  20.     CV = CV - (R(0, nQ) = lblQ.Caption)
  21.   End If
  22. End If
  23. CR = CR + 1
  24. If CR > kolvo Then 'ïðîéäåГ*
  25. MarkRate
  26.   If MsgBox("Ïðîâåðî÷Г*Г*Гї Г°Г*áîòГ* Г*Г*ГЇГЁГ±Г*Г*Г*." & vbLf & "Г‚Г*Гё ðåçóëüòГ*ГІ: " & CV & " ГЇГ°Г*âèëüГ*ûõ îòâåòîâ ГЁГ§ " & kolvo & vbLf & "Г‚Г*ГёГ* îöåГ*ГЄГ* " & mark) Then
  27.     MarkRate
  28.     frmMain.Text1.Text = frmMain.Text1.Text & "Ó÷åГ*ГЁГЄ " & family & " Гў ðåçóëüòГ*ГІГҐ ïðîâåðî÷Г*îé Г°Г*áîòû ïîëó÷èë îöåГ*ГЄГі " & mark
  29.     frmMain.Text1.Text = frmMain.Text1.Text & vbCrLf
  30.     Unload frmControl
  31.     frmMain.Show
  32.   End If
  33. Else
  34.     Randomize
  35.   Do
  36.     nQ = Int(Rnd * CQ) + 1
  37.   Loop While b_Q(nQ)
  38.   b_Q(nQ) = True
  39.   lblQ = Q(nQ)
  40.   ReDim b_R(0 To 2)
  41.     Do
  42.       nR = Int(Rnd * 3)
  43.     Loop While b_R(nR)
  44.     b_R(nR) = True
  45.     txtAnswer.Text = ""
  46. End If
  47. End Sub
  48.  
  49. Private Sub Form_Load()
  50. family = InputBox("Ââåäèòå ГўГ*ГёГі ГґГ*ìèëèþ", "Ââîä")
  51. frmControl.Caption = "Г’ГҐГ±ГІ ïðîõîäèò ГіГ·ГҐГ*ГЁГЄ " & family
  52. If CQ = 0 Then ' åñëè ГЄ-ГўГ® âîïðîñîâ Гў ГЎГ*çå Г°Г*ГўГ*Г® 0
  53.  ReDim Q(0), R(0, 0)
  54.   Dim S As String
  55.   Open App.Path + "\ControlWork\ControlWork1.RJT" For Input As 1
  56.   While Not EOF(1)
  57.     Line Input #1, S
  58.     S = Trim(S)
  59.     If Val(S) > 0 Then
  60.       CQ = CQ + 1
  61.       ReDim Preserve Q(CQ), R(0, CQ)
  62.       Q(CQ) = Mid(S, InStr(1, S, " ") + 1)
  63.       CR = 0
  64.     ElseIf S > "" Then
  65.       R(CR, CQ) = Mid(S, InStr(1, S, " ") + 1)
  66.       CR = CR + 1
  67.     End If
  68.   Wend
  69.   Close 1
  70. End If
  71. ReDim b_Q(CQ)
  72. CR = 0
  73. CV = 0
  74. btnNext_Click
  75. End Sub
  76.  
  77.  
  78. Public Sub MarkRate()
  79. a = CV / kolvo
  80. Select Case a
  81. Case 0.5 To 0.7
  82. mark = 3
  83. Case 0.7 To 0.9
  84. mark = 4
  85. Case 0.9 To 1
  86. mark = 5
  87. Case Else
  88. mark = 2
  89. End Select
  90. End Sub

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


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

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

8   голосов , оценка 3.875 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы