1. Твой код можно написать гораздо короче и оптимальнее. Для начала через case. А если уж совсем подумать, то как-то так:
Код:
var
edt : TEdit;
begin
edt := FindComponent('Edit'+IntToStr(RadioGroup8.ItemIndex+1));
If edt <> Nil Then
b := StrToFloat(edt.Text);
end;
2. Теперь непосредственно по сохранению и чтению.
Можно делать в реестре, можно и Ini-файле.
Вот пример для Ini-файла:
Код:
uses IniFiles;
// Запись
var
Ini : TIniFile;
begin
Ini := TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini'));
Ini.WriteString('Edits','Edit1',Edit1.Text);
Ini.WriteString('Edits','Edit2',Edit2.Text);
...
Ini.WriteString('Edits','Edit17',Edit17.Text);
Ini.Free;
end;
// Чтение
var
Ini : TIniFile;
begin
Ini := TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini'));
Edit1.Text := Ini.ReadString('Edits','Edit1',0);
Edit2.Text := Ini.ReadString('Edits','Edit2',0);
...
Edit17.Text := Ini.ReadString('Edits','Edit17',0);
Ini.Free;
end;
Для сокращения кода можно использовать приведенную выше, в п. 1, технику.