Save settings in application options dialog
With Storage library You can save settings of options dialog without any programming. Here is sequence of steps:
- Put TrsPropSaver component to the application options form.
- Change TrsPropSaver.RootSection if necessary. To “Options” for sample.
- Change TrsPropSaver.WhenSave to wsManual.
- Select property of other controls that need to be saved in TrsPropSaver dialog.
- Now code for application options dialog call may be as shown below:
procedure TFormMain.actOptionsExecute(Sender: TObject);
var
F: TFormOptions;
begin
F := TFormOptions.Create(Self);
if F.ShowModal=mrOk then begin
// All changes is saved if user click 'OK' in dialog
F.rsPropSaver1.SaveValues;
end;
F.Free;
end;
The Delphi4/5/6/7 demo project download (3kb)
The walk through all sections
Starting from version 3.12 of Storage library TrsStorage component has a methods SectionFirst, SectionNext, SectionPrior, SectionLast for walk through all sections. You can use its as shown below
{Walk forward}
if rsStorage1.SectionFirst>=0 then
repeat
{You can get information about current Section
from TrsStorage.SectionWrapper}
with ListView1.Items.Add do begin
Caption := rsStorage1.SectionWrapper.Name;
SubItems.Add(rsStorage1.SectionWrapper.FullName);
SubItems.Add(IntToStr(rsStorage1.SectionWrapper.Level));
end;
until rsStorage1.SectionNext<0;
{Walk backward}
if rsStorage1.SectionLast>=0 then
repeat
{You can get information about current Section
from TrsStorage.SectionWrapper}
with ListView1.Items.Add do begin
Caption := rsStorage1.SectionWrapper.Name;
SubItems.Add(rsStorage1.SectionWrapper.FullName);
SubItems.Add(IntToStr(rsStorage1.SectionWrapper.Level));
end;
until rsStorage1.SectionPrior<0;
The Delphi4/5/6/7 demo project download (11kb)
The walk through all keys
Starting from version 3.05 of Storage library TrsStorage component has a methods KeyFirst, KeyNext, KeyPrior, KeyLast for walk through all keys. You can use its as shown below
{Walk forward}
if rsStorage1.KeyFirst>=0 then
repeat
{You can get information about current Key
from TrsStorage.KeyWrapper}
with ListView1.Items.Add do begin
Caption := rsStorage1.KeyWrapper.Name;
SubItems.Add(rsStorage1.KeyWrapper.SectionFullName);
SubItems.Add(IntToStr(rsStorage1.KeyWrapper.KeyType));
end;
until rsStorage1.KeyNext<0;
{Walk backward}
if rsStorage1.KeyLast>=0 then
repeat
{You can get information about current Key
from TrsStorage.KeyWrapper}
with ListView1.Items.Add do begin
Caption := rsStorage1.KeyWrapper.Name;
SubItems.Add(rsStorage1.KeyWrapper.SectionFullName);
SubItems.Add(IntToStr(rsStorage1.KeyWrapper.KeyType));
end;
until rsStorage1.KeyPrior<0;
The Delphi4/5/6/7 demo project download (11kb)