Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.08.2012, 14:25
Аватар для R-18Rus
R-18Rus R-18Rus вне форума
Новичок
 
Регистрация: 08.04.2012
Сообщения: 68
Версия Delphi: Delphi 7
Репутация: 127
По умолчанию Работа с большим текстовым файлом

Есть txtшник. Прога черпает из него нужный текст. Если текст в начале файла всё идёт гладко. Если текст в середине или в конце, то прога зависает, проц и озу забиваются на 100% (судя по гаджетам на windows sidebar).
Вот код:
Код:
procedure TForm1.Button2Click(Sender: TObject);
var StrLst:TStringList;
    s,s1:AnsiString; i:byte;
begin
if not FileExists('1.txt') then
  MessageDlg('Файл не найден',mtError,[mbOk],0)
  else begin
  StrLst:=TStringlist.Create;
  StrLst.LoadFromFile('1.txt');
  s1:=Label1.Caption;
  delete(s1,1,14);
  s:=('');
  i:=0;
  while i<StrLst.Count-1 do
    if StrLst[i]='Г'+s1 then
      begin
      repeat
      inc(i);
      s:=s+StrLst[i];
      s:=s+#13#10;
      if i=StrLst.Count-1 then break;
      until(StrLst[i+1]='Г'+IntToStr(StrToInt(s1)+1));
      break;
      end
      else inc(i);
  ShowMessage(s);
  end;
end;
Думаю изменить условие if StrLst[i]='Г'+s1 на функцию i:=pos('Г'+s1,StrLst.Text).

Поможет ли это?
__________________
Может быть, я и левша, но я всегда прав!
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:08.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025