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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2008, 18:45   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
Вопрос Удалить не нужное из ListBox

Нашёл тут на форуме примерчик один с Edit пробовал подогнать под свой случай, но получилось коряво.
Код:
d:=pos(Edit1.Text, ListBox1.Items.Text);//èùåì ïîçèöèþ
s:=ListBox1.Items.Text;//÷èòàåì åäèò
delete(s, 1, d);//óäàëÿåì èç ñòðîêè
ListBox1.Items.Text:=s;//çàïèñûâàåì åäèò
В ListBox есть записи такого характера
C:\CSS Server options\CSSZMSS.res
C:\CSS Server options\CSSZMSS.~dpr
C:\CSS Server options\Unit4.ddp
Из них из всех сразу надо удалить какую-ту часть например
C:\CSS Server options
Как такое провернуть (удаляемая часть будет задавать в Edit)?
Shouldercannon вне форума Ответить с цитированием
Старый 19.12.2008, 18:59   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

как-то так
s:=listbox1.items.strings[i];
delete(s,1,d);
listbox1.items.strings[i]:=s;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 19.12.2008, 19:50   #3
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Ммм. Не совсем понял...
Shouldercannon вне форума Ответить с цитированием
Старый 19.12.2008, 20:03   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Из них из всех сразу надо удалить какую-ту часть например
C:\CSS Server options
Ну так определите два нужных для этого параметра - номер позиции в строке, где начинается удаляемая подстрока и длина подстроки (она вам известна, т.к. вы задаете подстроку).
Позиция определяется функцией POS.
Только "из всех сразу" не получится - придется по очереди.
Цитата:
Ну почему же? Можно сразу все
Да, верно, если одна и та же подстрока.

Последний раз редактировалось mihali4; 19.12.2008 в 22:49.
mihali4 вне форума Ответить с цитированием
Старый 19.12.2008, 20:50   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

можно попробовать и сразу если replacestring использовать

или

while pos(...)>=0 do delete(...);
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 19.12.2008, 21:24   #6
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,555
По умолчанию

Цитата:
Только "из всех сразу" не получится - придется по очереди.
Ну почему же? Можно сразу все:
Цитата:
ListBox1.Items.Text := StringReplace (ListBox1.Items.Text, 'C:\CSS Server options', '', [rfReplaceAll]);
Arigato вне форума Ответить с цитированием
Старый 19.12.2008, 22:36   #7
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Точно с заменой будет проще, а то что-то заесило с удалением.
Последний вопрос. Тоже есть в ListBox1 записи:
C:\sound\1.mp3
C:\sound\1.ztmp
C:\sound\2.mp3
C:\sound\2.ztmp
C:\sound\3.mp3
C:\sound\3.ztmp
Тут надо целиком удалять строки с не нужным форматом (ztmp).
Shouldercannon вне форума Ответить с цитированием
Старый 20.12.2008, 00:07   #8
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,555
По умолчанию

Нужно сделать цикл по всем строкам и с помощью Pos определять наличие нужного расширения, после чего удалять строку (если условие выполнено).
Arigato вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить коментарии Snake08 Паскаль, Turbo Pascal, PascalABC.NET 1 27.11.2008 01:41
Направь новичка в нужное русло Walking Cat Свободное общение 7 07.07.2008 09:09
web-browser - АВТОЗАЛОГИНИТЬСЯ и отобразить только нужное Yuran Общие вопросы Delphi 0 18.02.2008 14:08
Перечисление в столбце. Как "вытащить" нужное? Помогите! Tatyana БД в Delphi 2 10.07.2007 09:25
как удалить анти вирус( касперский 2006)если она не работает и ее не возможно удалить Alar Общие вопросы Delphi 0 29.10.2006 21:36