📄 xdarray.txt
字号:
unit xdarray;
//动态数组可用函数:
//1、设置数组大小,任意缩减或增加数组大小
//procedure SetLength(var s;NewLength:Integer);
//2、取出数组元素,复制给另一数组变量
//function Copy(S ; Index,count:Integer); array;
//3、取得数组大小及上下限
//function Length(s):Integer;
//procedure High(x);
//procedure Low(x);
//4、具体细节置于System单元
//
procedure DynArraySetZero(var A);
//从索引值Index起删除Count个元素,后面的元素向前推。
// A: 动态阵列变数 elSize: 元素所占位元组 Index: 欲删除的元素索引 Count: 欲删除的元素数目
procedure DynArrayDelete(var A; elSize: Longint; index, Count: Integer);
//在Index索引后面插入Count个数值为零的元素。
// A: 动态阵列变数 elSize: 元素所占位元组 Index: 欲插入的元素索引 Count: 欲插入的元素数目
procedure DynArrayInsert(var A; elSize: Longint; index, Count: Integer);
//例子:
{
var
A: array of char;
I: Integer;
begin
SetLength(A,4);
//A=('','','','')
for I :=0 to 3 do
A[I] := Chr(Ord('a') + I);
//A=('a','b','c','d')
DynArrayDelete(A, Sizeof(Char),1,2) //删除b,c
//A=('a','d')
DynArrayInsert(A, Sizeof(Char),0,2) //在a后插入两个
//A=('a','','','d')
end;
}
//将源ASrc的一部分元素复制到ADst上,注意只有复制,所以调用时务必要确认
//目的数组ADst大小足够来自ASrc的Count个元素。
//ADst: 目的动态数组 ASrc: 源数组 elSize: 元素所占位元组 Index:目的元素索引
//IndexSrc: 源元素索引 Count: 欲复制的元素数目
procedure DynArrayCopy(var ADst; const ASrc; elSize: Longint; IndexDst, IndexSrc, Count: Integer);
//将源ASrc的一部分元素追加到ADst上,自动为目的数组拉长Count个元素大小。
//ADst: 目的动态数组 ASrc: 源数组 elSize: 元素所占位元组 Index:目的元素索引
//IndexSrc: 源元素索引 Count: 欲追加的元素数目
procedure DynArrayAppend(var ADst; const ASrc; elSize: Longint; IndexSrc, Count: Integer);
//例子:
{
var
A,B: array of Integer;
I: Integer;
begin
SetLength(A,4);
//A=(0,0,0,0)
for I:=0 to 3 do
A[I] := I;
//A=(0,1,2,3)
SetLength(B,6);
//B = (0,0,0,0,0,0);
DynArrayCopy(B,A,Sizeof(Integer),1,0,4);
//B = (0,0,1,2,3,0)
DynArrayAppend(B,A,Sizeof(Integer),0,4);
//B = (0,0,1,2,3,0,0,1,2,3)
end;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -