Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.04.2014, 00:01
Аватар для hsMapk
hsMapk hsMapk вне форума
Новичок
 
Регистрация: 17.04.2014
Сообщения: 60
Версия Delphi: Delphi 7
Репутация: 5
Стрелка Почему не выполняется (StringGrid)

Ошибок не выдаёт и не зависает, но ничего не выполняется!! В чём дело, помогите!

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin

  RANDOMIZE;
  i:=0;

   while (i<=12) do
   begin
     i:=i+1;
     ACol:=Random(10);
     ARow:=Random(10);
      if StringGrid1.Cells[ACol,ARow]='' then
             begin

               if ((ACol>=1) and (ACol<=8)) and ((ARow>=1) and (ARow<=8)) then
               begin
                 if (StringGrid1.Cells[ACol-1,ARow-1]<>'') and
                    (StringGrid1.Cells[ACol+1,ARow+1]<>'') and
                    (StringGrid1.Cells[ACol-1,ARow]<>'')   and
                    (StringGrid1.Cells[ACol,ARow-1]<>'')   and
                    (StringGrid1.Cells[ACol+1,ARow]<>'')   and
                    (StringGrid1.Cells[ACol,ARow+1]<>'')   and
                    (StringGrid1.Cells[ACol-1,ARow+1]<>'') and
                    (StringGrid1.Cells[ACol+1,ARow-1]<>'') then
                    begin
                      StringGrid1.Cells[ACol,ARow]:=IntToStr(Random(5));
                      StringGrid1.Cells[ACol-1,ARow-1]:='';
                      StringGrid1.Cells[ACol+1,ARow+1]:='';
                      StringGrid1.Cells[ACol-1,ARow]:='';
                      StringGrid1.Cells[ACol,ARow-1]:='';
                      StringGrid1.Cells[ACol+1,ARow]:='';
                      StringGrid1.Cells[ACol,ARow+1]:='';
                      StringGrid1.Cells[ACol-1,ARow+1]:='';
                      StringGrid1.Cells[ACol+1,ARow-1]:='';
                    end;
               end;



               if (ACol=0) and (ARow=0) then
               begin
                 if (StringGrid1.Cells[ACol,ARow+1]<>'') and
                    (StringGrid1.Cells[ACol+1,ARow+1]<>'') and
                    (StringGrid1.Cells[ACol+1,ARow]<>'') then
                    begin
                      StringGrid1.Cells[ACol,ARow]:=IntToStr(Random(5));
                      StringGrid1.Cells[ACol,ARow+1]:='';
                      StringGrid1.Cells[ACol+1,ARow+1]:='';
                      StringGrid1.Cells[ACol+1,ARow]:='';
                    end;
               end;

               if (ACol=0) and (ARow=9) then
               begin
                 if (StringGrid1.Cells[ACol+1,ARow]<>'') and
                    (StringGrid1.Cells[ACol+1,ARow-1]<>'') and
                    (StringGrid1.Cells[ACol-1,ARow]<>'') then
                    begin
                      StringGrid1.Cells[ACol,ARow]:=IntToStr(Random(5));
                      StringGrid1.Cells[ACol+1,ARow]:='';
                      StringGrid1.Cells[ACol+1,ARow-1]:='';
                      StringGrid1.Cells[ACol-1,ARow]:='';
                    end;
               end;

               if (ACol=9) and (ACol=0) then
               begin
                 if (StringGrid1.Cells[ACol,ARow+1]<>'') and
                    (StringGrid1.Cells[ACol-1,ARow+1]<>'') and
                    (StringGrid1.Cells[ACol-1,ARow]<>'') then
                    begin
                      StringGrid1.Cells[ACol,ARow]:=IntToStr(Random(5));
                      StringGrid1.Cells[ACol,ARow+1]:='';
                      StringGrid1.Cells[ACol-1,ARow+1]:='';
                      StringGrid1.Cells[ACol-1,ARow]:='';
                    end;
               end;

               if (ACol=9) and (ARow=9) then
               begin
                 if (StringGrid1.Cells[ACol,ARow-1]<>'') and
                    (StringGrid1.Cells[ACol-1,ARow-1]<>'') and
                    (StringGrid1.Cells[ACol-1,ARow]<>'') then
                    begin
                      StringGrid1.Cells[ACol,ARow]:=IntToStr(Random(5));
                      StringGrid1.Cells[ACol,ARow-1]:='';
                      StringGrid1.Cells[ACol-1,ARow-1]:='';
                      StringGrid1.Cells[ACol-1,ARow]:='';
                    end;
               end;


               if (ACol=0) and (ARow<9) and (ARow>0) then
               begin
                 if (StringGrid1.Cells[ACol,ARow-1]<>'') and
                    (StringGrid1.Cells[ACol,ARow+1]<>'') and
                    (StringGrid1.Cells[ACol+1,ARow]<>'') and
                    (StringGrid1.Cells[ACol+1,ARow-1]<>'') and
                    (StringGrid1.Cells[ACol+1,ARow+1]<>'') then
                    begin
                      StringGrid1.Cells[ACol,ARow]:=inttostr(Random(5));
                      StringGrid1.Cells[ACol,ARow-1]:='';
                      StringGrid1.Cells[ACol,ARow+1]:='';
                      StringGrid1.Cells[ACol+1,ARow]:='';
                      StringGrid1.Cells[ACol+1,ARow-1]:='';
                      StringGrid1.Cells[ACol+1,ARow+1]:='';
                    end;
               end;

               if (ACol=9) and (ARow<9) and (ARow>0) then
               begin
                 if (StringGrid1.Cells[ACol-1,ARow-1]<>'') and
                    (StringGrid1.Cells[ACol-1,ARow]<>'') and
                    (StringGrid1.Cells[ACol-1,ARow+1]<>'') and
                    (StringGrid1.Cells[ACol,ARow-1]<>'') and
                    (StringGrid1.Cells[ACol,ARow+1]<>'') then
                    begin
                      StringGrid1.Cells[ACol,ARow]:=inttostr(Random(5));
                      StringGrid1.Cells[ACol-1,ARow-1]:='';
                      StringGrid1.Cells[ACol-1,ARow]:='';
                      StringGrid1.Cells[ACol-1,ARow+1]:='';
                      StringGrid1.Cells[ACol,ARow-1]:='';
                      StringGrid1.Cells[ACol,ARow+1]:='';
                    end;
               end;

               if (ARow=0) then
               begin
                 if (StringGrid1.Cells[ACol-1,ARow]<>'') and
                    (StringGrid1.Cells[ACol+1,ARow]<>'') and
                    (StringGrid1.Cells[ACol+1,ARow+1]<>'') and
                    (StringGrid1.Cells[ACol,ARow+1]<>'') and
                    (StringGrid1.Cells[ACol-1,ARow+1]<>'') then
                    begin
                      StringGrid1.Cells[ACol,ARow]:=inttostr(Random(5));
                      StringGrid1.Cells[ACol+1,ARow]:='';
                      StringGrid1.Cells[ACol-1,ARow]:='';
                      StringGrid1.Cells[ACol+1,ARow+1]:='';
                      StringGrid1.Cells[ACol,ARow+1]:='';
                      StringGrid1.Cells[ACol-1,ARow+1]:='';
                    end;
               end;

               if(ARow=9) then
               begin
                 if (StringGrid1.Cells[ACol-1,ARow]<>'') and
                    (StringGrid1.Cells[ACol+1,ARow]<>'') and
                    (StringGrid1.Cells[ACol,ARow-1]<>'') and
                    (StringGrid1.Cells[ACol-1,ARow-1]<>'') and
                    (StringGrid1.Cells[ACol+1,ARow-1]<>'') then
                    begin
                      StringGrid1.Cells[ACol,ARow]:=inttostr(Random(5));
                      StringGrid1.Cells[ACol-1,ARow]:='';
                      StringGrid1.Cells[ACol+1,ARow]:='';
                      StringGrid1.Cells[ACol,ARow-1]:='';
                      StringGrid1.Cells[ACol-1,ARow-1]:='';
                      StringGrid1.Cells[ACol+1,ARow-1]:='';
                    end;

                     {repeat
                      ACol:=Random(10);
                      ARow:=Random(10);
                      until(ACol>0) and (ACol<9) and (ARow>0) and (ARow<9);}
             end;
       end;
   end;

end;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:23.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025