Показать сообщение отдельно
  #1  
Старый 13.01.2012, 21:19
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию вывод рандома из файла

меня интересует два типа вывода рандом
случайная строка и с разделителем
случайная строка

разделитель
Цитата:
#
текст
текст
#
текст
#
текст
текст
текст
#
Код:
N:= -1;
S:= TStringList.Create;
S.LoadFromFile(extractfilepath(paramstr(0))+'файл.txt');
listS:=TStringList.Create;
for i:=0 to S.Count-1 do
      if(S.Strings[i] = '#') then
       begin
        inc(N);
        listS.Add(inttostr(I));
        end;
k:=random(N);
for i:=(strToint(listSpam.Strings[k])+1) to (strToint(listSpam.Strings[k+1])-1) do
result:=result+spamS.Strings[i]+#13#10;
гружу файл запоминаю места разделителей и их число а затем рандомно выбираю разделитель и копирую строки от него и до следующего.

просто случайная строка
Цитата:
текст
текст
текст
текст
Код:
S:= TStringList.Create;
S.LoadFromFile(extractfilepath(paramstr(0))+'файл.txt');
a:=random(s.Count);
Result:=xtazkont.Strings[a];
ну тут все просто...

так вот хотел бы узнать как можно это сделать иначе, так как посылается команда с именем файла и надо сразу все это сделать, но это нормально если файл маленький а вот если там 10мб...
Ответить с цитированием