Показать сообщение отдельно
  #7  
Старый 16.03.2012, 01:04
GrabbeR GrabbeR вне форума
Новичок
 
Регистрация: 15.03.2012
Сообщения: 54
Версия Delphi: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Karsh
У чекбоксов есть такой параметр как Tag, для первой группы устанавливаем 10, для второй - 20, и так далее. Потом модернизируем вариант Snake22:
Код:
var
  MainFlag: integer = 0; //общее кол-во отмеченных чекеров
  Group1Flag: integer = 0; //Кол-во отмеченных из первой группы
  Group2Flag: integer = 0; //из второй

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  If (Sender as TCheckBox).checked then Inc(MainFlag) else Dec(MainFlag);
  case TCheckBox(Sender).Tag of
    10: if TCheckBox(Sender).Checked then Inc(Group1Flag) else Dec(Group1Flag);
    20: if TCheckBox(Sender).Checked then Inc(Group2Flag) else Dec(Group2Flag);
  end;
end;

var
Form1: TForm1;
MainFlag: integer = 0; //общее кол-во отмеченных чекеров
Group1Flag: integer = 0; //Кол-во отмеченных из первой группы
Group2Flag: integer = 0; //из второй
Group3Flag: integer = 0;
Group4Flag: integer = 0;
Group5Flag: integer = 0;
Group6Flag: integer = 0;
...
...
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
If (Sender as TCheckBox).checked then Inc(MainFlag) else Dec(MainFlag)
case TCheckBox(Sender).Tag of
10: if TCheckBox(Sender).Checked then Inc(Group1Flag) else Dec(Group1Flag);
20: if TCheckBox(Sender).Checked then Inc(Group2Flag) else Dec(Group2Flag);
30: if TCheckBox(Sender).Checked then Inc(Group3Flag) else Dec(Group3Flag);
...
...
end;

end;

в строке: case TCheckBox(Sender).Tag of
[Error] Unit1.pas(215): Missing operator or semicolon
[Fatal Error] Project2.dpr(5): Could not compile used unit 'Unit1.pas'

что не так?
Ответить с цитированием