Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
Сергей K.
-
- Начинающий
-
-
- Сообщения: 6
- Зарегистрирован: 10.04.2003 (Чт) 9:18
Сергей K. » 17.04.2003 (Чт) 8:49
Вообщем сабж.
Т.е. есть массив, в качестве переменных которого string,
как их перемешать в произвольном порядке и слить в файл обратно.
Спасибо.
-
alibek
-
- Большой Человек
-
-
- Сообщения: 14205
- Зарегистрирован: 19.04.2002 (Пт) 11:40
- Откуда: Russia
alibek » 17.04.2003 (Чт) 9:37
Ну допустим у тебя есть массив Text(1 to 100) As String
Тогда:
- Код: Выделить всё
Dim I As Long, J As Long, N As Long, Z As String
Dim I1 As Long, I2 As Long
N = UBound(Text)
For I = 1 to N-1
Randomize Timer
J = I+1 + Fix(Rnd*(N-I))
Z = Text(I)
Text(I) = Text(J)
Text(J) = Z
Next i
Lasciate ogni speranza, voi ch'entrate.
-
Сергей К..
-
- Начинающий
-
-
- Сообщения: 5
- Зарегистрирован: 11.04.2003 (Пт) 17:40
Сергей К.. » 17.04.2003 (Чт) 22:08
Спасибо! работает.
Кстати а как можно объяснить, что уменя полученный файл (после всех
действий с ним) отличается от исходного на где-то 600 байтов.
Что делаю с файлом: вырезаю тектовые блоки черех InStr,
затем блоки помещаю в массив, потом массив перебираю в цикле
+ Fix(Rnd*(N-I)) "Твой пример", затем еще раз перебираю в циkле и через txt.WriteLine strArray(I) пишу в файл. Куда делись байты ????
-
skiperski
-
- Идеолог
-
-
- Сообщения: 1386
- Зарегистрирован: 25.06.2002 (Вт) 15:52
skiperski » 18.04.2003 (Пт) 11:43
Сергей К.. писал(а):Кстати а как можно объяснить, что уменя полученный файл (после всех
действий с ним) отличается от исходного на где-то 600 байтов.
Сравни кол-во строк в исходном и полученном файлах. Скорее всего теряешь пустые строки. При большом объёме исходника потерять 300 строк (по два символа на сторку, vbCrLf = vbCr & vbLf = Chr$(13) & Chr$(10)) можно запросто. Ещё могут быть, точнее наоборот - отсутствовать, завершающие строку пробелы.
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, Google-бот, Хакер, Yandex-бот и гости: 81