Например: Аналогичным образом, для приведения вещественного значения к строковому
может использоваться операция склейки с пустой строкой «v=""&GET_VALUE()».
Если вместо коллекции таких записей использовать массив с ключом
представляющим из себя код клиента, то можно будет обращаться к значениям
структуры клиента без указания его индекса в массиве, а зная только клиентский
код: и последующее обращение к значению поля «OPENBAL» для клиента с кодом
«Q5»: При
построении пользовательской таблицы на каждой итерации изменяющей в себе
строку полезным будет код:
При первом запуске создается строка номер 1 со значениями
полей из переменной «SAMPLE» насчитанной ранее, а на последующих итерациях
строка номер 1 модифицируется.
clientscol=INSERT_COLLECTION_ITEM(clientscol,0,initmap)
‘правильно
INSERT_COLLECTION_ITEM(clientscol,0,initmap)
‘неправильно, в этом случае после вызова функции clientscol будет содержать то же значение, что и до ее вызоваc=strruct{
то
его можно представить как коллекцию ассоциативных массивов в каждом из которых
будет три ключа – «OPENBAL», «CLOSEBAL», «CLIENTCODE». Код для
инициализации такой структуры:
openbal:double
closebal:double
clientcode:string}initmap=CREATE_MAP()
После
чего, для доступа к полю «OPENBAL» 5-го клиента надо написать:
initmap=SET_VALUE(initmap,"OPENBAL",0)
initmap=SET_VALUE(initmap,"CLOSEBAL",0)
initmap=SET_VALUE(initmap,"CLIENTCODE","")
clientscol=CREATE_COLLECTION()
FOR i FROM 0 TO 10
clientscol=INSERT_COLLECTION_ITEM(clientscol,0,initmap)
END FORopenbal = GET_VALUE(GET_COLLECTION_ITEM(clientscol,5),"OPENBAL")
clientsmap=CREATE_MAP()
FOR i FROM 0 TO 10
clientsmap=SET_VALUE(clientsmap,"Q" & i, initmap)
END FORopenbal = GET_VALUE(GET_VALUE(clientsmap,"Q5"),"OPENBAL")
new_global("first_time_flag",0)
if first_time_flag==0
add_item(1,SAMPLE)
first_time_flag=1
else
modify_item(1, SAMPLE)
end if