![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
Приветствую всех!
Подскажите, пожалуйста, как правильно считать и записать состояние чекбокса? Есть CheckBox. Есть ini-файл в котором прописано: Код:
[Options] FullScreen=Yes Как правильно записать и прочитать, так что бы CheckBox был включен или выключен, в зависимости от значения в ini-файле (Yes/No)? С ReadBool/WriteBool - все просто. Код:
chk1.Checked:=Ini.ReadBool('Launcher','SingleCPU',False);
Ini.WriteBool('Launcher','SingleCPU',chk1.Checked);А как быть тут? Будьте добры, подскажите пожалуйста. |
|
#2
|
||||
|
||||
|
Код:
var
St : String;
begin
St := AnsiUpperCase(Ini.ReadString('Options', 'FullScreen', 'No'));
chk1.Checked := St = 'YES';
...
end;ах да, ещё ведь и запись нужна Код:
const
fs : array[Boolean] of String = ('No', 'Yes')';
begin
Ini.WriteString('Options', 'FullScreen', fs[chk1.Checked]));
...Последний раз редактировалось angvelem, 28.01.2015 в 02:07. |
| Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
Alloc (28.01.2015)
| ||
|
#3
|
||||
|
||||
|
Спасибо за ответ!
Цитата:
как я понимаю, это большой геморрой, так как придется для каждого чекбокса делать, а их там около 17 получается.... может есть более простой вариант? не подскажите? |
|
#4
|
||||
|
||||
|
Никакого геморроя нет. Можно организовать чтение/запись в цикле.
|
| Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
Alloc (28.01.2015)
| ||
|
#5
|
|||
|
|||
|
Например так
Код:
procedure ReadCheckBox(Sender:TCheckBox;const Name:String);
var
St : String;
begin
St := AnsiUpperCase(Ini.ReadString('Options',Name, 'No'));
Sender.Checked := St = 'YES';
end;
procedure WriteCheckBox(Sender:TCheckBox;const Name:String);
const
fs : array[Boolean] of String = ('No', 'Yes')';
begin
Ini.WriteString('Options', Name, fs[Sender.Checked]));
end;Код:
ReadCheckBox (chk1,'FullScreen'); ReadCheckBox (chk2,'UseMouse'); |
| Этот пользователь сказал Спасибо icWasya за это полезное сообщение: | ||
Alloc (28.01.2015)
| ||
|
#6
|
||||
|
||||
|
Благодарю всех за помощь, задача решена, все работает как надо.
|