Показать сообщение отдельно
  #2  
Старый 27.04.2011, 00:44
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

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, технику.
Ответить с цитированием