Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.21;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
1-67221
Rradion
2003-04-10 13:53
2003.04.21
Помогите плиз с Множествами...


1-67269
tem
2003-04-11 12:57
2003.04.21
Hint в Richedit


9-67080
Farcaller
2002-11-01 11:30
2003.04.21
OpenGL


14-67494
Delpher_Gray
2003-04-03 15:02
2003.04.21
Не могу решить проблему...


6-67421
Chak
2003-03-01 01:32
2003.04.21
ServerSocket & Asynchronous socket error 10053