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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2010, 23:44   #1
Arm!n
 
Регистрация: 09.12.2010
Сообщений: 7
По умолчанию CheckBox

Допустим, имеется следующая процедура

Код:
Procedure TForm1.makestep;
function CountPrevNeighbors(const i,j:integer):integer;
  var
  L,R,U,D:integer;
begin
  result:=0;
  if i>0 then L:=i-1 else L:=boardsize-1; 
  if j>0 then U:=j-1 else U:=boardsize-1; 
  if i<boardsize-1 then R:=i+1 else R:=0;
  if j<boardsize-1 then D:=j+1 else D:=0;
  if Currentgrid[L,j] then inc(result);  
  if Currentgrid[i,U] then inc(result);  
  if Currentgrid[R,j] then inc(result);  
  if Currentgrid[i,D] then inc(result);  
  if Currentgrid[L,U] then inc(result);  
  if Currentgrid[R,U] then inc(result);  
  if Currentgrid[L,D] then inc(result);     
  if Currentgrid[R,D] then inc(result);  
end;
 
var
  i,j:integer;
  n:integer;{число соседей}
  livecell:boolean;
begin
  for i:=0 to boardsize-1 do
  for j:=0 to boardsize-1 do
  begin
    Nextgrid[i,j]:=Currentgrid[i,j]; 
    Livecell:=Currentgrid[i,j];  
    n:=countprevNeighbors(i,j);  
    {правила: 1.Любая живая клетка умирает, если соседей меньше двух или больше трех.
            2.Мертвая клетка, рядом с которой ровно три живые, оживает.  }
    if Livecell then
    begin
      if ((n<2) or (n>3)) then    
      begin
        nextgrid[i,j]:=false;
        stringgrid1.cells[i,j]:='';
      end;
    end
    else 
    if n=3 then   
    begin
      Nextgrid[i,j]:=true;
      stringgrid1.cells[i,j]:='1';
    end;
  end;
   for i:=0 to boardsize-1 do
  for j:= 0 to boardsize-1 do
  Currentgrid[i,j]:=NextGrid[i,j];
end;
Необходимо добавить на форму компоненты, которые включали/выключали бы определенные условия. Ну, например, чтоб живая клетка не умирала при n<=2. Я так понял, нужно использовать компоненты CheckBox. Подскажите, пожалуйста, как их правильно оформить.
Arm!n вне форума Ответить с цитированием
Старый 29.12.2010, 23:48   #2
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Ну просто кидаешь на форму нужное количество чекбоксов, и в условие добавляешь проверки типа if checkbox1.checked
Son Of Pain вне форума Ответить с цитированием
Старый 30.12.2010, 00:26   #3
Arm!n
 
Регистрация: 09.12.2010
Сообщений: 7
По умолчанию

Ну это и так понятно. Мне бы сам код. А то как ни пытаюсь, все равно какая-нибудь ошибка выскакивает.
Arm!n вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CheckBox Анечка1 Компоненты Delphi 4 12.05.2014 11:28
checkbox user666 Помощь студентам 6 25.08.2010 01:55
CheckBox Евгений К. Microsoft Office Excel 2 20.08.2010 17:14