Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Динамический двухмерный массив. [D7, WinXP]


Galiaf ©   (2005-10-18 21:48:00) 

Можно ли в делфи использовать динамический двухмерный массив, изменять количество строк и столбцов. Я до этого пользовался одномерным но счас это не удобно. Если это возможно, то скажите как описывать и изменять его, если нет, то извините за глупый вопрос, буду делать менее удобным способом.


evvcom   (2005-10-19 13:49:00) [1]


> Извиняюсь, это я у мастера Фаронова вычитал

Он это вообще о чем писал? Явно не о Дельфи.


Loginov Dmitry   (2005-10-19 11:03:00) [2]


> Loginov Dmitry ©   (18.10.05 22:16) [5]


Извиняюсь, это я у мастера Фаронова вычитал :)


capkoh   (2005-10-18 23:38:00) [3]


> Для двумерного массива нужо учитывать, что в памяти он всё
> равно Одномерный.

Простите, это я на статический случайно перешел...


capkoh   (2005-10-18 23:21:00) [4]


> Loginov Dmitry ©   (18.10.05 22:16) [5]

EN:
For a long-string or dynamic-array variable, SetLength reallocates the string or array referenced by S to the given length. Existing characters in the string or elements in the array are preserved, but the content of newly allocated space is undefined...

RU:
Для длинных строк или динамических массивов SetLength перевыделяет память заданной длины для строки или динамического массива. Существующие символы в строке или элементы в массиве Сохраняются, но сожержимое вновь выделенных элементов неопредено...

Это значит, если устанавливать длину большую текущей, то все элементы сохраняться, а новые будут неопределены. Если устанавливать длину менее текущей то массив только обрежется, но оставшиеся элементы сохраняться.

Для двумерного массива нужо учитывать, что в памяти он всё равно Одномерный.


Galiaf   (2005-10-18 22:52:00) [5]

при изменении размеров массива элементы нужно задавать заново
Как это так? Как же я тогда проживу-то???Аааааааааа! Ладно, если всё так, думаю ничего страшного, у меня уже есть идеи.


Loginov Dmitry   (2005-10-18 22:16:00) [6]

ИМХО, при изменении размеров массива элементы нужно задавать заново


Сайбель Алексей   (2005-10-18 22:06:00) [7]

var
 a: array of array of integer;

...

 SetLength(a,5,6);


Loginov Dmitry   (2005-10-18 21:54:00) [8]

создание массива: var Ar: array of Real;
установка размеров: SetLengtj(Ar, 100)


Loginov Dmitry   (2005-10-18 21:54:00) [9]

Удалено модератором


TUser   (2005-10-18 21:53:00) [10]

SetLength - можещь менять число строк и столбцов, как тебе хочется.


Наверх

Титульная страница Поиск, карта сайта Написать письмо