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

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

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


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

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

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

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

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

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

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

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

вот
Код:
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
Сообщений: 25,674
Репутация: 5617
По умолчанию

Цитата:
Сообщение от 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
Сообщений: 73
Репутация: 27
По умолчанию

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

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

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

Код:
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
Просмотров: 43
Размер:	12.2 Кб
ID:	96922  
linda88 вне форума   Ответить с цитированием
Старый 12.06.2019, 11:36   #29
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,855
Репутация: 6688
По умолчанию

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

Цитата:
Сообщение от Аватар Посмотреть сообщение
длина строки с пробелами больше нуля если что, но она вообще то тоже пустая )
Код:
  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 Паскаль 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


06:14.


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

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