Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-67325
Picco
2003-04-08 12:04
2003.04.21
Вопрос по WORD ордовским полям


14-67540
Wedos
2003-04-04 12:22
2003.04.21
Преобразование EXE в исходник


1-67248
Aleksei K
2003-04-11 10:51
2003.04.21
Drag&Drop + TreeView


1-67197
Man
2003-04-08 17:42
2003.04.21
Помогите разобраться с потоком


9-67081
Ketmar
2002-11-08 18:31
2003.04.21
OpenGL: определение того, был ил отрисован хоть один пиксел...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский