在我的form上放了 10个Image ,其中每个Image对应一张表的一条记录 ,而这张表 我是通过 一个 adoqry_mx来连接的。 由于我每次只能 显示10条记录。现在我在FORM上添 加一个“下翻”按扭这样的话。我就能显示 第11条后面的记录。
问题是,我如何把adoqry_mx定位到第10条、第20条记录上?因为,我每按一次按扭adoqry_mx就跑到第一条记录上去了。
我现在的代码如下:
procedure Tfrm_tpzs_n.spdbtn_newClick(Sender: TObject);
var
a : array[0..9] of TImage;
i : Integer;
begin
while adoqry_mx.FieldByName('FItemID').AsInteger = frm_jbxx_n.adoqry_mx.FieldByName('FInterID').AsInteger do
begin
if adoqry_mx.RecordCount < 9 then
begin
SpeedButton4.Enabled := false;
for i := 0 to adoqry_mx.RecordCount do
begin
a[i].Picture.LoadFromFile := adoqry_mx.FieldByName('Path').AsString;
adoqry_mx.Next();
end;
end
else
begin
SpeedButton4.Enabled := true;
for i := 0 to 9 do
begin
a[i].Picture.LoadFromFile := adoqry_mx.FieldByName('Path').AsString;
adoqry_mx.Next();
end;
end;
end;
end;
清高手指点。
问题是,我如何把adoqry_mx定位到第10条、第20条记录上?因为,我每按一次按扭adoqry_mx就跑到第一条记录上去了。
我现在的代码如下:
procedure Tfrm_tpzs_n.spdbtn_newClick(Sender: TObject);
var
a : array[0..9] of TImage;
i : Integer;
begin
while adoqry_mx.FieldByName('FItemID').AsInteger = frm_jbxx_n.adoqry_mx.FieldByName('FInterID').AsInteger do
begin
if adoqry_mx.RecordCount < 9 then
begin
SpeedButton4.Enabled := false;
for i := 0 to adoqry_mx.RecordCount do
begin
a[i].Picture.LoadFromFile := adoqry_mx.FieldByName('Path').AsString;
adoqry_mx.Next();
end;
end
else
begin
SpeedButton4.Enabled := true;
for i := 0 to 9 do
begin
a[i].Picture.LoadFromFile := adoqry_mx.FieldByName('Path').AsString;
adoqry_mx.Next();
end;
end;
end;
end;
清高手指点。
var
a : array[0..9] of TImage;
i,j : Integer;
begin
while adoqry_mx.FieldByName('FItemID').AsInteger = frm_jbxx_n.adoqry_mx.FieldByName('FInterID').AsInteger do
begin
if j< 9 then
begin
SpeedButton4.Enabled := false;
for i := 0 to adoqry_mx.RecordCount do
begin
a[i].Picture.LoadFromFile := adoqry_mx.FieldByName('Path').AsString;
j:=j+1;
adoqry_mx.Next();
end;
end
else
begin
SpeedButton4.Enabled := true;
j:=0;
end;
end;
end;