我们这里的系统参数主要使用来做函数间的数据缓存。如果我们在取得一个系统参数的一部分,比如该系统参数的子数组,我们习惯先使用GetSysParam得到系统参数整个数组,再取该子数组。
setSysParam("para",rand(100,100));
a := getSysParam("para");
if ifnil(a) then //空值判断
begin
a := rand(100,100);
setSysParam("para",a);
end
return a[10,10];
这里有两个地方值得我们注意,ifnil判断系统参数sysparams[‘para’]是否存在,通过getSysParam("para"),将一个100*100的数组拷贝了一份,于是我们可以在我们进行系统变量赋值的时候是否可以再加上另一个系统变量,来保存是否为空的信息。另外一个地方是,这里只使用了a[10,10],这里我们是否可以不取完整个系统变量。
SysParams["para"] := rand(100,100);
SysParams["para:ifnil"] := 1;
if SysParams["para:ifnil"] then
begin
a := rand(100,100);
SysParams["para"] := a;
end
return SysParams["para"][10,10];
这样可以避免大的数据的赋值,在一个循环函数中老调用一个重复函数,而使用的数据又不是调用函数的返回结果的全部时(参见2.9的例子),这样就可以大幅度提高函数的效率。