Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 10.06.2019, 14:58   #11
linda88
Форумчанин
 
Регистрация: 17.01.2019
Сообщений: 73
Репутация: 27
По умолчанию

Код:
for I := 1 to memo2.Lines.Count -1 do

if pos(memo3.Text,memo2.Lines[i])=0 then
 begin
    memo3.Lines.Add(memo2.Lines[i])
 end
только одно вхождение нашел остальные игнорит
linda88 вне форума   Ответить с цитированием
Старый 10.06.2019, 15:04   #12
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,787
Репутация: 6622
По умолчанию

Код:
for I := 0 to memo2.Lines.Count -1 do
  if memo3.Lines.IndexOf(memo2.Lines[i])<0 then memo3.Lines.Add(memo2.Lines[i]);
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума   Ответить с цитированием
Старый 10.06.2019, 15:09   #13
linda88
Форумчанин
 
Регистрация: 17.01.2019
Сообщений: 73
Репутация: 27
По умолчанию

Вышло а почему у меня не получалось?
linda88 вне форума   Ответить с цитированием
Старый 10.06.2019, 15:10   #14
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,787
Репутация: 6622
По умолчанию

Почитай все предыдущие посты ))
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума   Ответить с цитированием
Старый 11.06.2019, 13:56   #15
linda88
Форумчанин
 
Регистрация: 17.01.2019
Сообщений: 73
Репутация: 27
По умолчанию

удалить пустые строки пробовала вот так
Код:
for I := 1 to memo2.Lines.Count -1 do

if (memo3.Lines.IndexOf(memo2.Lines[i])<0) and  (length(memo3.Lines[i])=0)  then
 begin
   I2:=I2+1;
   memo3.Lines.Add(inttostr(I2)+memo2.Lines[i]);
   end;
и вот так

Код:
for I := 1 to memo2.Lines.Count -1 do
begin
 if (length(memo3.Lines[i])=0)  then
 end;
 for I := 1 to memo2.Lines.Count -1 do
if memo3.Lines.IndexOf(memo2.Lines[i])<0  then
 begin
   I2:=I2+1;
   memo3.Lines.Add(inttostr(I2)+memo2.Lines[i]);
   end;

Последний раз редактировалось linda88; 11.06.2019 в 14:02.
linda88 вне форума   Ответить с цитированием
Старый 11.06.2019, 14:02   #16
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,787
Репутация: 6622
По умолчанию

Код:
for I := 1
чего от 1, а не от 0?
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума   Ответить с цитированием
Старый 11.06.2019, 14:13   #17
linda88
Форумчанин
 
Регистрация: 17.01.2019
Сообщений: 73
Репутация: 27
По умолчанию

Ну это нечего не изменило
Код:
for I := 0 to memo2.Lines.Count -1 do
begin
 if (length(memo3.Lines[i])=0)  then
 memo3.Lines.Delete(i);
 end;
 for I := 0 to memo2.Lines.Count -1 do
if memo3.Lines.IndexOf(memo2.Lines[i])<0  then
 begin
   I2:=I2+1;
   memo3.Lines.Add(inttostr(I2)+memo2.Lines[i]);
   end;
и вот так
Код:
for I := 0 to memo2.Lines.Count -1 do
if (memo3.Lines.IndexOf(memo2.Lines[i])<0) and (length(memo2.Lines[i])=0) then
 begin
   I2:=I2+1;
   memo3.Lines.Add(inttostr(I2)+memo2.Lines[i]);
   end;

Последний раз редактировалось linda88; 11.06.2019 в 14:18.
linda88 вне форума   Ответить с цитированием
Старый 11.06.2019, 14:23   #18
linda88
Форумчанин
 
Регистрация: 17.01.2019
Сообщений: 73
Репутация: 27
По умолчанию

вот так стало лучше:
Код:
for I := 0 to memo2.Lines.Count -1 do
begin
 if (length(memo2.Lines[i])=0)  then
 memo2.Lines.Delete(i);
 end;
 for I := 0 to memo2.Lines.Count -1 do
if memo3.Lines.IndexOf(memo2.Lines[i])<0  then
 begin
   I2:=I2+1;
   memo3.Lines.Add(inttostr(I2)+memo2.Lines[i]);
   end;
но стали дубликаты оставаться
linda88 вне форума   Ответить с цитированием
Старый 11.06.2019, 14:28   #19
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 25,592
Репутация: 5617
По умолчанию

Цитата:
Сообщение от linda88 Посмотреть сообщение
вот так стало лучше:
никогда не удаляйте записи в прямом цикле for
либо используйте цикл while\repeat, либо обратный for

сравните
Код:
for I := memo2.Lines.Count -1 downto 0 do
   if (length(memo2.Lines[i])=0)  then  memo2.Lines.Delete(i);
это раз.

а второе.
если Вы дальше переносите записи из Memo2 в Memo3
то зачем Вам вообще удалять пустые строки из Memo2
ведь достаточно добавить условие if в цикл переноса.
и не надо ничего удалять. Будет быстро и хорошо.
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 11.06.2019, 14:29   #20
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,787
Репутация: 6622
По умолчанию

Цитата:
Ну это нечего не изменило
Если у тебя две конфеты и каждую нужно слопать. Первую пропускаем и кушаем только вторую или хавкаем обе - что-то изменилось?
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума   Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление дубликатов SolovejK Общие вопросы Delphi 7 14.03.2015 00:31
Удаление дубликатов Wind-up Bird Microsoft Office Excel 9 02.02.2012 12:49
Удаление дубликатов строк hon Паскаль 10 02.08.2011 05:29
удаление дубликатов в ListView fate Общие вопросы Delphi 8 12.05.2011 16:51
Удаление дубликатов Deltist Microsoft Office Excel 11 14.01.2011 17:01


08:35.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru