Форум: "Основная";
Текущий архив: 2003.04.21;
Скачать: [xml.tar.bz2];
Вниз
Dynamic array: добавление и удаление элементов массива? Найти похожие ветки
← →
sea (2003-04-08 15:30) [0]Добрый день. После объявления динамического массива, выделяем память - SetLenght(A,50). В процессе работы требуется добавить элемент к массиву А, или удалить элемент из массива. Какими командами это можно сделать? (А добавляется (удаляется) к концу массива?). И есть ли такой оператор, чтобы добавлял (удалял) элемент в нужную позицию (например в 21 ячейку), а старые значения автоматически сдвигал (с 21 в 22, с 22 в 23 ... с 50 в 51)?
Заранее благодарен.
← →
Ricks (2003-04-08 15:35) [1]Нет, таких операций, вроде, нет.
Добавляются и удаляются элементы тем же SetLength, а сдвигать прийдеться ручками
← →
Skier (2003-04-08 15:38) [2]>sea
> И есть ли такой оператор, чтобы добавлял (удалял) элемент
> в нужную позицию (например в 21 ячейку), а старые значения
> автоматически сдвигал (с 21 в 22, с 22 в 23 ... с 50 в 51)?
Нет.
1) Или используй Move(...)
2) Или переходи на список TList
← →
MityaP (2003-04-08 16:07) [3]Да напиши пару функций (AddToArray, InsertToArray, MoveInArray, DeleteInArray) один раз и не парься - на всю жизнь хватит... Там писать-то пару минут...
← →
paxer (2003-04-08 18:39) [4]MityaP просвети, как можно написать эти процедуры (AddToArray, InsertToArray, MoveInArray, DeleteInArray) - на всю жизнь?
Для массивов разного типа?
← →
MityaP (2003-04-08 19:37) [5]Легко...
Например:
type
TArrayObjects: array of TObjects;
TArrayStrings: array of string;
TArrayPointers: array of pointer;
TArrayFloat: array of Extended;
и т.д.
procedure AddToArray(AArray: TArrayObjects, AValue: TObjects); overload;
procedure AddToArray(AArray: TArrayStrings, AValue: string); overload;
procedure AddToArray(AArray: TArrayPointers, AValue: pointer); overload;
procedure AddToArray(AArray: TArrayFloat, AValue: Extended); overload;
и т.д.
← →
MityaP (2003-04-08 19:38) [6]А скопировать процедуру - пару мгновений... Токо типы поменять... в оглавлении..
← →
sts (2003-04-08 20:30) [7]где вы, где, темплэйты ... 8)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.04.21;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c