Страница 1 из 1
Динамические массивы
Добавлено: 22 ноя 2005, 17:21
Sytin
Пытаюсь объявить динамический массив.Пишу как в документации
const
CountNrec=2;
End;
Interface SelDO (,,sci178InsPM) DoAccept,EscClose,cyan,AlwaysReturn;
........................................
type
NrecType=record
NrecList : array[1..CountNrec] of comp;
end;
var
NL:NrecType;
........................................
end.
Выдает ошибку
Ошибка: Задайте правую границу (стр.26, поз.28)
NrecList : array[1..CountNrec] of comp;
Добавлено: 23 ноя 2005, 11:18
edward_K
NrecList : array[1..1] of comp;
SetLimit(NrecList,CountRec) ;
Добавлено: 23 ноя 2005, 11:58
Алексей
edward_K
разве SetLimit это не функция заполнения массива какими то значениями? В данном примере вы просто заполните массив NrecList значениями 2.
А
Sytin вроде как спрашивает, как сделать что бы длина массива была переменно. Или я чего то не понял?
Sytin
А поставте по больше длину, а юзайте до такой длины, какая нужна
Добавлено: 23 ноя 2005, 12:16
edward_K
не путайте - для этого есть другая функция , и я не помню ее объявленной для общего использования
пример
SetLimit(Unn ,GetLimit(Unn )+1);
увеличит длину массива на 1.
вообще лучше(если есть лиц. на vip) пользоватся своими временными таблами.
Добавлено: 23 ноя 2005, 12:29
Алексей
Признаю свою ошибку
Про таблицы - согласен с
edward_K
Но когда надо какую нибудь мелку быструю прогу, что бы не заботило скока она памяти съест и т.п., и большой длинный массив сгоидится
Добавлено: 23 ноя 2005, 18:39
Sytin
edward_K писал(а):не путайте - для этого есть другая функция , и я не помню ее объявленной для общего использования
пример
SetLimit(Unn ,GetLimit(Unn )+1);
увеличит длину массива на 1.
вообще лучше(если есть лиц. на vip) пользоватся своими временными таблами.
C проблемой я разобрался.Про динамические массивы все равно интересно.То есть можно обьявить просто статический массив,а потом SetLimitom его увеличивать?Или я чет не понял?
Добавлено: 23 ноя 2005, 18:54
edward_K
да
При этом если сделать SetLimit( ,0) то это приведет к его очистке.