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

Delphi Sources



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

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.05.2009, 22:38
Аватар для X-rem
X-rem X-rem вне форума
Начинающий
 
Регистрация: 06.04.2007
Адрес: Питер
Сообщения: 119
Репутация: 10
По умолчанию Помогите оптимизировать код

Здраствуйте, у меня проблема.
Пытаюсь убрать повторяющиеся строки из Memo.
Причем не учитывая данные в [ ]
Код:
Кусок из мемо:
[30.4.2009 7:9:25] login=user1 | ip=195.58.235.14
[30.4.2009 8:35:10] login=user2 | ip=81.23.190.39
[30.4.2009 9:1:0] login=user3 | ip=195.58.235.14    <--- Эту строку надо оставить
[30.4.2009 8:12:56] login=user3 | ip=195.58.235.14  <--- Эту строку надо удалить

Удаляю повторы вот таким кодом:
Код:
procedure DeleteEmpty;
var
zz:Integer;
begin
zz:=0;
repeat
zz:=zz+1;
if Form1.Memo1.Lines[zz]='' then begin Form1.Memo1.Lines.Delete(zz);
zz:=0;
end;
until zz=Form1.Memo1.Lines.Count-1;
end;

procedure TForm1.Button9Click(Sender: TObject);
var
i,ii: Integer;
str,sstr : String;
begin
i:=0;
repeat
i:=i+1;
ii:=0;
str:=Copy(Memo1.Lines[i],pos(']',Memo1.Lines[i])+1,Length(Memo1.Lines[i]));
repeat
sstr:=Copy(Memo1.Lines[ii],pos(']',Memo1.Lines[ii])+1,Length(Memo1.Lines[ii]));
if str=sstr then Memo1.Lines[ii]:='';
ii:=ii+1;
until ii=Memo1.Lines.Count;
Memo1.Lines[i]:=str;
until i=Memo1.Lines.Count;
DeleteEmpty;
end;

При обработки Memo в 10000 линий процесс затягивается до одного часа а то и больше , а это плохо

Вообщем помогите оптимизировать .
А тем кто поможет подарю восьмизначный номерок

============
Зарание благодарю.
__________________
[ Ты не сможешь никому помочь до тех пор, пока не поможешь себе ]
Delphi 7 user
  • Indy 10.5.5
  • AbfEffects & Controls
  • LockBox
  • AlphaControls
  • Eagle CDK

ICQ: 570224849 / JID: x-rem@jabber.ru|no / Skype: ukc-rem / VK: ukc_rem.vk.com (ID: 27703738)
Ответить с цитированием
 


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter