AssignFile(ddsf,filename);
  Reset(ddsf);
  flen:=filesize(ddsf);
  closefile(ddsf);
  handle:=fileopen(filename,fmopenread);
  if flen1<=0 then showmessage('打开文件时出错,请重试') else
  begin
    for k:=0 to (flen div 116) do
    begin
      fpos:=k*116;
      fileseek(handle,fpos1+k,0);
      fileread(handle1,buffer,116);
      if not(IBTS_HxData.InTransaction) then IBTS_HxData.StartTransaction;
      if not(IBPread.Prepared) then IBPread.Prepare;
      str:='';
      for i:=0 to 5 do str:=str+buffer[i];
      IBPRead.ParamByName('INREAD_DATE').Value:=str;
      IBPRead.ParamByName('INREAD_TYPE').Value:=1;
      str:='';
      for i:=6 to 15 do str:=str+buffer[i];
      IBPRead.ParamByName('INMETER_CODE').Value:=str;
      str:='';
      for i:=20 to 31 do str:=str+buffer[i];
      IBPRead.ParamByName('INNUMZ').Value:=strtofloat(str);
      str:='';
      for i:=32 to 43 do str:=str+buffer[i];
      IBPRead.ParamByName('INNUMF').Value:=strtofloat(str);
      str:='';
      for i:=44 to 55 do str:=str+buffer[i];
      IBPRead.ParamByName('INNUMP').Value:=strtofloat(str);
      str:='';
      for i:=56 to 67 do str:=str+buffer[i];
      IBPRead.ParamByName('INNUMG').Value:=strtofloat(str);
      str:='';
      for i:=68 to 79 do str:=str+buffer[i];
      IBPRead.ParamByName('INPOWERZ').Value:=strtofloat(str);
      str:='';
      for i:=80 to 91 do str:=str+buffer[i];
      IBPRead.ParamByName('INPOWERF').Value:=strtofloat(str);
      str:='';
      for i:=92 to 103 do str:=str+buffer[i];
      IBPRead.ParamByName('INPOWERP').Value:=strtofloat(str);
      str:='';
      for i:=104 to 115 do str:=str+buffer[i];
      IBPRead.ParamByName('INPOWERG').Value:=strtofloat(str);
      IBPRead.ExecProc;
      IBTS_HXData.Commit;
    end;
循环没错,在窗体上我用的组件有ibstoredproc,ibdatabase,datasource,我该怎么应用这些组件的属性或方法存数据/