社区
Delphi
帖子详情
二维数组的清空问题
cxfirefox
2003-07-30 09:40:33
我有一个静态的二维数组Array[0..100] of array[0..1] of Tpoint,如果我要清空它,除了全部赋0以外,还有什么好办法吗?
...全文
290
18
打赏
收藏
二维数组的清空问题
我有一个静态的二维数组Array[0..100] of array[0..1] of Tpoint,如果我要清空它,除了全部赋0以外,还有什么好办法吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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;
34535345345345345345
2003-07-30
打赏
举报
回复
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的异常,你看有什么好地解决方法没有?
pb 编写的数组使用方法,希望对初学者有用
数组使用,含一维、
二维数组
赋值、调用等使用方法。
C++二维动态数组的创建与删除
C++中用new动态创建
二维数组
的格式一般是这样:TYPE (*p)[N] = new TYPE [][N]; 其中,TYPE是某种类型,N是
二维数组
的列数。采用这种格式,列数必须指出,而行数无需指定。在这里,p的类型是TYPE*[N],即是指向一个有N列元素数组的指针。
青少年C++编程NOIP/CSP竞赛通关语法-
二维数组
1、本课程为零基础C++语法专题课,是青少儿参加信息学奥赛NOIP/CSP需要学习的语法专题课;2、本课程每节课均配有练习题以及真题,以锻炼孩子的解题能力;3、本课程是基于小学生的认知发展水平开发的,运用孩子生活中常见的例子来阐述编程知识,让孩子听得懂学得会;4、学完本课程后,孩子可以自主编程,解决竞赛中,生活实际
问题
,5、拓展孩子计算思维,应对人工智能时代的挑战。6、本课程介绍的是
二维数组
。也是历来竞赛重要考点。
Labview中数组存取与删除
数组存取与删除.
PowerShell数组的一些操作技巧
PowerShell数组的使用例子,PowerShell中使用逗号给数组赋值,数组中可以存放各种不同类型的数据值。 PowerShell中使用逗号给数组赋值,数组中可以存放各种不同类型的数据值。 数组的赋值 先看下面一个简单的例子: 代码如下: $myArray = ‘Hello’, 12, (Get-Date), $null, $true $myArray.Count 这个数组中有五个元素,有字符串、数字、日期、空值、布尔值等不同的数据类型。 索引数组的数据(正序与逆序) 使用中括号来索引数组的下标,如$myArray[0] 表示数组的第一个元素,即值为’Hello’的元素。 如果索引的下
Delphi
5,388
社区成员
262,729
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章