Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Общие вопросы > Динамические массивы |
Автор: DragonFire 21.11.2005, 14:49 |
Вопрос такой: Можно ли создать динамический массив так, чтобы элементы нумеровались не от 0 да 100, о от 100 до 200. И если можно - то как? |
Автор: _hunter 21.11.2005, 15:12 |
можно: создаеш нормальный массив (от 0 до ста ) а потом при обращении отнимаеш от индекса 100 |
Автор: Snowy 21.11.2005, 15:15 | ||
Можно, но лучше этого не делать. Но, если очень хоцца, то можно так:
|
Автор: DragonFire 21.11.2005, 20:46 |
Спасибо, только я что-то не понял, где именно указывается, что до 200. В SizeOf(integer) что ли? А как тогда сделать до 210? |
Автор: Snowy 21.11.2005, 21:32 | ||
Там не указывается до скольки. Там указывается кол-во. От 100 до 200 получается 101 элемент массива. Хочешь 210, будет: 111*SizeOf(integer); SizeOf(integer) - размер одного элемента. 111 - кол-во элементов. |
Автор: DragonFire 21.11.2005, 21:44 |
А если я хочу не с 100 элемента, а с 150, то мне нужно статически менять тип TIArray? А динамически это можно сделать? |
Автор: Snowy 21.11.2005, 21:47 | ||
Тут уже наука бессильна. Стартовый отсчет поменять никак. При таких запросах, лучше уж действительно тогда делать, как сказал хантер. |
Автор: DragonFire 21.11.2005, 21:55 |
И на том спасибо =) |
Автор: Girder 22.11.2005, 11:40 | ||
Ну а почему бы сразу не сделать вот так: SetLength(XXX,201)... ну и использывать в XXX только диапозон от 100 до 200? PS: Вот только зачем такие... ![]() |
Автор: DragonFire 22.11.2005, 13:42 | ||
Экономия памяти. Это от 100 до 200 можно, а от 20000 да 30000 уже нельзя, тем более, если массив - двумерный... P.S. Что за индексация данных? |
Автор: _hunter 22.11.2005, 14:04 | ||
нихт не понял... + почему мой метод не подходит -- тоже не понятно... |
Автор: DragonFire 22.11.2005, 20:16 |
_hunter, твой метод прост и понятен, но для моего алгоритма в моей программе требуется брать конкретные индексы элементов массива, а не замарачиватся с вычитанием... |