二维数组的清空问题

cxfirefox 2003-07-30 09:40:33
我有一个静态的二维数组Array[0..100] of array[0..1] of Tpoint,如果我要清空它,除了全部赋0以外,还有什么好办法吗?
...全文
290 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxfirefox 2003-08-10
  • 打赏
  • 举报
回复
呵呵,我现在的做法是将要清空的点都放到point(-600,-600)中去,反正只是为了方便绘图!
JackyChang 2003-08-07
  • 打赏
  • 举报
回复
楼主,怎么不说话了?
JackyChang 2003-07-31
  • 打赏
  • 举报
回复
我以为是class呢?
如果是记录那么无法清空,建议你重新设计数据结构!其实你完全可以将 定义指针指向TPoint,这样比较好处理!
这是我的一点建议!因为你不知道(0,0)状态处于释放还是一个实在的点。
zzzl 2003-07-30
  • 打赏
  • 举报
回复
to Linux2001(我想买手提电脑啊!)
你要先看指针里存放的是什么东西啊。
cxz7531 2003-07-30
  • 打赏
  • 举报
回复
var
a:Array[0..100] of array[0..1] of Tpoint
if Assigned(a) then
a:=nil;
Linux2001 2003-07-30
  • 打赏
  • 举报
回复
顶楼的大哥,你把结构体用Free给我试试看。
最简单行之有效的方法就是一个二维循环。
for i := 0 to 100 do
for j := 0 to 1 do
begin
a[i][j].x :=0; //这里的a是TPoint类型
a[i][j].y :=0;
end;
  • 打赏
  • 举报
回复
zeromemory(@TPoint,sizeof(TPoint));
火龙岛主 2003-07-30
  • 打赏
  • 举报
回复
Tpoint:=nil
firetoucher 2003-07-30
  • 打赏
  • 举报
回复
不太明白,你的意思,是释放?还是清空?
是否下面:

FillChar(urarray, 101*2*SizeOf(TPoint), 0);
firetoucher 2003-07-30
  • 打赏
  • 举报
回复
不太明白,你的意思,是否下面:

FillChar(urarray, 101*2*SizeOf(TPoint), 0);
zzzl 2003-07-30
  • 打赏
  • 举报
回复
赋0不等于清空啊,需要执行元素对象的free方法,如果元素不是对象类型的话,不要管它了,程序退出后会自己清空。
相应的语句就是两个for语句咯
bluenightsky 2003-07-30
  • 打赏
  • 举报
回复
TPoint = packed record
X: Longint;
Y: Longint;
end;
可看到为记录型,又不是对象型,只能请0
bluenightsky 2003-07-30
  • 打赏
  • 举报
回复
FillChar(array, 101*2*SizeOf(TPoint), 0);
即可清0
cxfirefox 2003-07-30
  • 打赏
  • 举报
回复
但是我的二位数组是TPoint类型的,而不是Pointer,不能赋nil
JackyChang 2003-07-30
  • 打赏
  • 举报
回复
对不起楼主,没有看到你的后来的发言!

既然是释放资源,我觉得应该是这样:
将二维数组的每个的元素置为nil。

即:for i:= 0 to 100 do
for j:= 0 to 1 do
a[i][j]:= nil;
JackyChang 2003-07-30
  • 打赏
  • 举报
回复
是啊。楼主的清空是什么意思?
FrameSniper 2003-07-30
  • 打赏
  • 举报
回复
呵呵,跑到这里来问了?呵呵.........
cxfirefox 2003-07-30
  • 打赏
  • 举报
回复
To firetoucher:是释放!
To SmallHand and cxz7531:nil只能赋给指针类型吧?
To Linux2001:因为这些点集PointArray中的每一个点都是线段的端点,都带有一定的操作,所以,在擦除线段的时候必须把这些点也擦除掉。由于这些点的加入分别是在mousedown
和mouseup中加入的,所以如果我采用动态数组的话就很不方便操作,常常会发生accessViolence的异常,你看有什么好地解决方法没有?

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