Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[13.59.100.42] |
|
Сообщ.
#1
,
|
|
|
Доброго времени суток, помогите решить проблему. У меня есть компонент, нужно в него добавить два метода: Сохранение настроек и Загрузка настроек. Т.е. при вызове ххххх.SaveToFile сохранялись в ini фаил все настройки компонента и соответственно при вызове ххххх.LoadFromFile всем свойствам компонентам присваивались сохраненные значения. Как это сделать в компоненте?? Заранее всем спасибо.
|
Сообщ.
#2
,
|
|
|
Fox_19
Если знаешь как это сделать не в компоненте, то сможешь сделать и в компоненте. В чем конкретно проблема-то ? |
Сообщ.
#3
,
|
|
|
Fox_19 уточни, настройки надо сохранять при установке свойств в динамике или в DesignTime. Если в динамике, то можно только через реестр или ini-файл. В случае DesignTime проект Delphi сам запоминает установленные свойства компонента.
|
Сообщ.
#4
,
|
|
|
Наверно в динамике, короче ставишь компонент на форму, потом при нажатии на кнопку вызывается LoadFromFile и компонент сам себя настрайвает считывая значения из файла.
|
Сообщ.
#5
,
|
|
|
Цитата Fox_19 @ Наверно в динамике, короче ставишь компонент на форму, потом при нажатии на кнопку вызывается LoadFromFile и компонент сам себя настрайвает считывая значения из файла. Тогда тебе нужно читать о TPersistent |
Сообщ.
#6
,
|
|
|
Вот, наверно, примерно то что тебе надо:
type TMyComponent=class(TComponent)//TComponent не обязательно private //приватные методы и переменные protected //наследуемые методы и свойства public function LoadFromFileProperty(FileName:string):boolean; //свойства и методы published //свойства и методы end; implementation {$R *.DFM} uses inifiles; function TMyComponent.LoadFromFileProperty(FileName:string):boolean; var ini:TIniFile; begin Result:=True; If not FileExists(FileName) then begin Result:=False; exit; end; try ini:=TIniFile.Create(FileName); try Self.Property1:=ini.ReadString('Secttion1', 'Ident1', ''); Self.Property2:=ini.ReadInteger('Secttion1', 'Ident2', 0); //и т. д. finally ini.Free; end; except ShowMessage('Файл не того формата'); Result:=False; end; end; |