Update utslvclauxiliary.tsf

避免length出错
This commit is contained in:
JianjunLiu 2022-12-09 16:09:18 +08:00
parent a69fded109
commit e72ecfeab2
1 changed files with 10 additions and 10 deletions

View File

@ -886,14 +886,14 @@ type tnumindexarray = Class() //ջģ
@explan(说明) 获得数据长度 %% @explan(说明) 获得数据长度 %%
@return(integer) 长度 %% @return(integer) 长度 %%
**} **}
return length(FData); return ::length(FData);
end end
function Push({value1,value2,....}); function Push({value1,value2,....});
begin begin
{** {**
@explan(说明) 在末尾追加元素,参数个数不定 %% @explan(说明) 在末尾追加元素,参数个数不定 %%
**} **}
r := length(FData); r := ::length(FData);
r1 := r; r1 := r;
for i := 0 to ParamCount-1 do for i := 0 to ParamCount-1 do
begin begin
@ -910,7 +910,7 @@ type tnumindexarray = Class() //ջģ
**} **}
if FData then if FData then
begin begin
id := length(FData)-1; id := ::length(FData)-1;
r := FData[id]; r := FData[id];
deleteindex(FData,id); deleteindex(FData,id);
LengthChanged(-1); LengthChanged(-1);
@ -928,7 +928,7 @@ type tnumindexarray = Class() //ջģ
end end
function LastIndexOf(v); function LastIndexOf(v);
begin begin
for i := length(FData)-1 downto 0 do for i := ::length(FData)-1 downto 0 do
begin begin
if v=FData[i]then return i; if v=FData[i]then return i;
end end
@ -940,7 +940,7 @@ type tnumindexarray = Class() //ջģ
end end
function SetValueByIndex(idx,v);virtual; function SetValueByIndex(idx,v);virtual;
begin begin
len := length(FData); len := ::length(FData);
if idx<0 then return nil; if idx<0 then return nil;
if idx <= len then if idx <= len then
begin begin
@ -963,7 +963,7 @@ type tnumindexarray = Class() //ջģ
sl := p[1]; sl := p[1];
sl := ifnil(sl)?inf:sl; sl := ifnil(sl)?inf:sl;
sl := (sl>=0)?sl:0; sl := (sl>=0)?sl:0;
len := length(FData); len := ::length(FData);
st := st<0?0:st; st := st<0?0:st;
st := st >= len?(len):st; st := st >= len?(len):st;
et := st+sl; et := st+sl;
@ -978,7 +978,7 @@ type tnumindexarray = Class() //ջģ
r1 := FData[0:st-1]; r1 := FData[0:st-1];
r2 := FData[et:len-1]; r2 := FData[et:len-1];
FData := r1 union p[2:] union r2; FData := r1 union p[2:] union r2;
if len <> length(FData)then LengthChanged(length(FData)-len); if len <> ::length(FData)then LengthChanged(::length(FData)-len);
return r; return r;
end end
function shift(); function shift();
@ -987,7 +987,7 @@ type tnumindexarray = Class() //ջģ
@explan(说明) 弹出头部元素 %% @explan(说明) 弹出头部元素 %%
**} **}
r := nil; r := nil;
len := length(FData); len := ::length(FData);
if len>0 then if len>0 then
begin begin
deleteindex(FData,0); deleteindex(FData,0);
@ -1006,7 +1006,7 @@ type tnumindexarray = Class() //ջģ
FData := p union FData; FData := p union FData;
LengthChanged(1); LengthChanged(1);
end end
return length(FData); return ::length(FData);
end end
function swap(i,j); function swap(i,j);
begin begin
@ -1014,7 +1014,7 @@ type tnumindexarray = Class() //ջģ
@explan(说明) 交换下标中的值 %% @explan(说明) 交换下标中的值 %%
**} **}
if i=j then return false; if i=j then return false;
len := length(FData); len := ::length(FData);
if i >= 0 and i<len and j >= 0 and j<len then if i >= 0 and i<len and j >= 0 and j<len then
begin begin
t := FData[i]; t := FData[i];