Вниз
Скачать: 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.014 c
1-34109
Valt
2002-10-31 16:14
2002.11.11
Печать


14-34175
ZiLot
2002-10-21 16:55
2002.11.11
Help по базам данных


7-34280
Master Noname
2002-09-04 12:24
2002.11.11
Driver for USB


14-34187
MaximatorVeter
2002-10-19 19:08
2002.11.11
Чайная ложка соды или креатина с горочкой.


3-33901
Dimedrol
2002-10-21 22:58
2002.11.11
DBGrid + Wrap text




   Наверх