Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Удаление элемента из ;динамического массива [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 для хранения списка структур?


Наверх

Титульная страница Поиск, карта сайта Написать письмо