ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

[Delphi] Вопрос на засыпку #3
  #1  
Старый 11.05.2010, 20:11
Аватар для RedFern.89
RedFern.89
Постоянный
Регистрация: 20.01.2010
Сообщений: 338
Провел на форуме:
500264

Репутация: 69
Отправить сообщение для RedFern.89 с помощью ICQ
По умолчанию [Delphi] Вопрос на засыпку #3

есть Memo примероного содержания:

Код:
 Mygarin - Signs of Existence 
 mygrain - W.T.F.
 Mygarin - Signs of Existence
 MyGrain - Killing Time 
 MyGrain - W.T.F.
 MyGrain - W.T.F.
желтым отмеченны повторяющиеся строчки, подлежащие удалению.

вопрос! как удалить все одинаковые строчки, оставляя только одну копию? Получится должно типа того:

Код:
 Mygarin - Signs of Existence 
 mygrain - W.T.F.
 MyGrain - Killing Time
всем заранее спасибо. Извините за такое ламерство.

Последний раз редактировалось RedFern.89; 11.05.2010 в 20:13..
 
Ответить с цитированием

  #2  
Старый 11.05.2010, 20:16
Аватар для intNet
intNet
Познающий
Регистрация: 31.05.2009
Сообщений: 68
Провел на форуме:
1271980

Репутация: 19
По умолчанию

ппц. гугл - не?
самое простое - через промежуточный TSTringList(есть свойство Duplicates, которому присвоиваешь dupIgnore).
 
Ответить с цитированием

  #3  
Старый 11.05.2010, 20:17
Аватар для RedFern.89
RedFern.89
Постоянный
Регистрация: 20.01.2010
Сообщений: 338
Провел на форуме:
500264

Репутация: 69
Отправить сообщение для RedFern.89 с помощью ICQ
По умолчанию

блин.. у мну моги щас кипят.. ктонить подкинет код?
 
Ответить с цитированием

  #4  
Старый 11.05.2010, 20:19
Аватар для intNet
intNet
Познающий
Регистрация: 31.05.2009
Сообщений: 68
Провел на форуме:
1271980

Репутация: 19
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  With TStringList.Create() do
  begin
    Duplicates := dupIgnore;
    Sorted := True;
    AddStrings(Memo1.Lines);
    Memo1.Clear();
    Memo1.Text := Text;
    Free();
  end;
end;
 
Ответить с цитированием

  #5  
Старый 11.05.2010, 20:20
Аватар для RedFern.89
RedFern.89
Постоянный
Регистрация: 20.01.2010
Сообщений: 338
Провел на форуме:
500264

Репутация: 69
Отправить сообщение для RedFern.89 с помощью ICQ
По умолчанию

спасибо! а без сортировки можно какнить обойтись?
 
Ответить с цитированием

  #6  
Старый 11.05.2010, 20:21
Аватар для Jaw
Jaw
Новичок
Регистрация: 12.04.2010
Сообщений: 4
Провел на форуме:
47699

Репутация: 1
По умолчанию

Код:
var
i:integer;
begin
i:=0;
while i < form1.Memo1.Lines.Count do
begin
if form1.Memo1.Lines.IndexOf(form1.Memo1.Lines[i]) < i then
form1.Memo1.Lines.Delete(i)
else
inc(i);
end;
end;
 
Ответить с цитированием

  #7  
Старый 11.05.2010, 20:22
Аватар для intNet
intNet
Познающий
Регистрация: 31.05.2009
Сообщений: 68
Провел на форуме:
1271980

Репутация: 19
По умолчанию

Сортировка не нужна, можешь её убрать.
 
Ответить с цитированием

  #8  
Старый 11.05.2010, 20:23
Аватар для RedFern.89
RedFern.89
Постоянный
Регистрация: 20.01.2010
Сообщений: 338
Провел на форуме:
500264

Репутация: 69
Отправить сообщение для RedFern.89 с помощью ICQ
По умолчанию

всем спасибо! вопрос закрыт..
 
Ответить с цитированием

  #9  
Старый 11.05.2010, 20:26
Аватар для Dizz
Dizz
Новичок
Регистрация: 09.05.2010
Сообщений: 1
Провел на форуме:
4520

Репутация: 0
Отправить сообщение для Dizz с помощью ICQ
По умолчанию

Jaw, при большом кол-ве строк этот код оч. долго будет удалять дубли
 
Ответить с цитированием

  #10  
Старый 11.05.2010, 20:46
Аватар для Jaw
Jaw
Новичок
Регистрация: 12.04.2010
Сообщений: 4
Провел на форуме:
47699

Репутация: 1
По умолчанию

Dizz, к сожелению или к счастью ты был прав мой код справился с файлом в ~5k строк за 2 минуты, код intNet за считаные милесекунды.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Блокировка WMID. Рекомендации на вопрос "Что делать?" corp. Howard ltd Платежные системы: Webmoney, Yandex Деньги, РБК Деньги и т. д. 94 31.05.2010 23:32
Вопрос про сливы и тп Sulf aka Joker Болталка 0 15.01.2010 16:07
Proxy FAQ foreva Чужие Статьи 12 04.01.2008 12:15
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопрос по Php и Html Archie PHP, PERL, MySQL, JavaScript 9 26.05.2006 16:43



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT.XYZ