Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.06;
Скачать: CL | DM;

Вниз

Работа с мемо   Найти похожие ветки 

 
tigraman   (2007-04-17 00:24) [0]

Я понимаю конечно что глупый вопрос, но всетаки, подскажите как из мемо поудалять все одинаковые строки, я делю так:

for i:=0 to Memo3.Lines.Count-1 do  begin
for j:=0 to Memo3.Lines.Count-1 do begin

if memo3.Lines.Strings[i]=memo3.Lines.Strings[j]
then  
    memo3.Lines.Delete(j);
 end; end;


но не все одинаковые строки удаляются почему то, подскажите как правильно. А также если работать с массивом строк, а не с мемо, будет ли программа работать быстрее?


 
Германн ©   (2007-04-17 01:26) [1]


> tigraman   (17.04.07 00:24)
>
> Я понимаю конечно что глупый вопрос, но всетаки, подскажите
> как из мемо поудалять все одинаковые строки,


with Memo3.Lines do
 for i:=Count-1 downto 1 do
   if Strings.IndexOf(Strings[i]) <> i then Strings.Delete(i);


{RASkov} и ЮЗ - простите за банальность!
:-)


 
{RASkov}   (2007-04-17 02:11) [2]

> [0] tigraman   (17.04.07 00:24)

Гениальный подход... Перед сном посмеялся :)

> [1] Германн ©   (17.04.07 01:26)

:)


 
{RASkov}   (2007-04-17 02:31) [3]

Хотя мысль была почти в правильном направлении, зря посмеялся, ну да ладно улыбнуло :)

for i:=Memo3.Lines.Count-1 downto 1 do begin
for j:=0 to i-1 do begin
 if memo3.Lines[i]=memo3.Lines[j] then memo3.Lines.Delete(j);
end;
end;

> [0] tigraman
Что-то напоминает [1] неправда ли?


 
Tigraman   (2007-04-17 14:32) [4]

Вот этот код работает быстрее последнего:

with Memo1.Lines do begin
for i:=Count-1 downto 1 do
  if IndexOf(Strings[i]) <> i then Delete(i);
end;


Последний также подвисает при больших объемах данных.
Спасибо всем.


 
{RASkov}   (2007-04-17 14:36) [5]

> [4] Tigraman   (17.04.07 14:32)
:)
> Что-то напоминает [1] неправда ли?

Я хотел выделить этим о двух циклах в разных направлениях.... вот. И то - что в [3] - оно наверное не правильно будет работать.... только подправил код из [0] для примера. "плохого"...



Страницы: 1 вся ветка

Текущий архив: 2007.05.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
3-1171821500
Rav
2007-02-18 20:58
2007.05.06
Димамическое добавление имени "владельца" к текущей записи


4-1165573534
Repavel
2006-12-08 13:25
2007.05.06
Как узнать хэндл активного окна


15-1175848083
Fredy314
2007-04-06 12:28
2007.05.06
Отправка E-mail через неблокирующие сокеты


1-1172824942
Kirflaer
2007-03-02 11:42
2007.05.06
Как перенести текст из RichEdit с сохранением форматирования


15-1175885262
МегаПупс
2007-04-06 22:47
2007.05.06
Устанока компонентов