![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удаление элемента из ;динамического массива [D6, Win95/98]
Zergling © (2002-10-30 14:12:00)Всем привет! Можно ли удалить отдельный элемент (не обнулить)из динамического массива. Например:
SetLength(M,3);
M[0]:=1;
M[1]:=25; // Этот элемент стал ненужен
M[2]:=35;
Что первое мне пришло в голову: знчение из конца массива поменять местами с удляемым значением значением (25 меняется мествами с 35), а зтем изменить длину массива с помощью SetLength(M,2); Для обработки большого массива такие перестановки могут занять много времени. Перестновки элементов в массиве так же не желательны т.к. значение в массиве бутет связанно с индексом Items в TListBox (следовательно придется делать перестановки Items в TListBox). Может как то можно удалить ненужный элемент массива без использования SetLength(M,2) или посоветуйте альтернативу динамическому массиву. У меня в массиве претпологается хранить запись Record. Ну, а если сооброржений по этому поводу у уважаемых мастеров не найдется придется мне повозится с SetLength.
Заранее всем благодрен
F1 (2002-10-30 14:26:00) [1]а что если
ListBox1.Items.Objects
использовать для указателей на твои структуры???
Есть и такое
ListBox1.Items.AddObject();
Андрей Прокофьев (2002-10-30 14:23:00) [2]Или в items.Objects вашего TListBox"а держать указатели на
records
Андрей Прокофьев (2002-10-30 14:14:00) [3]Может, воспользоваться TList для хранения списка структур?