在我的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;
 清高手指点。

解决方案 »

  1.   

    procedure Tfrm_tpzs_n.spdbtn_newClick(Sender: TObject);
    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;