Форум: "Основная";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];
ВнизУдалить строку из ListBox по условию Найти похожие ветки
← →
kyn66 © (2006-09-29 12:24) [0]Пробегая по всем итемам, выискиваю ненужные и хочу удалить. Делаю RepFileListBox.DeleteSelected. Но оно не срабатывает, что не так?
← →
stone © (2006-09-29 12:26) [1]код в студию
← →
kyn66 © (2006-09-29 12:38) [2]
procedure TMainFrm.FindFile;
Var
i : Integer;
begin
RepFileListBox.Mask := "???_info.rpt";
RepFileListBox.Directory := RemoveBackSlash(ImportPath);
RepFileListBox.Update;
for i := 0 to Pred(RepFileListBox.Count) do
if not RupsInParam(RepFileListBox.Directory, RepFileListBox.Items[i]) then
begin
// RepFileListBox.Selected[RepFileListBox.Itemindex] := True; - ???
RepFileListBox.DeleteSelected;
end;
RepFileListBox.Update;
LoadReports;
end;
← →
stone © (2006-09-29 12:43) [3]for i := RepFileListBox.Items.Count-1 downto 0 do
if not RupsInParam(RepFileListBox.Directory, RepFileListBox.Items[i]) then
RepFileListBox.Items.Delete(i);
← →
kyn66 © (2006-09-29 13:01) [4]Да, работает, спасибо !!! в чем тока разница оформления цикла?
Мой выдает ошибку, предложенный - работает на ура !
for i := 0 to Pred(RepFileListBox.Count) do
и
for i := RepFileListBox.Items.Count-1 downto 0 do
← →
Ketmar © (2006-09-29 13:11) [5]>[4] kyn66(c) 29-Sep-2006, 13:01
второй быстрее. %-)
← →
Ketmar © (2006-09-29 13:11) [6]а вообще -- нельзя менять количество элементов в списке, если используешь for. только while/repeat в таких случаях.
← →
Dmitrij_K (2006-09-29 13:11) [7]
> Мой выдает ошибку
Включи мозг.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.045 c