Листинг подпрограммы. procedure TForm1.FormCreate (Sender: TObject);

procedure TForm1.FormCreate (Sender: TObject);

Begin

s := False;

end;

procedure TForm1.CheckBox1Click (Sender: TObject);

var Index, i, num : Integer;

e: Boolean;

Begin

if s then Exit; {Если программа снова вызовет процедуру обработки, будет выполнен оператор Exit – немедленный выход из процедуры}

s := True;

forIndex: = 0 to 4 do {Оператор break прерывает выполнение цикла}

if Sender = Controls[i] then break; {Определяется, какой флажок был переключен}

{Когда выполнение цикла завершается, значение переменной Index соответствует переключенному флажку}

{Если значение свойства Checked (Установлен) равно False (Нет), флажок сброшен, а если True (Да) – установлен. Номер флажка в массиве определяется переменной Index}

if not (Controls[Index] as TCheckBox).Checked

then (Controls[Index] as TCheckBox).Checked := True {Условие выполнено, если флажок сейчас сброшен, т.е. до щелчка он был установлен}

else {Программирование изменения состояния «дополнительных флажков». Текущий флажок уже переключен}

Begin

num := Index + 1; {Переключение двух следующих флажков}

if Index = 4 then num := 0; {Изменение состояния нулевого флажка}

{Состояние флажка надо поменять на противоположное}

(Controls[num] as TCheckBox).Checked := not (Controls[num] as CheckBox).Checked;

{Выполнение проверки на выход за пределы массива}

num := num + 1; if Index = 3 then num := 0;

(Controls[num] as TCheckBox).Checked := not (Controls[num] as CheckBox).Checked;

end;

e := True; {Головоломка решена, если установлены все пять флажков}

for i := 0 to 4 do

e := e and (Controls[i] as TCheckBox).Checked;

{После цикла значение останется равным True, если все флажки установлены}

if e then {Головоломка решена}

for i := 0 to 4 do

Begin

(Controls[i] as TCheckBox).Caption := ‘Победа!’;

(Controls[i] as TCheckBox).Enabled := False; {Отключение флажков}

end;

s := False;

end;









Дата добавления: 2014-12-02; просмотров: 1261;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.