|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.07.2009, 11:11 | #1 |
Ra-Ra ?
Форумчанин
Регистрация: 06.03.2008
Сообщений: 286
|
Изменение размера динамического массива налету
У меня есть мой тип:
Код:
Код:
То есть просто SetLength(mInfo,...); не подходит, по скольку уже имеющаяся информация теряется. Пробовал создавать еще один массив, через Copy копировать информацию, но к сожалению работает только со стрингами, остаются иконки. И что с ними делать, без понятия. |
26.07.2009, 12:17 | #2 | |
Форумчанин
Регистрация: 29.03.2008
Сообщений: 300
|
Цитата:
Карп преодолевший водопад становится драконом.
|
|
26.07.2009, 12:25 | #3 | ||
Форумчанин
Регистрация: 06.01.2009
Сообщений: 340
|
Цитата:
Цитата:
Может, для большей ясности, приведи код, который не работает. P.S. Если не принципиально, то лучше использовать классы вместо записей. Если использовать классы, то у тебя будет массив указателей на объекты и, при изменении размера динамического массива, будут копироваться только они, а не все содержимое, как при использовании записей.
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник". |
||
26.07.2009, 12:29 | #4 | |
Ra-Ra ?
Форумчанин
Регистрация: 06.03.2008
Сообщений: 286
|
И зачем лишнюю память кушать ? Да и потом не красиво как то будет, использовать к примеру 130 элементов из 500.
Цитата:
=================================== =================================== ====================== И правда SetLength работает, и странно почему он у меня до этого терял значения, видать где то накосячил. Последний раз редактировалось Zeraim; 26.07.2009 в 13:01. |
|
26.07.2009, 12:48 | #5 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,690
|
Есть более деликатный способ реализации динамических массивов:
Код:
|
26.07.2009, 12:51 | #6 |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
Код:
|
26.07.2009, 12:57 | #7 | |
Форумчанин
Регистрация: 06.01.2009
Сообщений: 340
|
Цитата:
Нет, конечно этот способ хорош, я реализовывал таким способом динамические массивы в Pascal'е. Но нужно пользоваться чем-то более высокоуровневым. И для этого есть array of и SetLength()
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник". |
|
26.07.2009, 13:10 | #8 |
Форумчанин
Регистрация: 06.01.2009
Сообщений: 340
|
Alter зачем возиться с указателями на записи, если есть классы.
Тот же код, но, согласись, намного понятнее: Код:
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник". |
26.07.2009, 13:19 | #9 |
Форумчанин
Регистрация: 24.07.2008
Сообщений: 279
|
Daramant, согласен (только в деструктор дописать надо ). А если все это засунуть в TobjList или коллекцию, то вопросы распределения памяти вообще отпадут.
Сказал и загрустил от бесспорности своей правоты.
|
26.07.2009, 13:44 | #10 | ||
Форумчанин
Регистрация: 06.01.2009
Сообщений: 340
|
0nni
Цитата:
Цитата:
Alter использовал TList и я лишь переделал его пример.
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник". |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сохранение динамического массива | Horus92 | Помощь студентам | 3 | 07.05.2009 12:36 |
Создание н-мерного динамического массива | Парсифаль | Общие вопросы C/C++ | 33 | 02.05.2009 18:29 |
Удаление динамического массива | Сергей089 | Общие вопросы C/C++ | 3 | 08.03.2009 13:13 |
Удаление элементов из динамического массива | dashulka | Общие вопросы Delphi | 4 | 31.10.2008 14:03 |
Удаление элемента динамического массива | Dogmat | Помощь студентам | 6 | 13.07.2008 14:33 |