本帖最后由 tongp 于 2011-09-10 13:43:40 编辑

解决方案 »

  1.   

    有ReadFloat读取浮点数在保证TEdit(Controls[i])访问正确的情况下
    TEdit(Controls[i]).Text:= MyIniFile.ReadString('val','a'+IntToStr(i),'')
      

  2.   

    五个Edit,Edit1-Edit5,ini文件有五个值a1-a5,
    config.ini[val]
    a1=0.1
    a2=0.2
    a3=0.3
    a4=0.4
    a5=0.5unit unitMain;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, IniFiles, StdCtrls;type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Edit2: TEdit;
        Edit3: TEdit;
        Edit4: TEdit;
        Edit5: TEdit;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}function GetEditValue(idx: Byte): String;
    const
      K_IniName = 'config.ini';
      K_KeyName = 'val';
      K_Prefix  = 'a';
    begin
      with TIniFile.Create(ExtractFilePath(Application.ExeName)+K_IniName) do
      try
        Result := ReadString(K_KeyName,K_Prefix+IntToStr(idx),'0');
      finally
        free;
      end;
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      aControl: TControl;
      aEdit: TEdit;
      i,k: Integer;
    begin
      for i := 0 to Self.ControlCount - 1 do
        if Self.Controls[i] is TEdit then
        begin
          aEdit := TEdit(Controls[i]);
          k := StrToInt(Copy(aEdit.Name,Length(aEdit.Name),1));
          aEdit.Text := GetEditValue(k);
        end;
    end;end.