delphi 7循环语句的问题
将下面一段程序改成for..do循环:x:=num1;y:=num2;whiley<>0dobegintemp:=xmody;x:=y;y:=temp;end;x,y>0...
将下面一段程序改成for..do循环:
x:=num1;y:=num2;
while y<>0 do
begin
temp:=x mod y;
x:=y;
y:=temp;
end;
x,y>0
初始时x<y 展开
x:=num1;y:=num2;
while y<>0 do
begin
temp:=x mod y;
x:=y;
y:=temp;
end;
x,y>0
初始时x<y 展开
展开全部
不太明白你这个循环有什么意义,这段程序运行的最后结果是,你的edit1到edit5的text里是最后一条数据的值,即软显示最后一条么,直接就把uup_query的指针定位到last么就行了,何必再做一个循环呢?
把循环结构去掉,只保存里面的循环体
while
not
Eof
do
begin
edit1.Text:=fieldbyname('stu_name').AsString;
edit2.Text:=fieldbyname('stu_age').AsString;
edit3.Text:=fieldbyname('stu_sex').AsString;
edit4.Text:=fieldbyname('stu_tel').AsString;
edit5.Text:=fieldbyname('stu_address').AsString;
next;
end;
改成
if
recordcount>0
then
begin
edit1.Text:=fieldbyname('stu_name').AsString;
edit2.Text:=fieldbyname('stu_age').AsString;
edit3.Text:=fieldbyname('stu_sex').AsString;
edit4.Text:=fieldbyname('stu_tel').AsString;
edit5.Text:=fieldbyname('stu_address').AsString;
next;
end;
然后新建一个按钮,在它的click事件里加入
with
uup_query
do
begin
if
not
eof
then
begin
edit1.Text:=fieldbyname('stu_name').AsString;
edit2.Text:=fieldbyname('stu_age').AsString;
edit3.Text:=fieldbyname('stu_sex').AsString;
edit4.Text:=fieldbyname('stu_tel').AsString;
edit5.Text:=fieldbyname('stu_address').AsString;
next;
end;
end;
把循环结构去掉,只保存里面的循环体
while
not
Eof
do
begin
edit1.Text:=fieldbyname('stu_name').AsString;
edit2.Text:=fieldbyname('stu_age').AsString;
edit3.Text:=fieldbyname('stu_sex').AsString;
edit4.Text:=fieldbyname('stu_tel').AsString;
edit5.Text:=fieldbyname('stu_address').AsString;
next;
end;
改成
if
recordcount>0
then
begin
edit1.Text:=fieldbyname('stu_name').AsString;
edit2.Text:=fieldbyname('stu_age').AsString;
edit3.Text:=fieldbyname('stu_sex').AsString;
edit4.Text:=fieldbyname('stu_tel').AsString;
edit5.Text:=fieldbyname('stu_address').AsString;
next;
end;
然后新建一个按钮,在它的click事件里加入
with
uup_query
do
begin
if
not
eof
then
begin
edit1.Text:=fieldbyname('stu_name').AsString;
edit2.Text:=fieldbyname('stu_age').AsString;
edit3.Text:=fieldbyname('stu_sex').AsString;
edit4.Text:=fieldbyname('stu_tel').AsString;
edit5.Text:=fieldbyname('stu_address').AsString;
next;
end;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
x:=num1;y:=num2;
z:=x;
for i:=0 to z do
begin
temp:=x mod y;
x:=y;
y:=temp;
if y=0 then break;
end;
其实就是在条件达到时退出循环。
这个算法最好还是用while 或repeat循环,用for循环要麻烦一点。
z:=x;
for i:=0 to z do
begin
temp:=x mod y;
x:=y;
y:=temp;
if y=0 then break;
end;
其实就是在条件达到时退出循环。
这个算法最好还是用while 或repeat循环,用for循环要麻烦一点。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
能改么?这根本不知道循环的次数。。。
初学者 路过~~
初学者 路过~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
x=10 y=8
for i:=0 to x do
begin
xy=x mod y
end;
for i:=0 to x do
begin
xy=x mod y
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询