循环插入问题!(10分)

  • 主题发起人 主题发起人 dean_2008
  • 开始时间 开始时间
D

dean_2008

Unregistered / Unconfirmed
GUEST, unregistred user!
q:=0;
for h:=0 to 13do
begin
sql3:='select * from 情况 where 号码='''+XjPrint_Num+''' and 名称='''+kc[h]+'''';
for w:=rxnf to rxnf+nj-1do
begin
cz.Connection:=conn;
cz.Close;
cz.SQL.Clear;
cz.SQL.Add(sql3+'and 年='''+inttostr(rxnf)+'-'+inttostr(rxnf+1)+'''');
cz.Open;
if cz.RecordCount<>0 then
begin
mq:=TfrMemoView(frReport1.FindObject(inttostr(q+1)+inttostr(h+1)+'1'));
mq.Memo.Text:=cz.FieldValues['总评'];
mq:=TfrMemoView(frReport1.FindObject(inttostr(q+1)+inttostr(h+1)+'2'));
mq.Memo.Text:=cz.FieldValues['第二总评'];
mq:=TfrMemoView(frReport1.FindObject(inttostr(q+1)+inttostr(h+1)+'3'));
mq.Memo.Text:=cz.FieldValues['年总评'];
cz.Next;
//这里面循h不能跟着外面进行循环
end;
rxnf:=rxnf+1;
q:=q+1;
end;
end;
 
最里面的循环中的h的值就是不能跟随着外面的变化。怎么回事?
 
怎么看不到第二层循环变量W?
没用到吗?
 
没有明白你的意思,随着外面变化?
h不就是一个循环变量嘛,累加了。。。
 
是一个循环变量啊。就是在最里面一个for循环里面h并没有累加。我在最里面的for循环加一句showmessage(inttostr(h));
 
我在最里面的for循环加一句showmessage(inttostr(h));
可以看出在最里面不累加,在外面一个for循环里面是累加的。大家帮忙看一下,谢谢!
 
大家帮忙看一下啊!
 
我在这里也有发现这样的问题,单步跟踪时,h这个值是不定的,
但是实际上确实在累加。
 
这个问题真讨厌啊!我觉得我是代码太长了括号(begin
...end) 的问题
 
if cz.RecordCount<>0 then
begin
//是不是要从这里开始
mq:=TfrMemoView(frReport1.FindObject(inttostr(q+1)+inttostr(h+1)+'1'));
mq.Memo.Text:=cz.FieldValues['总评'];
mq:=TfrMemoView(frReport1.FindObject(inttostr(q+1)+inttostr(h+1)+'2'));
mq.Memo.Text:=cz.FieldValues['第二总评'];
mq:=TfrMemoView(frReport1.FindObject(inttostr(q+1)+inttostr(h+1)+'3'));
mq.Memo.Text:=cz.FieldValues['年总评'];
cz.Next;
//有什么用

end;
 
是从这里开始得
 
自己解决了
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
687
import
I
I
回复
0
查看
843
import
I
后退
顶部