Информация из файла

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
Лелик_1044
Сообщения: 340
Зарегистрирован: 22 ноя 2004, 19:15
Откуда: Минск
Контактная информация:

Есть текстовый файл в нем идет информация небольшая через строчку

Для примера пусть есть файл anec.txt в нем хранятся N анекдотом чере строчку
Надо вывести 1 из них случайным образом в мемо

Подскажите как организовать
Просто набрать исходники может и любая обезьяна, а придумать и отладить не каждый человек.
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Создать массив стринглистов (или просто строк), в него считать весь файл, потом выбрать запись с номером random(stringlist.strings.count).
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Лелик_1044
Сообщения: 340
Зарегистрирован: 22 ноя 2004, 19:15
Откуда: Минск
Контактная информация:

А по памяти нормально будет
Просто набрать исходники может и любая обезьяна, а придумать и отладить не каждый человек.
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

ну можно пропускать случайное количество строк при чтении из файла :)
Изображение
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Сейчас средний объем оперативки компа - 0.5 - 1 гиг. У тебя текстовый файл с гигабайтом анекдотов?
Хватит, думаю.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
namomelkor
Сообщения: 230
Зарегистрирован: 31 авг 2006, 13:11

Можно сделать предварительную индексацию
например завести файл индексов например
4
1 1
2 4
3 8
4 9

где первая строка - кол-во анекдотов
далее первое число номер анекдота вророе - строка его начала.

и потом читаем из файла первую строку делаем рандом от первой строки.
находим начало анекдота и конец (следующая строка)
Лелик_1044
Сообщения: 340
Зарегистрирован: 22 ноя 2004, 19:15
Откуда: Минск
Контактная информация:

Короче загнал все в list и потом оттуда достаю
Но думаю проблема будет если файл пойдет от гига и выше
Но пока маленький нормалньо
Просто набрать исходники может и любая обезьяна, а придумать и отладить не каждый человек.
Ответить