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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2014, 12:40   #1
zvo
 
Регистрация: 16.02.2014
Сообщений: 3
По умолчанию Ошибка: Type of expression must be Boolean.

Здравствуйте!
Я пишу игру "Сапёр" по коду "Сапёр 2002".
Но у меня появляется ошибка, которая гласит:
В Unit1, в 173 строке, type of expression must be BOOLEAN
([Error] Unit1.pas(173): Type of expression must be BOOLEAN.)
Вот код, где он выдаёт ошибку: (строки #139-#177)
Код:
procedure NewGame();
var
 row, col: Integer;
 n: Integer;
 k: Integer;
begin
 for row := 1 to MR do
  for col := 1 to MC do
   Pole[row,col] := 0;
   Randomize();
   n := 0;
   repeat
    row := Random(MR) + 1;
    col := Random(MC) + 1;
    if (Pole[row,col] <> 9) then
     begin
      Pole[row,col] := 9;
      n := n + 1;
     end;
   until
    for row := 1 to MR do
    for col := 1 to MC do
    if (Pole[row,col] <> 9) then
     begin
      k := 0;
      if Pole[row - 1,col - 1] = 9 then k := k + 1;
      if Pole[row - 1,col] = 9 then k := k + 1;
      if Pole[row - 1,col + 1] = 9 then k := k + 1;
      if Pole[row,col - 1] = 9 then k := k + 1;
      if Pole[row,col + 1] = 9 then k := k + 1;
      if Pole[row + 1,col - 1] = 9 then k := k + 1;
      if Pole[row + 1,col] = 9 then k := k + 1;
      if Pole[row + 1,col + 1] = 9 then k := k + 1;
      Pole[row,col] := k;
     end; //Вот здесь ошибка
    Status := 0;
    nMin := 0;
    nFlag := 0;
end;
Отчего это может быть? Про путаницу = и := знаю, всё проверял.
zvo вне форума Ответить с цитированием
Старый 24.02.2014, 13:04   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

until условие ;

until
for i:=1 to ...
.....
end; //Вот здесь ошибка //здесь кончается оператор для задания условия по вашему коду как его понимает транслятор
условие требует boolean, НО for такого значения не имеет!
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 24.02.2014 в 13:10.
evg_m вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Type of expression must be BOOLEAN Виктория7777 Общие вопросы Delphi 11 19.12.2014 00:11
Ошибка Type mistmatch in expression Ericnex БД в Delphi 0 03.06.2012 19:57
Type mismatch in expression SlavaSH БД в Delphi 24 02.05.2012 09:19
Ошибка Unit1.pas(100): Statement expected, but expression of type 'Boolean' found sedoq Общие вопросы Delphi 3 08.02.2012 01:27
Could not convert variant of the type (String) into type (Boolean) Silly Student C++ Builder 0 19.11.2011 13:06