Вниз
Скачать: CL | DM;

Удаление элемента из динамического массива   Найти похожие ветки 

 
Zergling   (2002-10-30 14:12) [0]

Всем привет! Можно ли удалить отдельный элемент (не обнулить)из динамического массива. Например:

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.

Заранее всем благодрен


 
Андрей Прокофьев ©   (2002-10-30 14:14) [1]

Может, воспользоваться TList для хранения списка структур?


 
Андрей Прокофьев ©   (2002-10-30 14:23) [2]

Или в items.Objects вашего TListBox"а держать указатели на
records


 
F1 ©   (2002-10-30 14:26) [3]

а что если
ListBox1.Items.Objects
использовать для указателей на твои структуры???
Есть и такое
ListBox1.Items.AddObject();



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
4-34307
comp
2002-10-02 09:37
2002.11.11
Как заархивировать...


14-34193
Rouse_
2002-10-22 05:22
2002.11.11
Бойцовский клуб


1-33984
Шурик Ш
2002-11-01 16:29
2002.11.11
Общие ресурсы


14-34186
lety
2002-10-21 00:04
2002.11.11
юзабилити


14-34240
X@o$
2002-10-21 10:59
2002.11.11
Памажите !!!




   Наверх