![]() |
|
|
#1
|
|||
|
|||
|
У меня возникла небольшая проблема. Я создала форму с советами при запуске программы. В ней добавила компонент checkbox для возможности отключения данного окна при повторном запуске. Но как это сделать пока не пойму. Подскажите!
|
|
#2
|
|||
|
|||
|
Цитата:
При закрытии формы с советами просто сохраняешь состояние флажка. А при старте программы перед тем, как показать форму с советами проверяешь значение и принимаешь решение о том, показывать ли эту форму или нет. |
|
#3
|
|||
|
|||
|
А пример можешь привести?
![]() |
|
#4
|
|||
|
|||
|
ну например в файл ini сохранять значение checkbox
Код:
uses IniFiles;
...
//сохранить значение
var Conf:TIniFile;
begin
Conf:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'Config.ini');
Conf.WriteBool('OPTION','show',Checkbox1.Checked);
Conf.Free;
...
//проверить значение
var Conf:TIniFile;
b:boolean;
begin
Conf:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'Config.ini');
b:=Conf.ReadBool('OPTION','show',false);
Conf.Free; |
|
#5
|
|||
|
|||
|
Вот подробно, с комментариями. Не забудь прописать IniFiles в uses.
Код:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var IniFile: TIniFile;
First, Second, Third: Boolean;
begin
//Определяем состояние чекбоксов
if sCheckBox1.State = cbUnchecked then First:=false
else First:=True;
if sCheckBox2.State = cbUnchecked then Second:=false
else Second:=True;
if sCheckBox3.State = cbUnchecked then Third:=false
else Third:=True;
//Открываем ини-файл
IniFile:=TIniFile.Create('C:\config.INI');
//Записываем значение First, Second, Third в секцию CheckBox
IniFile.WriteBool('CheckBox', 'First', First);
IniFile.WriteBool('CheckBox', 'Second', Second);
IniFile.WriteBool('CheckBox', 'Third', Third);
//Завершаем работу с ини-файлом
IniFile.Free;
end;
procedure TForm1.FormPaint(Sender: TObject);
var IniFile: TIniFile;
First, Second, Third: Boolean;
begin
//Открываем ини-файл
IniFile:=TIniFile.Create('C:\config.INI');
//Считываем конфиг
First:=IniFile.ReadBool('CheckBox', 'First', False);
Second:=IniFile.ReadBool('CheckBox', 'Second', False);
Third:=IniFile.ReadBool('CheckBox', 'Third', False);
//Отмечаем чекбоксы
if First = True then sCheckBox1.State:=cbChecked
else sCheckBox1.State:=cbUnchecked;
if Second = True then sCheckBox2.State:=cbChecked
else sCheckBox2.State:=cbUnchecked;
if Third = True then sCheckBox3.State:=cbChecked
else sCheckBox3.State:=cbUnchecked;
//Завершаем работы с ини-файлом
IniFile.Free;
end; |
|
#6
|
|||
|
|||
|
Спасибо! Еще не совсем мне дошло но разберусь! Еще раз спасибо
![]() |
|
#7
|
|||
|
|||
|
Получилось
Еще раз спасибки!!!!!!!!!! |