Текущий архив: 2006.01.15;
Скачать: CL | DM;
Вниз
Про динамический массив Найти похожие ветки
← →
Дмитрий_177 (2005-12-21 12:00) [0]Есть массив:
Mas: array of TStrings;
Элементы создаются по ходу программы, т.к. колличество элементов в нем не известно, приходится каждыйраз задавать его размер:
SetLength(Mas, Length(Mas) + 1);
Mas[Length(Mas) - 1] := TStringList.Create;
Я не пробовал еще, но надеюсь элементы будут только добавляться... А те элементы которые были останутся без изменения.
А вот как удалить какой-нибудь элемент такого массива? например Mas[10] ?
При завершении программы я удаляю такой массив так: Finalize(Mas); тут тоже у меня небольшой вопросик, при его удалинии в памяти не останутся все элементы массива? т.е. не надо делать так: Mas[i].Free; в цикле?
← →
alex_*** © (2005-12-21 12:42) [1]TObjectList не пробовал пользовать? перед разрушением дин. массива надо давать Mas[i].Free; в цикле
← →
evvcom © (2005-12-21 13:32) [2]А ты уверен, что тебе нужен массив списков?
> но надеюсь элементы будут только добавляться
Да, так и будет.
> А вот как удалить какой-нибудь элемент такого массива? например
> Mas[10] ?
А тебе обязательно нужно, чтобы не было дыр? Если с дырами, тоMas[10].Free;
Mas[10] := nil;
← →
Дмитрий_177 (2005-12-21 20:27) [3]Да, чтоб без дыр было...))) Я TObjectList попробую, правда не пользовался им никогда...
← →
TUser © (2005-12-21 21:07) [4]Еще можно менять удаляемый элемент местами с последним, удалять его, и потом - SetLength на минус 1.
← →
Officeman (2005-12-21 22:58) [5]Дмитрий_177, если несекрет. где может использоватся массив такой структуры? хоть по аналогии скажи.
← →
Дмитрий_05 (2005-12-22 20:12) [6]Долго объяснять :))) Вобщем я делаю такую программу, которая создает скины к моим программам, но я делаю ее универсальной для всех моих программ, чтобы для каждой можно было создать скин... ))) Там как бы для каждой программы создаю "образ скина" так сказать... и потом по этому "образу" программа генерирует форму для создания скина, там выбора изображений и т.д... Вот какраз в форме(модуле) создания образа мне и нужен такой массив, там вобщем устроено так: есть список форм(TStringList), а к каждой строке этого списка принадлежит еще один список, "параметров формы" ))) но т.к. количество форм и параметров неизвестно сколько создаст "пользователь", то и не известно сколько нужно создавать списков параметров... вот я и создаю по ходу добавления формы в список еще в массиве список параметров, может это чудной алгоритм и делается это немного подругому, но я придумал только это )))
← →
Дмитрий_177 (2005-12-22 21:20) [7]А чтобы обратиться к какойнибудь строке из TObjectList, т.е. чтобы извлечь список(TStringList) из элемента TObjectList, надо как делать?
var
ObjList: TObjectList;
TStringList(ObjList.Items[i])
или так
ObjList.Items[i]
?
Дмитрий_05 это я ))) ошибся числом )))
← →
з. танька (2005-12-22 22:04) [8]TStringList(ObjList.Items[i])
← →
Officeman (2005-12-22 23:03) [9]весьма популярно объяснил. вроде по логике всё верно.
← →
evvcom © (2005-12-23 09:30) [10]
> Дмитрий_177
> Дмитрий_05
Ты чего? Шифруешься? Или клонируешься?
Страницы: 1 вся ветка
Текущий архив: 2006.01.15;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.012 c