Форум: "Основная";
Текущий архив: 2002.05.27;
Скачать: [xml.tar.bz2];
Вниз*.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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c