Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Как считать из текстового файла 2 случайных слова


Автор: Win MK 32 6.3.2004, 10:16
Помогите, пожалуйста. Как считать из текстового файла 2 случайных слова, исключая повторения и записать их в две стринговые переменные. Конечно можно прочитать весь файл и записать его в textbox, а уж оттуда выбрать 2 случайных слова.

Текстовый файл будет состоять из слов через запятую. Но если это не будет влиять, и любой текст пойдет, то это будет даже лучше.

В программе нужно будет считать 10 слов. Но для начала хватит двух.

Автор: Guest 22.4.2004, 16:21
Код

Option Base 1

Private Sub CommandButton1_Click()
Dim s() As String
Dim i, t1, t2 As Integer

Randomize Timer
ReDim Preserve s(1)
i = 1
Open "c:\1.txt" For Input As #1

Do While Not EOF(1)
 Input #1, s(i)
 ReDim Preserve s(UBound(s) + 1)
 i = i + 1
Loop
Eschoraz:
 t1 = Rnd * i
 t2 = Rnd * i
 If t1 <> t2 Then
   TextBox1.Text = s(t1)
   TextBox2.Text = s(t2)
 Else: GoTo Eschoraz:
 End If
Close #1
End Sub


Проверял на текстовом файле
Цитата

Мама,папа,я,сестра,брат,кошка Мурка,пес Барбос, хлеь, Ваня, Таня


Все работает, с несколькими строками не пробывал, так что не обессуть smile.gif

Автор: Akina 23.4.2004, 12:51
Для равномерной выборки слов просто необходимо прочитать весь файл. Иначе неизбежен перекос.
Или надо изначально иметь сведения о количестве слов в файле и их расположении там - причем не построчно, а побайтово от начала файла.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)