Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.27;
Скачать: CL | DM;

Вниз

*.ini или что-то вроде этого   Найти похожие ветки 

 
VAleksey ©   (2002-05-17 06:28) [0]

На форме есть куча переключателей (CheckBox - ов). Естественно, что во время работы программы у них происходит изменение св-ва Checked. Как мне сделать так, чтобы при запуске программы восстанавливались те св-ва переключателей, которые установил пользователь в своем последнем сеансе ?
Может есть какой - нибудь компонент с помощью которого можно это сделать ?


 
Cyril   (2002-05-17 07:20) [1]

В RxLib есть компонент FormStorage. Могу вымылить


 
DenNNis   (2002-05-17 07:44) [2]

с помощью *.INI это легко и просто, или с помощью реестра


 
panov ©   (2002-05-17 07:48) [3]

Попробуй использовать примерно набор таких функций.
Только добавь функции для созранения и чтения Boolean.

Метод решения:

for i := 0 to Form1.ComponentCount-1 do
begin
if (Form1.Components[i] is TCheckBox) then
begin
TCheckBox(Form1.Components[i]).Checked :=
Boolean(StrToInt(GetParm(Form1.Name,TCheckBox(Form1.Components[i]).Name))); //Чтение параметра из .ini
WriteParm(
Form1.Name,
TCheckBox(Form1.Components[i]).Name,IntToStr(Ord(CheckBox1.Checked))); //Для записи в .ini
end;
end;

function GetIniName: String;
begin
Result := Application.ExeName;
Result := ChangeFileExt(Result, ".ini");
end;

procedure GetParmSection(const aSec: String;var t: TStringList);
var
tIni: TIniFile;
begin
t.Clear;
tIni := TIniFile.Create(GetIniName);
tIni.ReadSectionValues(aSec,t);
tIni.Free;
end;

procedure DeleteSection(const aSec: String);
var
tIni: TIniFile;
begin
tIni := TIniFile.Create(GetIniName);
tIni.EraseSection(aSec);
tIni.Free;
end;

function GetParm(const aSec,aParm: String): String;
var
tIni: TIniFile;
begin
tIni := TIniFile.Create(GetIniName);
Result := tIni.ReadString(aSec,aParm,"");
tIni.Free;
end;

procedure WriteParm(const aSec,aParm,aValue: String);
var
tIni: TIniFile;
begin
tIni := TIniFile.Create(GetIniName);
tIni.WriteString(aSec,aParm,aValue);
tIni.Free;
end;



 
VAleksey ©   (2002-05-17 07:57) [4]

Thanks


 
VAleksey ©   (2002-05-17 08:08) [5]


> Cyril (17.05.02 07:20)
> В RxLib есть компонент FormStorage. Могу вымылить

!!!!! То, что нужно 200 % !


 
Cyril   (2002-05-17 08:28) [6]


> !!!!! То, что нужно 200 % !

Я почему-то так и думал ;)


 
panov ©   (2002-05-17 08:34) [7]

!!!!! То, что нужно 200 % !
И всегда таскать потом его за собой...


 
Cyril   (2002-05-17 08:37) [8]

Это конечно да. Лучше ini или реестр. Но просили сторонний компонент - пожакуйста ;)


 
eSKey   (2002-05-17 10:54) [9]

Извращение... В точно такой-же ситуации я делал record, содержащий параметры и сохранял:
ParamRec.Param1:=CheckBox1.Checked;
и т.д.
А то сразу компоненты искать... :)


 
VAleksey ©   (2002-05-17 11:05) [10]

Ну вот -) и сразу давай все глумиться !
Будет охота напишу свое, а так ... хороший компонентик.



Страницы: 1 вся ветка

Текущий архив: 2002.05.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
3-88371
Вика
2002-05-01 23:09
2002.05.27
Table Language ........ again


1-88442
Саша
2002-05-17 12:21
2002.05.27
Обновление окнон программы при выполнении длинной операции.


14-88627
DRUG
2002-04-19 17:59
2002.05.27
Regedit


1-88523
SPeller
2002-05-15 13:56
2002.05.27
Помогите разобраться !


1-88496
pavlowsk
2002-05-15 17:48
2002.05.27
Как осуществить движение мышки и имитировать нажатие на кнопку?