我定义了一个动态数组A,类型是记录类型,加入了
A[0],A[1],A[2],……几个值,现在想删除A[1],
删除后不能有中断,原来的A[2]变为A[1],
A[3]变为A[2],……同时长度缩短一位,不知怎么做,
在线等待,马上给分。
A[0],A[1],A[2],……几个值,现在想删除A[1],
删除后不能有中断,原来的A[2]变为A[1],
A[3]变为A[2],……同时长度缩短一位,不知怎么做,
在线等待,马上给分。
解决方案 »
- 请教,如何实现在多表中取关联数据,并显示
- cxgrid的小问题.
- 关于AboutBox显示位置的问题
- 为什么我用tquery.delete会报错啊~~
- delphi 中有像C++中的可以指定某段程序可以不编译的操作吗?
- 怎样在MDI中使子窗口成为聚焦窗口
- 如何编写DBGrid的一键全选?
- 请问怎么用Delphi判断操作系统是Profassional还是Server?
- DELPHI里那个语句的功能和vb里的raiseevent一样
- 为什么在过程里引用form的label1,时要写面form1.label1.caption
- delphi7有什么新功能
- 急急急!如何用用SQL-DMO开发实现数据的备份和还原,特别是还原!
A[i] := A[i+1];
如果删除A[7],则
for i:=7 to n-2 do
A[i] := A[i+1];
var
j:integer;
begin
for j:=i to high(a)-1 do
a[j]:=a[j+1];
setlength(a,high(a));
end;
var
a:array of string;
i,j,k,ArrayLeng:integer;
begin
ArrayLeng:=7;
setlength(a,ArrayLeng);
for i:=0 to ArrayLeng-1 do
a[i]:='sample'+inttostr(i);
//例如想删除位置j的数组
j:=2;
for i:=j to length(a)-2 do
begin
a[i]:=a[i+1];
end;
//重新设置长度
SetLength(a,Length(a)-1);
end;
for i:=1 to n-1 do
A[i] := A[i+1];
如果删除A[7],则
for i:=7 to n-1 do
A[i] := A[i+1];
才对吧
j的取值最大只能为6呀
你的A[7]不是变成8位长度的数组了吗
我的j:=2只是给你举个例子数组的下维从0开始 如
for i:=0 to length(A)-1 do
而不是i:=1 to length(A)-1 do
length(a)-2
这个不要写错