Работа с реестромИсточник: rusdoc
Реестр очень нужная вещь! Им должен уметь пользоваться каждый. Сегодня я покажу маленький пример, как сохранить некоторые параметры Вашей программы. Первое, что надо сделать - это добавить в uses модуль Registry Затем написать две процедуры: type TForm1 = class(TForm) procedure SaveProgParam; procedure LoadProgParam; procedure TForm1.SaveProgParam; var FIniFile: TRegIniFile; Begin // по умолчанию всё делается в HKEY_CURRENT_USER FIniFile := TRegIniFile.Create(`Software`); FIniFile.OpenKey(`Папка_вашей_программы`,true); if Form1.WindowState=wsNormal then begin FIniFile.WriteInteger(`Option`, `Width`, Width); // Write: - означает запись, :Integer - означает тип записываемой переменной // Первый параметр `Option` - это подраздел: `Папка_вашей_программы\Option\` // Второй параметр `Width` - название ключа (файла в реестре) // Третий - это переменная которую мы записываем FIniFile.WriteInteger(`Option`, `Heigth`, Height); FIniFile.WriteInteger(`Option`, `Left`, Left); FIniFile.WriteInteger(`Option`, `Top`, Top); end; FIniFile.WriteInteger(`Option`, `WinState`, Integer(WindowState)); FIniFile.Free; //освобождаем переменную end; Здесь мы записали положение окна и развёрнуто ли оно. Далее мы пишем процедуру загрузки этих параметров: procedure TForm1.LoadProgParam; var FIniFile: TRegIniFile; Begin // по умолчанию всё делается в HKEY_CURRENT_USER FIniFile := TRegIniFile.Create(`Software`); FIniFile.OpenKey(`Папка_вашей_программы`,true); Width:=FIniFile.ReadInteger(`Option`, `Width`, 600); // Read: - означает чтение, :Integer - означает тип считываемой переменной // Первый параметр `Option` - это подраздел: `Папка_вашей_программы\Option\` // Второй параметр `Width` - название ключа (файла в реестре) // Третий параметр 600 - это значение по умолчанию, если ключ с названием `Width` не будет найден Height:=FIniFile.ReadInteger(`Option`, `Heigth`, 300); Left:=FIniFile.ReadInteger(`Option`, `Left`, 10); Top:=FIniFile.ReadInteger(`Option`, `Top`, 10); WindowState:=TWindowState(FIniFile.ReadInteger(`Option`, `WinState`, 0)); FIniFile.Free; //освобождаем переменную end; И теперь внедряем эти процедуры в программу: procedure TForm1.FormCreate(Sender: TObject); begin LoadProgParam; end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin SaveProgParam; end; |