Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2011, 22:31   #1
Crunkordie
Пользователь
 
Регистрация: 18.02.2011
Сообщений: 48
По умолчанию Массовое включение CheckBox'ов

Всем привет.
На форме имеются 20 CheckBox'ов. Есть ini файл.
Код:
[settings]
kod=01010000010001000100
Необходимо при запуске формы присвоить всем CheckBox'ам в св-во Checked - true или false, в зависимости от данных в ini файле. Делал это так:
Код:
procedure TForm4.FormCreate(Sender: TObject);
ini: Tinifile;
S: string[20];
begin
Ini:=TiniFile.Create(extractfilepath(paramstr(0))+'config.ini');
S:=Ini.ReadString('settings','kod','100');
if s[1]='1' then   CheckBox1.Checked:=true;
if s[2]='1' then   CheckBox2.Checked:=true;
if s[3]='1' then   CheckBox3.Checked:=true;
if s[4]='1' then   CheckBox4.Checked:=true;
if s[5]='1' then   CheckBox5.Checked:=true;
....
if s[20]='1' then   CheckBox20.Checked:=true;
end;
и т.д.
Вопрос:
Возможно ли как-то в цикле провести эту операцию?
Crunkordie вне форума Ответить с цитированием
Старый 10.03.2011, 22:32   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

FindComponent+поиск.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.03.2011, 22:50   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

дополню ответ Пепла примером:

Код:
for i:=1 to Length(s) do
  if TForm4.FindComponent('CheckBox'+IntToStr(i))<>nil then
     TCheckBox(TForm4.FindComponent('CheckBox'+IntToStr(i))).Checked := (s[i] = '1');
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.03.2011, 23:06   #4
Crunkordie
Пользователь
 
Регистрация: 18.02.2011
Сообщений: 48
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
дополню ответ Пепла примером:

Код:
for i:=1 to Length(s) do
  if TForm4.FindComponent('CheckBox'+IntToStr(i))<>nil then
     TCheckBox(TForm4.FindComponent('CheckBox'+IntToStr(i))).Checked := (s[i] = '1');
Спасибо, разобрался с вопросом.
Crunkordie вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массовое присваивание Zhenya-Pvl Общие вопросы C/C++ 6 26.02.2011 17:51
Cписок отмеченных Checkbox'ов Tycuk Компоненты Delphi 2 29.09.2010 14:18
Массовое редактирование тхт файлов Tvitvi PHP 3 06.05.2010 20:51
Иерархия из CheckBox'ов minarett JavaScript, Ajax 1 22.02.2010 13:42
CSS, border у checkbox'ов и radio Angfal HTML и CSS 8 29.05.2009 11:41