Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.08.2010, 21:53
hugolom hugolom вне форума
Новичок
 
Регистрация: 25.04.2010
Сообщения: 99
Репутация: 9
Восклицание Удалять себе подобных строк в мемо

В мемо есть много ссылок, нужно сделать так :

3 одинаковые ссылки(строчки), 2 удалились, одна осталась, 2 одинаковые, 1 удалилась, 1 осталась..

т.е. так же только строки, строки это ссылки

Как можно реализовать?
Ответить с цитированием
  #2  
Старый 13.08.2010, 21:59
Аватар для mak-karpov
mak-karpov mak-karpov вне форума
Активный
 
Регистрация: 18.09.2008
Сообщения: 235
Версия Delphi: 2010 и 7
Репутация: 1242
По умолчанию

Просто. Создаешь список не повторяющихся строк, потом очищаешь исходный и копируешь новый
__________________
Кнопка "+" - весы в правом верхнем углу сообщения...
Ответить с цитированием
  #3  
Старый 13.08.2010, 22:46
hugolom hugolom вне форума
Новичок
 
Регистрация: 25.04.2010
Сообщения: 99
Репутация: 9
По умолчанию

Кинь код, я плохо понял
Ответить с цитированием
  #4  
Старый 13.08.2010, 23:13
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Покажи текст memo, если каждая ссылка в новой строке, то можно так как советовал mak-karpov, а вот если они произвольно раскиданы по тексту - уже сложнее.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 14.08.2010, 00:00
hugolom hugolom вне форума
Новичок
 
Регистрация: 25.04.2010
Сообщения: 99
Репутация: 9
По умолчанию

например:
Код:
http://google.com///search?
http://www.google.ru/imghp?hl=ru&tab=wi
/url?sa=p&pref=ig&pval=3&q=http://www.google.ru/ig%3Fhl%3Dru%26source%3Diglk&usg=AFQjCNGA90yIbM1R8iZtlxuqENUj3kH4hw
http://google.com///advanced_search?hl=ru
http://google.com///search?
http://www.google.com/imghp?hl=en&tab=wi
/url?sa=p&pref=ig&pval=3&q=http://www.google.com/ig%3Fhl%3Den%26source%3Diglk&usg=AFQjCNFA18XPfgb7dKnXfKz7x7g1GDH1tg
http://google.com///advanced_search?hl=en
http://google.com///intl/en/about.html
http://google.com///search?
http://www.google.ru/webhp?hl=ru&tab=iw
http://google.com//javascript:void(0);
http://google.com//javascript:void(0);
http://www.google.com/hostednews/ap/article/ALeqM5jjwPbWx7hWELaXAXIbtD4jKfChiAD9HIN6UG1
http://google.com//javascript:void(0);
http://google.com//javascript:void(0);
http://google.com///news/section?pz=1&amp;cf=all&amp;ned=us&amp;hl=en&amp;q=Julia+Roberts&amp;ict=clu
http://google.com///news/more?pz=1&amp;cf=all&amp;ned=us&amp;ncl=dcIzKGFEtMOHb2Mg_7W46iy790S8M
http://google.com///news/section?pz=1&amp;cf=all&amp;ned=us&amp;hl=en&amp;q=David+Stockman&amp;ict=clu
http://google.com///news/search?pz=1&amp;cf=all&amp;ned=us&amp;hl=en&amp;q=author:%22Paul+B.+Farrell%22&amp;scoring=n
http://google.com///news/section?pz=1&amp;cf=all&amp;ned=us&amp;hl=en&amp;q=Chuck+Schumer&amp;ict=clu
http://google.com///news/search?pz=1&amp;cf=all&amp;ned=us&amp;hl=en&amp;q=author:%22Corey+Boles%22&amp;scoring=n
http://google.com///news/section?pz=1&amp;cf=all&amp;ned=us&amp;hl=en&amp;q=Jennifer+Aniston&amp;ict=clu
http://google.com///news/search?pz=1&amp;cf=all&amp;ned=us&amp;hl=en&amp;q=author:%22Juli+Weiner%22&amp;scoring=n
http://news.google.com/news?pz=1&amp;cf=all&amp;ned=us&amp;hl=en&amp;output=rss
http://www.google.com/intl/en_us/ads/
http://google.com//#
http://google.com//#
http://www.google.com/support/websearch/bin/answer.py?hl=en&answer=136861
http://google.com//https://www.google.com/accounts/Login?continue=http%3A%2F%2Fwww.google.com%2Fsupport%2Fwebsearch%2Fbin%2Fanswer.py%3Fanswer%3D136861&/
http://www.google.com/support/websearch/
http://google.com///support/websearch/bin/answer.py?answer=134479
http://google.com//javascript:window.print();
http://google.com//answer.py?answer=134479
http://google.com//#
http://google.com///support/websearch/bin/answer.py?answer=510&amp;cbid=1uldu7m05poup&amp;src=cb&amp;lev=answer
http://google.com///support/websearch/bin/answer.py?answer=35891&amp;cbid=-dbpknp58wgz6&amp;src=cb&amp;lev=answer
http://www.google.com/adwords/aboutgoogleads/#utm_source=search_help_center_en-us&utm_medium=promo&utm_campaign=en-us
http://www.google.com/intl/en/
http://www.google.com/support/websearch/bin/answer.py?hl=en&answer=29508
http://google.com//#content
http://google.com//https://www.google.com/accounts/Login?continue=http%3A%2F%2Fwww.google.com%2Fsupport%2Fwebsearch%2Fbin%2Fanswer.py%3Fanswer%3D29508&/
http://google.com///support/websearch/bin/answer.py?answer=134479
http://google.com//javascript:window.print();
http://www.google.com/advanced_search
http://www.google.com/advanced_image_search?hl=en
http://www.google.com/support/forum/p/Web+Search?hl=en
http://google.com//#
http://google.com///support/websearch/bin/answer.py?answer=497&amp;cbid=1lj1mztqq59xn&amp;src=cb&amp;lev=answer
http://google.com///support/websearch/bin/answer.py?answer=45449&amp;cbid=-4tppi9fcsuf1&amp;src=cb&amp;lev=answer
http://www.google.com

