...

Листинг 7.14.

Сохранение параметров формы в реестре

procedure TForm1.OKClick(Sender: TObject);

begin

SaveFilter();

//Выполняем требуемые действия…

end;

//Процедура сохраняет параметры в реестр

procedure TForm1.SaveFilter();

var

reg: TRegistry; //По умолчанию: RootKey = HKEY_CURRENT_USER

strShops: String;

i: Integer;

begin

reg := TRegistry.Create();

try

//Открываем или создаем раздел, в котором будут

//сохранены параметры формы

reg.OpenKey(strBaseKey + \'\Form1\', True);

//Сохранение параметров

//1. Размер и положение формы

reg.WriteInteger(\'Width\', Width);

reg.WriteInteger(\'Height\', Height);

reg.WriteInteger(\'Top\', Top);

reg.WriteInteger(\'Left\', Left);

//2. Последнее введенное наименование

reg.WriteString(\'txtName.Text\', txtName.Text);

//3. Выбранные магазины

strShops := \'\

for i := 0 to lstShops.Count–1 do

if lstShops.Selected[i] then

strShops := strShops + lstShops.Items[i] + \',\

reg.WriteString(\'lstShops.Selection\', strShops);

//4. Применение сортировки

reg.WriteBool(\'chkSort.Checked\', chkSort.Checked);

except

on ERegistryException do

MessageBox(Handle, \'Ошибка при сохранении фильтра\',

\'Поиск товара\', MB_ICONEXCLAMATION)

;

end;

reg.CloseKey();

reg.Free();

end;

В рассматриваемом примере константа strBaseKey, определяющая положение раздела для сохранения настроек, задана следующим образом:

Загрузка...