Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.12.26;
Скачать: [xml.tar.bz2];

Вниз

Обращение к группе объектов   Найти похожие ветки 

 
v_a_belousov   (2010-10-03 23:26) [0]

Здравствуйте! Заранее извиняюсь если ранее тема уже поднималась. Проблема следующая. Есть форма на ней GroupBox в котором находятся CheckBox"сы. Обращаться к каждому из них в виде Ext_CB1.Checked не удобно из за того что CheckBox"ов много а операции с ними необходимо производить схожие. Можно ли каким то другим способом к ним обратиться? Единственное на форме кроме этих CheckBox есть и другие к ним мне обращаться не нужно(но они находятся вне GroupBox)


 
Юрий Зотов ©   (2010-10-03 23:33) [1]

> Можно ли каким то другим способом к ним обратиться?

Возможно, что и можно. Вы дали слишком мало информации, уточните вопрос - что требуется в итоге?


 
v_a_belousov   (2010-10-03 23:38) [2]

Требутся поочередно обратится к каждому CheckBox в GroupBox взять Caption и Checked у CheckBox сделать с ними необходимые операции и так далее... вообщем вот код с нажатия кнопки ок на форме...

procedure TSets_Form.Apply_ButtonClick(Sender: TObject);
//переменные
var RFE: TRegFileExt; i, num: integer;
begin
//регистрируем или восстанавливаем данные
if Ext_CB1.Checked then
begin
 //проверяем существует ли уже такое расширение
 RFE := GetRegisterFileType("pacrf");
 //если да, то сохраняем данные о нем
 if RFE.FExt<>"" then SaveRegisterFileType("pacrf");
 //и меняем данные на свои
 RegisterFileType("pacrf", Application.ExeName, "Pac Reader File", Application.ExeName+" , "+
 IntToStr(1));
end else
begin
 //ищем среди сохраненных
 for i:=0 to Length(RegFileExts)-1 do
  begin
   //если сохраняли, то
   if AnsiLowerCase(RegFileExts[i].FExt)=AnsiLowerCase("pacrf") then
    begin
     //восстанавливаем
     RegisterFileType("pacrf", RegFileExts[i].OpenProgram, RegFileExts[i].FExtDiscription,
     RegFileExts[i].DefaultIcon);
     //запоминаем что восстановили
     num := i;
     //завершаем цикл
     break;
    end;
  end;
 //перебираем массив
 for i:=0 to Length(RegFileExts)-1 do
  begin
   //если элемент меньше убираемого, то
   if i<num then
    begin
     //оставляем его на месте
     RegFileExts[i] := RegFileExts[i];
    end else
    begin
     //если больше, то
     if i>num then
      begin
       //перемещаем его на позицию назад(затирая убираемый)
       RegFiles[i-1] := RegFileExts[i];
      end;
    end;
  end;
 //устанавливаем новую величину массива
 SetLength(RegFileExts, Length(RegFileExts)-1);
end;
end;

Думаю это поможет в объяснении того что мне нужно


 
v_a_belousov   (2010-10-03 23:41) [3]

то есть в Caption CheckBox написано название расширения. В данный момент расширения вбиты от руки...


 
Юрий Зотов ©   (2010-10-03 23:47) [4]


for i := 0 to GroupBox1.ControlCount -1 do
 if GroupBox1.Controls[i] is TCheckBox then
   with TCheckBox(GroupBox1.Controls[i]) do
   begin
     ... // Здесь делаем, что нужно
   end;


Так подойдет?


 
v_a_belousov   (2010-10-03 23:50) [5]

Да. Спасибо большое!


 
Anatoly Podgoretsky ©   (2010-10-04 11:54) [6]

> v_a_belousov  (03.10.2010 23:26:00)  [0]

Может не надо все проверять, а достаточно обрабатывать изменение в
обработчике?


 
v_a_belousov   (2010-10-04 21:18) [7]


> Может не надо все проверять, а достаточно обрабатывать изменение
> в
> обработчике?

То есть?



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.12.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.004 c
2-1285865707
Rembo2010
2010-09-30 20:55
2010.12.26
Как прочитать значение из файла???


15-1284791536
faton
2010-09-18 10:32
2010.12.26
Чем закодировать исходный код, от редактирования


15-1279457604
Владимир
2010-07-18 16:53
2010.12.26
требуется компонент


4-1243039481
Warner
2009-05-23 04:44
2010.12.26
Эмулирование нажатия комбинации клавиш CTRL+<стрелка>


15-1284462862
{RASkov}
2010-09-14 15:14
2010.12.26
USB Flash не устанавливаются ОСью как положено





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский