Показать сообщение отдельно
  #15  
Старый 16.03.2012, 03:27
Аватар для Karsh
Karsh Karsh вне форума
Активный
 
Регистрация: 22.09.2007
Адрес: SPb
Сообщения: 228
Версия Delphi: 7, 2009, XE2
Репутация: 70
По умолчанию

Так, кажется, я понял. Вам нужно при нажатии на Button1 проверить все чекбоксы, и если чекбокс помечен, увеличить его переменную? Если да, то все куда проще: просто поставьте у всех чекбоксов Tag в значение 0, и при нажатии Button1 делайте так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 i: Integer;
begin
  for i:= 0 to Form1.ComponentCount - 1 do
  begin
    if not (Form1.Components[i] is TCheckBox) then continue; //если не чекер, то пропускаем
    if TCheckBox(Form1.Components[i]).Checked then
      TCheckBox(Form1.Components[i]).Tag:= TCheckBox(Form1.Components[i]).Tag + 1;
    TCheckBox(Form1.Components[i]).Checked:= False; //заодно и снимем пометку, раз новый лист делаем
  end;
end;
А чтобы вывести результат просто в событии Button2 проверьте значение Tag у каждого чекера - оно и будет отражать, сколько раз он был выбран.
__________________
Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра.
Ответить с цитированием