Не уверен, что понимаю, но верно ли это:
stringVar layerType;
shared numberVar layNo;
if({Command.ISREPORT}=0) then
( layNo:=layNo+1;
layerType:=ToText(layNo);
layerType;
)
else
( if ({Command.ISREPORT}=1) then
layerType:='Reporting';
layerType
)
... что можно упростить до этого:
shared numberVar layNo;
if({Command.ISREPORT}=0) then
(
layNo:=layNo+1;
ToText(layNo);
)
else
(if ({Command.ISREPORT}=1) then
'Reporting';)
.. при условии, что значение ISREPORT может быть только0 или 1, тогда мы можем еще больше упростить до этого:
shared numberVar layNo;
if({Command.ISREPORT}=0) then
(
layNo:=layNo+1;
ToText(layNo);
)
else
(
layNo:=0;
'Reporting';
)
Обновление - я изменил последний пример, чтобы сбросить счетчик на «отчетность».Редактировать: изменить текст (.. на этот ToText(layNo,0);
(устанавливает десятичные разряды на ноль)