![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Vinnety |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 8.4.2003 Репутация: нет Всего: нет |
Есть такая структура :
. . . Type Tcode = longint; Tdata = double; Tname = string [10]; Ttype_pack = string [10]; TDatas = packed record Code : Tcode; Data : Tdata; end; TArrDatas = array of Tdatas; TFullDatas = packed record Name : Tname; Type_pack : Ttype_pack; Datas : TArrDatas; end; . . . Var FullDatas : Tfulldatas; . . . ВОПРОС : как заполнить структуру FullDatas (включая поле Datas!!!) Т.е.,например, fulldatas.name:='AAAAA'; fulldatas.type_pack:='BBBBBB'; - тут всё нормально !!! , а вот дальше : fulldatas.datas[i].code := 12; fulldatas.datas[i].data := 223.5; - а тут проблемы !!! Ведь поле Datas - динамическое !!! Как выделить память??? PLEASE, ПОМОГИТЕ и ОБЪЯСНИТЕ !!! |
|||
|
||||
| &-ray |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 406 Регистрация: 15.4.2003 Где: Казахстан, г Аста на Репутация: нет Всего: нет |
прежде чем обращаться к элементам динамического массива, следует установить его длину типа так:
SetLength(MyArray,120); -------------------- "Совсем неважно от чего помрешь, ведь куда важнее - для чего родился..." С.Б. -------------------- И снова мышь беру я в руки Куда иду? - Конечно в сруки! |
|||
|
||||
| Vinnety |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 8.4.2003 Репутация: нет Всего: нет |
Так как же заполнить эту структуру ?
|
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
делай так:
n - длина массива после того как сделал SetLength(fulldatas.datas, n) нельзя обращаться к элементам с индексами >= n. -------------------- С уважением, г-н Посол. |
|||
|
||||
| &-ray |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 406 Регистрация: 15.4.2003 Где: Казахстан, г Аста на Репутация: нет Всего: нет |
При обращении к элементам массива можно предварительно делать проверку длины этого массива:
-------------------- "Совсем неважно от чего помрешь, ведь куда важнее - для чего родился..." С.Б. -------------------- И снова мышь беру я в руки Куда иду? - Конечно в сруки! |
||||
|
|||||
![]()
|
| Правила форума "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. |