Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.01.2015, 01:20
Аватар для Alloc
Alloc Alloc вне форума
Начинающий
 
Регистрация: 17.09.2014
Сообщения: 104
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Считать-записать состояние Checkbox

Приветствую всех!

Подскажите, пожалуйста, как правильно считать и записать состояние чекбокса?

Есть 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  
Старый 28.01.2015, 01:57
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Код:
var
  St : String;
begin
  St := AnsiUpperCase(Ini.ReadString('Options', 'FullScreen', 'No'));
  chk1.Checked := St = 'YES';
...
end;
Зачем было так делать, 1/0 недостаточно?

ах да, ещё ведь и запись нужна
Код:
const
  fs : array[Boolean] of String = ('No', 'Yes')';
begin
  Ini.WriteString('Options', 'FullScreen', fs[chk1.Checked]));
...
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.

Последний раз редактировалось angvelem, 28.01.2015 в 02:07.
Этот пользователь сказал Спасибо angvelem за это полезное сообщение:
Alloc (28.01.2015)
  #3  
Старый 28.01.2015, 03:02
Аватар для Alloc
Alloc Alloc вне форума
Начинающий
 
Регистрация: 17.09.2014
Сообщения: 104
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Спасибо за ответ!

Цитата:
Зачем было так делать, 1/0 недостаточно?
так это не моя идея) дело в том, что я пытаюсь сделать программу для настройки игры через ее ini-файл, так вот там такие значения)

как я понимаю, это большой геморрой, так как придется для каждого чекбокса делать, а их там около 17 получается....

может есть более простой вариант? не подскажите?
  #4  
Старый 28.01.2015, 03:26
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Никакого геморроя нет. Можно организовать чтение/запись в цикле.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Этот пользователь сказал Спасибо angvelem за это полезное сообщение:
Alloc (28.01.2015)
  #5  
Старый 28.01.2015, 10:56
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
По умолчанию

Например так
Код:
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  
Старый 28.01.2015, 16:10
Аватар для Alloc
Alloc Alloc вне форума
Начинающий
 
Регистрация: 17.09.2014
Сообщения: 104
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Благодарю всех за помощь, задача решена, все работает как надо.
Закрытая тема


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:56.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025