Массив

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Espada
Местный житель
Сообщения: 336
Зарегистрирован: 07 май 2013, 17:32
Откуда: РБ, Минск

Массив

Сообщение Espada »

Здравствуйте. Необходимо в массив закинуть данные из таблицы, задать условие на проверку повторений, и вывести сообщение о повторяющихся элементах.
Забрасываю таблицу в массив

Код: Выделить всё

 ...
.{table 'cv_price2'
.begin
var
  ID		:longInt
  sPrices	:array[1..1000] of string
  lPrices	:array[1..1000] of longInt 
with index { byID = ID (AutoInc, Unique)
}
var mprices : record as table prices;
mprices.lPrices[1001] :=4;
idx :=1002;
mPrices.lPrices[idx]  :=idx;
.} ...
однако весь код между .{table 'cv_price2' и .} он воспринимает просто как текст.
попробовал добавить begin end

Код: Выделить всё

.{table 'cv_price2'
.begin
var
  ID		:longInt
  sPrices	:array[1..1000] of string
  lPrices	:array[1..1000] of longInt 
with index { byID = ID (AutoInc, Unique)
}
var mprices : record as table prices;
mprices.lPrices[1001] :=4;
idx :=1002;
mPrices.lPrices[idx]  :=idx;
end.
.}

начинает ругаться :
Ошибка: Ожидалась константа, поле, функция, "IF" или "CASE" (стр.170, поз.11 в
D:\GAL810_VIP\FORMS_MAV_2013_01\FORMS\11_ПРАЙС_ТОЛЬКО ПРОГНОЗ_ARD_С_ПРОТОКОЛОМ.F
RM)
sPrices :array[1..1000] of string
^ [ Enter-продолжить ] :

подскажите плиз как правильно написать???
под каждым красивым павлиньим хвостом, скрывается самая обычная куриная жопа!!! так что меньше пафоса господа!!!
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Массив

Сообщение edward_K »

Если вы пытаетесь в программном блоке объявить переменные то var пишется перед каждым объявлением.
В форме вы можете объявить в секции
.var
.endvar
в фейсе аналогично var(endvar не нужен, концом объявления будет начало следующей секции), секция может быть в нескольких местах(перед логической таблицей, в ней) , но в теле функции условия использования аналогичные - перед каждой переменой. Время жизни var в программном блоке вроде как ограничено от момента объявления до конца блока.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Массив

Сообщение edward_K »

да. А with index относится к объявлению таблицы - в форме объявить их нельзя - только в проекте(лучше инклюдом - таблицы объявленные на уровне проекта должны быть во всех ваших ресурсах одинаковые) перед включением формы в проект.

Код: Выделить всё

table struct tmp_podrier "Сохранить иерархию"
(
  crec : comp ,
  dmpodrnm:array[1..10] of string[200] ,
  dmpodr_c :array[1..10] of comp ,
  t_podrlev:word
)
with index
( tmp_podrier01 = crec 

) ;
Ответить