![]() |
|
#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
|
|||
|
|||
![]() Получилось
![]() |