![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| decoder |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 18.5.2004 Где: Харьков(хохол, к сожалению) Репутация: нет Всего: -1 |
Представте ситуацию: есть динамически объявленный массив, который в коде должен быть setlength'ен как ДВУМЕРНЫЙ! Вопрос: КАК!!!
--------------------
Молчать, я вас спрашиваю! |
|||
|
||||
| Albinos_x |
|
|||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 26 Всего: 108 |
Пример:
..... type Index = array[1..100] of ^Vektor; Vektor = array[1..100] of Integer; matrix = record rows, cols : Byte; ptr : Index; end; ... var a: matrix; .... // выделяем память procedure CreateMatrix( var a : matrix; c,r : byte); var i,j : Byte; begin with a do begin rows:=r; cols:=c; J:= rows*sizeof(pointer); GetMem(ptr^, j); for j:=1 to rows do begin i:=cols*sizeof(integer); GetMem(prt^[j] , i); for i:=1 to cols do ptr^[j]^[i]:={здесь заполняем матрицу}; end; end; end; //Освобождаем память procedure Destroy( var a : matrix); var j:Byte; begin with a do begin for j:=1 to rows do FreeMem(ptr^[j],cols*sizeof(Integer)); FreeMem(ptr, rows*sizeof(pointer)); ptr:=nil; end; end; -------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
to Albinos_x
Вообщето, уже давно существуют динамические массивы, о которых кстати и спрашивал decoder to decoder Да все так-же:
-------------------- Все знать невозможно, но хочется |
|||
|
||||
| Albinos_x |
|
|||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 26 Всего: 108 |
Петрович
прошу прощения, я привёл пример из Turbo Paskal Добавлено @ 02:02 PS: Петрович Но пример, как раз про динамические массивы -------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
to Albinos_x
Что то я не понял, я по моему именно про них и рассказал ?) -------------------- Все знать невозможно, но хочется |
|||
|
||||
| Albinos_x |
|
|||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 26 Всего: 108 |
Петрович
Во-первых: не "имела", а "имел". Во-вторых: я привёл один из вариантов. В Паскале твой вариант не прокатит, но под Делфи проще использовать именно его. Но эффект от обеих методов будет одинаков. -------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
| Петрович |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Прошу не воспринимать как повод для драки
Я специально взял фразу в кавычки, дабы подчеркнуть что это цитата из песенки. В следующий раз буду уточнять
Дык судя по наличию в вопросе упоминания функции setlength речь шла именно о Delphi. Особенно, учитывая что из приведенного в хелпе заголовка этой функции не очевидно что она может иметь переменное число параметров. -------------------- Все знать невозможно, но хочется |
||||
|
|||||
| Albinos_x |
|
|||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 26 Всего: 108 |
Петрович
Я уже извинился за косяк. -------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
![]()
|
| Правила форума "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. |