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