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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2009, 18:06   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,899
По умолчанию Поиск и удаление битых путей

Есть ListBox1, в нём содержатся записи следующего содержания:
D:\cfg\autoexec.cfg
D:\cfg\banned_ip.cfg
D:\cfg\banned_user.cfg
D:\cfg\bot.cfg
D:\mapcycle.txt
D:\maplist.txt
Нужно выполнить проверку на наличие битых путей (путь на удалённый файл) и удалить их. Как сделать такое?
Shouldercannon вне форума Ответить с цитированием
Старый 14.11.2009, 18:31   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

if fileexists('filename') then ...
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 14.11.2009, 23:01   #3
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,899
По умолчанию

А как это можно сделать в цикле. Что бы была выполнена проверка всех находящихся в ListBox путей и соответственно выполнена чистка.
Shouldercannon вне форума Ответить с цитированием
Старый 14.11.2009, 23:10   #4
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

ListBox1.Items.Count - количество строк в ListBox
ListBox1.Items.Strings[i] - i-я строка в ListBox (нумерация начинается с нуля)
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 15.11.2009, 13:19   #5
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,899
По умолчанию

Всёравно что-то не догоню
Shouldercannon вне форума Ответить с цитированием
Старый 15.11.2009, 13:29   #6
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Код:
procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
begin
i:=0;
while i<listbox1.items.count do
begin
if not fileexists(ListBox1.Items.Strings[i]) then
listbox1.Items.Delete(i);
inc(i);
end;
end;
pushl $0x18E3DF6B
call ICQ

Последний раз редактировалось russian-stalker; 15.11.2009 в 13:34.
russian-stalker вне форума Ответить с цитированием
Старый 15.11.2009, 13:31   #7
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

while i<listbox1.items.count-1 do
красное - убрать.
Иначе последний итемс не будет анализироваться.
mihali4 вне форума Ответить с цитированием
Старый 15.11.2009, 13:34   #8
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Ага поправил, спасибо
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 15.11.2009, 16:32   #9
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,899
По умолчанию

Спасибо. Пример хороший, но есть одна загвоЗДка он не с первого раза убивает все битые ссылки. Приходится несколько раз делать проверку.

Последний раз редактировалось mihali4; 15.11.2009 в 17:00.
Shouldercannon вне форума Ответить с цитированием
Старый 15.11.2009, 16:33   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
var
i:integer;
begin
i:=0;
while i<listbox1.items.count do
 if not fileexists(ListBox1.Items.Strings[i]) then listbox1.Items.Delete(i) else inc(i);
end
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск и удаление символа в строке Karl_Karlovi4 Общие вопросы Delphi 14 26.10.2011 18:04
поиск мин., удаление эл-ов массива Dmitrич Общие вопросы C/C++ 2 01.06.2009 13:31
Поиск и удаление столбцов mchip Microsoft Office Excel 4 17.05.2009 18:48
Поиск и удаление символов в тексте (Delphi) ekzobyte Помощь студентам 2 04.04.2009 19:46
Поиск возможных путей графа RammFan Общие вопросы Delphi 2 19.06.2008 10:45