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

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

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

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

Ответ
 
Опции темы
Старый 11.06.2019, 14:30   #21
linda88
Пользователь
 
Регистрация: 17.01.2019
Сообщений: 78
По умолчанию

спасибо все удалось
linda88 вне форума   Ответить с цитированием
Старый 11.06.2019, 17:26   #22
linda88
Пользователь
 
Регистрация: 17.01.2019
Сообщений: 78
По умолчанию

программа перестала удалять дубликаты
linda88 вне форума   Ответить с цитированием
Старый 11.06.2019, 17:41   #23
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 26,246
По умолчанию

Цитата:
Сообщение от linda88 Посмотреть сообщение
программа перестала удалять дубликаты
какая капризная программа. Ай-яй.... ;(

покажите код, который используете и пример заполнения дубликатами, которые не удаляются.

Надеюсь, понимаете, строчки с разными регистром, строчки, где в начале/конце строки есть пробелы - кодом как дубликаты не определяются.
и если вы номера строк добавили - то строчки тоже становятся разными. Ну это я на всякий случай пишу, имхо, это и так очевидно.
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 11.06.2019, 18:10   #24
linda88
Пользователь
 
Регистрация: 17.01.2019
Сообщений: 78
По умолчанию

вот
Код:
while (a <> memo2.Lines.Count -1)   do
begin
  a:=a+1;
if (memo2.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;
end;
linda88 вне форума   Ответить с цитированием
Старый 12.06.2019, 00:58   #25
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 26,246
По умолчанию

Цитата:
Сообщение от linda88 Посмотреть сообщение
if (memo2.Lines.IndexOf(memo2.Lines[i])<0) and (length(memo2.Lines[i])=0) then
вообще не понимаю, что это за код и для чего.

попробуйте так
Код:
I2 := 0;
for I := 0 to memo2.Lines.Count -1 do
  if length(memo2.Lines[i])>0 then
     if memo3.Lines.IndexOf(memo2.Lines[i])<0 then 
     begin
          Inc(I2);
          memo3.Lines.Append(IntToStr(I2)+memo2.Lines[i]);
     end;
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 12.06.2019, 11:22   #26
linda88
Пользователь
 
Регистрация: 17.01.2019
Сообщений: 78
По умолчанию

строка добавляется из memo2 в memo3 если она не пустая и не повторяется

Код:
 (length(memo2.Lines[i])=0)
// проверка стоки на пустоту
linda88 вне форума   Ответить с цитированием
Старый 12.06.2019, 11:33   #27
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,051
По умолчанию

длина строки с пробелами больше нуля если что, но она вообще то тоже пустая )
Код:
  if length(Trim(memo2.Lines[i]))>0 then
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума   Ответить с цитированием
Старый 12.06.2019, 11:33   #28
linda88
Пользователь
 
Регистрация: 17.01.2019
Сообщений: 78
По умолчанию

Код:
I2 := 0;
for I := 0 to memo2.Lines.Count -1 do
  if length(memo2.Lines[i])>0 then
     if memo3.Lines.IndexOf(memo2.Lines[i])<0 then 
     begin
          Inc(I2);
          memo3.Lines.Append(IntToStr(I2)+memo2.Lines[i]);
     end;
результат
https://www.programmersforum.ru/atta...1&d=1560324797
Миниатюры
Нажмите на изображение для увеличения
Название: j.jpg
Просмотров: 131
Размер:	12.2 Кб
ID:	96922  
linda88 вне форума   Ответить с цитированием
Старый 12.06.2019, 11:36   #29
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,051
По умолчанию

Сначала вставь строки в мемо, а потом перенумеруй в другом цикле. Иначе из-за добавленного номера не найдет дубликатов. Надкушенное яблоко не равно тому же целому, не правда ли?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума   Ответить с цитированием
Старый 12.06.2019, 11:40   #30
linda88
Пользователь
 
Регистрация: 17.01.2019
Сообщений: 78
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
длина строки с пробелами больше нуля если что, но она вообще то тоже пустая )
Код:
  if length(Trim(memo2.Lines[i]))>0 then
спасибо за код.
Но пробельные строки пустые у меня норм удаляются а дубликаты не даются
Trim - еще в фотошопе команда классная есть.
linda88 вне форума   Ответить с цитированием
Ответ

Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление дубликатов SolovejK Общие вопросы Delphi 7 14.03.2015 00:31
Удаление дубликатов Wind-up Bird Microsoft Office Excel 9 02.02.2012 12:49
Удаление дубликатов строк hon Паскаль, Turbo Pascal, PascalABC.NET 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


05:20.


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