下面是我写的代码,还没写完,但大致是这样的。但运行是怎么会出现list out of  bounds(2)的错误   
  a:=True;   for i:=0 to Form2.Table1.RecordCount-1 do 
  begin 
    if Edit1.Text=Form2.Table1.Fields[i].Value 
    then 
      begin 
        a:=False; 
        ShowMessage('你输入的用户名已注册,请重新输入'); 
        Edit1.SetFocus; 
      end 
    else a:=True; 
  end; 
    if a=True 
    then 
      begin 
        if  (Edit3.Text=Edit2.Text) 
         then 
           begin 
             Form2.Table1.InsertRecord([Edit1.Text,Edit2.Text]); 
             ShowMessage('恭喜你注册成功,你的帐号为'+edit1.Text+'.'); 
           end 
        else 
          begin 
            ShowMessage('输入的密码前后不一致,请重新输入!'); 
            Edit2.Clear; 
            Edit3.Clear; 
            Edit2.SetFocus; 
          end;       end;