![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| zzdxw |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 6.10.2014 Репутация: нет Всего: нет |
Доброго времени суток!
Помогите, пожалуйста, заменить статические двумерные массивы на динамические двумерные. Никак не могу разобраться с SetLength... Исходный код.
|
|||
|
||||
| Dremuk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 17.12.2009 Репутация: нет Всего: нет |
Например
a: array of array of byte; // Двумерный массив ..... begin SetLength(a, maxImageWidth, maxImageHeight); ..... for x := 0 to maxImageWidth - 1 do for x := 0 to maxImageWidth - 1 do a[x, y] := ... ..... a := nil; end В отличии от статического массива, который всегда прямоугольный, размерность динамического массива может быть сложной. Тогда выделять память нужно следующим образом: SetLength(M,5); // Число строк SetLength(M[0],4); // Кол-во эл-ов в 1 строке SetLength(M[1],1); // Кол-во эл-ов в 2 строке SetLength(M[2],3); // Кол-во эл-ов в 3 строке SetLength(M[3],2); // Кол-во эл-ов в 4 строке SetLength(M[4],5); // Кол-во эл-ов в 5 строке В результате массив будет следующим: * * * * * * * * * * * * * * * Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
| zzdxw |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 6.10.2014 Репутация: нет Всего: нет |
К сожалению, ничего не выходит...(
Если заменить так все массивы, то либо не открывается изображение, либо не применяется функция Sobel. |
|||
|
||||
| CynicRus |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 248 Регистрация: 31.5.2012 Репутация: 2 Всего: 5 |
Не получается с динамическими массивами, замени на TList, если среда позволяет - на TList<T>.
PS: а если я правильно понял, что твоя задача работа с изображением, то вот как это делал я: https://github.com/CynicRus/dtmeditor/blob/...DTM_Bitmaps.pas |
|||
|
||||
| zzdxw |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 6.10.2014 Репутация: нет Всего: нет |
Для меня это дремучий лес...
Если я скину исходники, где я попытался сделать динамические массивы, укажите на ошибки? Это сообщение отредактировал(а) zzdxw - 25.10.2014, 14:47 |
|||
|
||||
| CynicRus |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 248 Регистрация: 31.5.2012 Репутация: 2 Всего: 5 |
Вот как добавить элемент к динамическому массиву:
А вот тоже самое, только к динамическому массиву добавить массив:
Под свои типы данных перепили, да используй. |
||||
|
|||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |