Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2013, 03:44   #1
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
Вопрос удаление строки из TStringList

Доброе время суток!
Нужно в TStringList в конце найти подрядят четыре символа , например (abcd)
и если строка содержит (abcd) то оставляем её если нет то удаляем строку.
Не нашёл не чего надеюсь на помощь!
За ранее благодарен!
С уважением,
Volkogriz!
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Старый 31.01.2013, 03:59   #2
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Метод Delete - удаляет строку по заданному индексу.
Или в чем у вас трудности?
Базиля вне форума Ответить с цитированием
Старый 31.01.2013, 04:08   #3
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию

Цитата:
Метод Delete - удаляет строку по заданному индексу
.
Это я в курсе)
Мне надо именно оставить строки которые, в конце строки имеют (abcd) ну представте что это расширение .exe
Все строки которые заканчиваются другими символами удалить.
Вот, помойму объяснил))
Спать хочу а сделать надо))
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Старый 31.01.2013, 04:10   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

метод Copy на выделение нужной вам части строки, и обычное сравнение.
и если это список файлов то расширение можно получить через ExtractFileExt.

ну и цикл(лучше while) в основе.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 31.01.2013, 04:27   #5
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию

Я реализовать не пойму как))
Можно примерчик маленький
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Старый 31.01.2013, 04:30   #6
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Код:
i:=0;
while i<=str.count-1 do
   if copy(str[i],str[i].length-3,4)='abcd' then
      str.delete(i)
   else
      inc(i);
P.S Доброй ночи!

Последний раз редактировалось Базиля; 31.01.2013 в 04:42. Причина: сплю :d
Базиля вне форума Ответить с цитированием
Старый 31.01.2013, 04:55   #7
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию

Не как не пойму)
Код:
for x := 0 to StringList1.Count-1 do
if (StringList1[x]<>'') and (StringList2.IndexOf(StringList1[x])=-1) then
StringList2.Add(StringList1[x]);
Вот нужно после проверки реализовать.
В принципе в любом месте, я просто разберусь.
Я уже проект испортил, хорошо сохраняю периодически))))
С уважением,
Volkogriz!
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Старый 31.01.2013, 04:57   #8
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Я так полагаю с ip мучаетесь?

Код:

for x := 0 to StringList1.Count-1 do
if (StringList1[x]<>'') and (StringList2.IndexOf(StringList1[x])=-1) and(copy(StringList1[x],StringList1[x].length-3,4)='AbCd') then
StringList2.Add(StringList1[x]);
Как то так..
Кольша вне форума Ответить с цитированием
Старый 31.01.2013, 05:20   #9
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию

Вот вотут он не компилит((
При построении выдает ошибки вида
[Error] RSPSystem.pas(211): Record, object or class type required
в строке
StringList1[x].length-3,4
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Старый 31.01.2013, 05:22   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
StringList1[x].length-3
заменить на
Код:
Length(StringList1[x])-3
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить пустые строки из TStringList apromix Общие вопросы Delphi 5 14.09.2016 12:14
Поиск и удаление символа в TStringList sariman Общие вопросы Delphi 2 25.07.2012 23:56
Куда деваются строки в TStringList JekaDefer Общие вопросы Delphi 64 18.05.2012 21:18
Удаление дублирующихся строк в TStringList Alex Cones Общие вопросы Delphi 4 28.05.2010 20:33
Добавление в TMemo, последней строки из TStringList OPF_Nik Помощь студентам 3 31.01.2010 17:35