注册 登录
编程论坛 Delphi论坛

关于if语句求教

huangwei174 发布于 2007-04-19 13:32, 1209 次点击
k:=0
for i:=1+k to image1.Width-1 do
begin
if (newbitmap.Canvas.Pixels[i,j-1]=0)and(newbitmap.Canvas.Pixels[i,j+1]=0)and
(newbitmap.Canvas.Pixels[i-1,j-1]=0)and(newbitmap.Canvas.Pixels[i-1,j+1]=0)and
(newbitmap.Canvas.Pixels[i+1,j-1]=0)and(newbitmap.Canvas.Pixels[i+1,j+1]=0)and
(newbitmap.Canvas.Pixels[i+1,j]=0)and(newbitmap.Canvas.Pixels[i-1,j]=0)then
memo2.Lines.Add(format('%d,%d',[i,j]));
k:=k+10;
怎么每次运行都不会运行这句啊:k:=k+10;
而且提示:value assigned to 'k'never used
11 回复
#2
hawk0222007-04-19 13:44

我想应该是这样的。
你的i:=1+k,只是在初始时运行一次,以后循环控制就跟k没有关系了。
你这段程序的循环控制有问题。

#3
huangwei1742007-04-20 12:47

对啊好象跟i;=i=k;没关系一样,请问能给我解决方案吗
#4
anthony6342007-04-20 13:35
i:=1+k 这里改变了for循环i 值,违背delphi的for循环机制
#5
huangwei1742007-04-20 13:51
那怎么样才可以实现i值的改变的 就是满足if语句的时候,怎样让i值不顺序的执行而是跳着执行呢 
#6
anthony6342007-04-20 13:56
用while
#7
huangwei1742007-04-20 14:19
回复:(anthony634)用while

我试过了 用while就进入死循环了好象~~具体点可以吗谢谢

#8
xiexinxing2007-04-20 15:44
i:=1;
while i<=image1.Width-1 do
begin
......
k:=k+10;
i:=k+1;
end;


希望能给你点帮助。
#9
zmf8512142007-04-21 10:45
我没有学过Delphi,但毕业设计题目却要用Delphi来做,所以现在很茫然.
我的题目是:振动信号处理系统设计.要求:完成数据处理功能,时域分析,频域分析,幅值域分析等等.
我花了一个星期学了一下Delphi,用的书是清华大学出版社编写的<Delphi程序设计基础
>,但看完之后还是感觉找不到方向,不知道该如何下手.带我们的老师又很忙,一星期都难见他一面.
希望能有哪位好心人能指点一二,如有什么好的参考资料可以推荐一下,还有这个题是属于什么范畴的,应该看些什么方面的书.
我也是实在没主意了,希望能指点一下,万分感激!!!
#10
phonbob2007-04-21 17:31
时域分析,频域分析,幅值域分析
这是什么?要接硬件吗?分析波频?厉害啊。。。。。。。。。。。。
#11
huangwei1742007-04-21 18:53
回复:(xiexinxing)i:=1;while i
xie谢谢这位老兄了呵呵
#12
zmf8512142007-04-24 10:07
回复:(phonbob)时域分析,频域分析,幅值域分析这是什...
这就是常用的信号分析啊,不用接硬件.这些倒不难,就是整个的框架我还不是很清楚!
1