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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2014, 12:30   #11
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Код:
var
  test: array [1..50] of Boolean;
  i: integer;
  tmpCB:TComponent;
 _iniF: TIniFile;
begin
  _iniF:= TIniFile.Create('C:\test.ini');
  for i:=1 to 50 do
  begin
    test[i]:= _iniF.ReadBool('SETUP',Format('CheckBox%d',[i]), false);
    tmpCB:=FindComponent(Format('CheckBox%d',[i]));
    (tmpCB as TCheckBox).Checked:= test[i];
  end;
  _iniF.Free;
end;
Iron Monk вне форума Ответить с цитированием
Старый 24.12.2014, 12:36   #12
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Массив не нужен при таком подходе

при сохранении (очень желательно перед этим проверить на tmpCB<>nil):
Код:
_iniF.WriteBool('SETUP',Format('CheckBox%d',[i]),(tmpCB as TCheckBox).Checked);
при восстановлении:
Код:
(tmpCB as TCheckBox).Checked:=_iniF.ReadBool('SETUP',Format('CheckBox%d',[i]), false);
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.12.2014, 12:41   #13
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Массив не нужен при таком подходе

при сохранении (очень желательно перед этим проверить на tmpCB<>nil):
Код:
_iniF.WriteBool('SETUP',Format('CheckBox%d',[i]),(tmpCB as TCheckBox).Checked);
при восстановлении:
Код:
(tmpCB as TCheckBox).Checked:=_iniF.ReadBool('SETUP',Format('CheckBox%d',[i]), false);
А потом в программе как узнавать - где установлен чекбокс?
Массив заполнен этими данными...
Iron Monk вне форума Ответить с цитированием
Старый 24.12.2014, 12:47   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ну если нужно нет вопросов. А нужно? И если нужно придется в OnClick чекбоксов менять состояние этого массива
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 24.12.2014 в 12:49.
Аватар вне форума Ответить с цитированием
Старый 24.12.2014, 12:54   #15
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Ну если нужно нет вопросов. А нужно? И если нужно придется в OnClick чекбоксов менять состояние этого массива
1. У ТС они были:
Код:
var
тест1, тест2, тест3: Boolean;
...
2. Согласен.
Iron Monk вне форума Ответить с цитированием
Старый 24.12.2014, 14:49   #16
Mik92
Пользователь
 
Регистрация: 25.08.2014
Сообщений: 87
По умолчанию

Цитата:
Сообщение от Iron Monk Посмотреть сообщение
Код:
var
  test: array [1..50] of Boolean;
  i: integer;
  tmpCB:TComponent;
 _iniF: TIniFile;
begin
  _iniF:= TIniFile.Create('C:\test.ini');
  for i:=1 to 50 do
  begin
    test[i]:= _iniF.ReadBool('SETUP',Format('CheckBox%d',[i]), false);
    tmpCB:=FindComponent(Format('CheckBox%d',[i]));
    (tmpCB as TCheckBox).Checked:= test[i];
  end;
  _iniF.Free;
end;
Большое спасибо!
Mik92 вне форума Ответить с цитированием
Старый 24.12.2014, 14:51   #17
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

стоп, а зачем переменная хранящая состояние чекбокса, когда чекбокс итак его хранит?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.12.2014, 15:09   #18
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
стоп, а зачем переменная хранящая состояние чекбокса, когда чекбокс итак его хранит?
Я так понял ТС, что это переменная разрешающая какой-то 'Тест':
Код:
for i:= 1 to 50 do
  if test[i] then
  ... Выполняем тест i
Iron Monk вне форума Ответить с цитированием
Старый 24.12.2014, 15:19   #19
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну так а почему нельзя с чекбокса самого и считывать?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.12.2014, 15:33   #20
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
ну так а почему нельзя с чекбокса самого и считывать?
Не знаю... Нужно у ТС спросить.
Код:
for i:=1 to 50 do
   if (FindComponent(Format('CheckBox%d',[i])) as TCheckBox).Checked then
...
Iron Monk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь по сохранению в файл и открытие его... vityanya Общие вопросы Delphi 33 08.08.2010 17:48
CheckBox и его размер. katttes Компоненты Delphi 5 03.04.2010 19:28
Очень нужна помощь c матрицами, макросами в Excel. Заранее благодарен(поверьте, очень-очень нужна помощь) Farridjan Помощь студентам 1 03.07.2009 12:24
Очень нужна помощь с написанием программы... срочно(буду благодарен за помощь) 5Paladin5 Помощь студентам 3 02.07.2009 09:12
Нужна помощь(Разработать алгоритм, нарисовать его блок-схему.) miron Помощь студентам 4 26.02.2008 12:08