Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.03.2011, 13:19   #1
celovec
Форумчанин
 
Регистрация: 15.06.2007
Сообщений: 182
По умолчанию Вывод случайно строчки из файла объемом в 3мб.

Добрый день. Необходимо вывести случайную строчку из текстового файла объемом около 2-3мб.
Подскажите пожалуйста как правильно это сделать.
celovec вне форума Ответить с цитированием
Старый 18.03.2011, 13:28   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

юзай
Код:
var sl : tstringlist;
...
sl := tstringlist.create;
sl.loadfromfile(путь+имя файла);
label1.caption := sl[random(sl.count)];
вроде как всё должно работать
phomm вне форума Ответить с цитированием
Старый 18.03.2011, 13:30   #3
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Загрузить текстовый файл в StringList. И взять Random от 0 до StringList.Count-1
_SERGEYX_ вне форума Ответить с цитированием
Старый 18.03.2011, 13:30   #4
ЗаводнойАпельсин
 
Регистрация: 09.03.2011
Сообщений: 5
По умолчанию

Код:
var stringBuff:TStringList;
begin
 stringBuff:=TStringList.create;
 stringBuff.loadFromFile('путь к файлу, в котором текст');
 ShowMessage(stringBuff[random(stringBuff.count-1)]; выводим случайную строку
 StringBuff.free
ЗаводнойАпельсин вне форума Ответить с цитированием
Старый 18.03.2011, 13:31   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

[OFFTOP]
Цитата:
сектовый
12345678
[/OFFTOP]
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 18.03.2011, 13:32   #6
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Хе, я уже исправил
_SERGEYX_ вне форума Ответить с цитированием
Старый 18.03.2011, 13:32   #7
ЗаводнойАпельсин
 
Регистрация: 09.03.2011
Сообщений: 5
По умолчанию

Код:
randomize;
ещё поставить перед всем этим кодом перед выводом сообщения
ЗаводнойАпельсин вне форума Ответить с цитированием
Старый 18.03.2011, 13:33   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
ещё поставить перед всем этим кодом перед выводом сообщения
в OnFormCreate достаточно один раз
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 18.03.2011, 13:39   #9
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

по-моему, нельзя брать random(count-1), потому что последняя строчка не выпадет никогда. ведь рандом берет рандомное число такое что x:= random(n) будет давать 0<=x<n
phomm вне форума Ответить с цитированием
Старый 18.03.2011, 13:58   #10
celovec
Форумчанин
 
Регистрация: 15.06.2007
Сообщений: 182
По умолчанию

Спасибо за такое большое количество ответов.
Все получилось.
celovec вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
случайно удалил программу voldemen Компьютерное железо 8 29.09.2010 15:32
работа с большим объемом данных Ckif Microsoft Office Excel 1 14.09.2010 17:05
случайно число (rand) Abuhamed PHP 4 20.02.2010 13:05
Случайно но не повторяясь! uraura Общие вопросы Delphi 8 30.11.2008 19:46
удаление строчки из файла tigr1991 Общие вопросы Delphi 4 01.02.2008 22:51