Реестр очень нужная вещь! Им должен уметь пользоваться каждый. Сегодня я покажу маленький пример как сохранить некоторые параметры Вашей программы. Первое что надо сделать это добавить в 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; Вот и все теперь твоя программа умеет запоминать положение окна при открытии и закрытии. Удачи!
|