|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.05.2013, 21:12 | #1 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
Удаление одинаковых строк из массива
Здравствуйте, уже дня два бьюсь над алгоритмом удаления одинаковых строк из динамического массива строк, вот все мои старания, помогите, пожалуйста довести до ума
Код:
from dark to light)
|
12.05.2013, 21:22 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
12.05.2013, 21:36 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Код:
I'm learning to live...
|
12.05.2013, 22:49 | #4 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
не ясна, мемо для наглядности, а так удаляем строки из уже созданного и заполненного стринг листа
from dark to light)
|
12.05.2013, 23:01 | #5 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Если ts - исходный stringlist, то:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
13.05.2013, 01:24 | #6 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
а как это работает? Зачем там сортировка? А зачем free в обработчике писать? Можно же в событиях формы это сделать
Ладно, пока не разобрался в Вашем алгоритме, но суть в том что работает, вот то, что получилось Код:
Да, и еще, у меня есть процедура сортировки, описаная в procedure TForm1.N10Click(Sender: TObject); как мне ее вызвать в процедуре удаления?
from dark to light)
Последний раз редактировалось Stilet; 13.05.2013 в 09:32. |
13.05.2013, 09:04 | #7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Алексей, на будущее, если Вы обрабатываете список и в процессе обработки количество записей уменьшается (а именно так и происходит в случае удаления строк), то обрабатывать записи нужно либо в циклах While \ repeat until
либо в цикле for, но от последней записи к первой: Код:
|
13.05.2013, 09:37 | #8 | |||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Чтоб память не потерять. with дает анонимную переменную. Как ты ее потом будешь освобождать? По какому имени?. Цитата:
Код:
I'm learning to live...
|
|||
13.05.2013, 23:16 | #9 | |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
Большое спасибо за описание, но все же
Цитата:
А на будущее, как удалять дубликаты из массива? Заполнить стринглист и по такому же алгоритму? Ну на делфи так можно, а на паскале вить нет, или я не прав?
from dark to light)
|
|
14.05.2013, 08:29 | #10 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
2) Переписывать в новый массив.
I'm learning to live...
|
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Удаление одинаковых строк на листе Excel 2003 | vfv | Microsoft Office Excel | 26 | 21.11.2014 12:58 |
удаление строк массива | XaHTeP | Паскаль, Turbo Pascal, PascalABC.NET | 8 | 12.01.2013 20:23 |
Поиск одинаковых строк и изменения и удаление | NightDevil | Microsoft Office Excel | 8 | 14.04.2012 01:45 |
Удаление одинаковых символов из массива | maxflint | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 09.05.2010 13:18 |
удаление одинаковых элементов из массива | sauron99 | Общие вопросы Delphi | 6 | 15.04.2009 21:27 |