我有一个静态的二维数组Array[0..100] of array[0..1] of Tpoint,如果我要清空它,除了全部赋0以外,还有什么好办法吗?
解决方案 »
- 关于edit控件的用法
- 用INI文件存放的语言文件,显示希腊语是乱码
- 高分求救!有没有支持HTML语法的Memo控件啊?
- 关于多个DBChart同步缩放和移动的问题,请多指教!急!(100分,不够再加!)
- 新手问:delphi7 生成的exe文件在其他机器上不能执行,应该如何做?
- 谁能回答,100分!关于TDBChart
- http://expert.csdn.net/Expert/topic/1267/1267664.xml?temp=.574917
- 关于如何判断窗口最小化状态
- TComponentState
- 问个很菜的问题:DELPHI怎么实现文本框内容的自动联想输入?
- 如何在QUERY控件的SQL语句中使用数据库名作为参数?及将一个数据库中的所有内容COPY到另一个数据库!
- Delphi6中取得当前日期的函数是哪个?
相应的语句就是两个for语句咯
是否下面:FillChar(urarray, 101*2*SizeOf(TPoint), 0);
最简单行之有效的方法就是一个二维循环。
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;
a:Array[0..100] of array[0..1] of Tpoint
if Assigned(a) then
a:=nil;
To SmallHand and cxz7531:nil只能赋给指针类型吧?
To Linux2001:因为这些点集PointArray中的每一个点都是线段的端点,都带有一定的操作,所以,在擦除线段的时候必须把这些点也擦除掉。由于这些点的加入分别是在mousedown
和mouseup中加入的,所以如果我采用动态数组的话就很不方便操作,常常会发生accessViolence的异常,你看有什么好地解决方法没有?
将二维数组的每个的元素置为nil。即:for i:= 0 to 100 do
for j:= 0 to 1 do
a[i][j]:= nil;
即可清0
X: Longint;
Y: Longint;
end;
可看到为记录型,又不是对象型,只能请0
你要先看指针里存放的是什么东西啊。
如果是记录那么无法清空,建议你重新设计数据结构!其实你完全可以将 定义指针指向TPoint,这样比较好处理!
这是我的一点建议!因为你不知道(0,0)状态处于释放还是一个实在的点。