повторяеться допустим строка
http://google.com//javascript:void(0);

надо чтоб при нажатие кнопки все копии удалились и осталась только одна, +рассортировал как было
Ответить с цитированием
  #6  
Старый 14.08.2010, 01:01
Аватар для SerginhoLD
SerginhoLD SerginhoLD вне форума
Новичок
 
Регистрация: 19.11.2009
Сообщения: 73
Репутация: 12
По умолчанию

ну если в мемо в каждой строке только одна сслыка и больше ничего нет, то тупо двойной цикл, берешь первую строку, и проверяешь остальные, если есть повтор - удаляешь, потом вторую, и т.д.
ну или как mak-karpov сказал )
__________________
знаете почему внизу эскалатора бабка в будке сидит?
она там педальки крутит и лесенка едет!

Последний раз редактировалось SerginhoLD, 14.08.2010 в 01:04.
Ответить с цитированием
  #7  
Старый 14.08.2010, 01:16
hugolom hugolom вне форума
Новичок
 
Регистрация: 25.04.2010
Сообщения: 99
Репутация: 9
По умолчанию

Мне бы показать это в коде
Ответить с цитированием
  #8  
Старый 14.08.2010, 11:46
Аватар для RusMaXXX
RusMaXXX RusMaXXX вне форума
Начинающий
 
Регистрация: 01.10.2008
Сообщения: 138
Версия Delphi: 7
Репутация: 21
По умолчанию

Код:
procedure RemoveDuplicates(const StringList: TStringList);
var
  buffer: TStringList;
  cnt: Integer;
begin
  StringList.Sort;
  buffer := TStringList.Create;
  try
    buffer.Sorted := True;
    buffer.Duplicates := dupIgnore;
    buffer.BeginUpdate;
    for cnt := 0 to StringList.Count - 1 do
      buffer.Add(StringList[cnt]);
    buffer.EndUpdate;
    StringList.Assign(buffer);
    Application.ProcessMessages;
  finally
    FreeandNil(buffer);
  end;
end;

применять так:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  Data: TStringList;
begin
  Data := TStringList.Create;
  Data.Text := Memo1.Text; // в мемо1 хранятся данные с повторами
  RemoveDuplicates(Data); // "сито" данных :) 
  memo2.Text := Data.Text; // в мемо2 данные пройденные через "сито"
  Data.Free;
end;
Ответить с цитированием
  #9  
Старый 14.08.2010, 12:00
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Примерно так:
Код:
Var
  SL: TStringList;
begin
 SL := TStringList.Create;
 SL.Duplicates := dupIgnore;
 SL.Sorted := True;
 SL.Text := Memo1.Text;
 Memo1.Text := SL.Text;
 SL.Free;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:16.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter