Ошибка в цикле 'for loop control variable must be...'
Добавлено: 29 сен 2004, 16:20
Вот такая ошибочка... 'for loop control variable must be simple local variable' :evil: посмотрите код, что неправильно там? чем переменная для цикла не подходит? она задается перед началом цикла, ничего не понимаю, в чем ошибка... (программа после компилирования не выполняет цикл, загружает проц на 100% и висит...)
...
это я пытался сделать свободное движение объекта с отражением от границ экрана... может кто подскажет другой способ? :roll:
Код: Выделить всё
var
Form2: TForm2;
i:integer; // в какую сторону перемещать
m1,m:integer; // кол-во тактов для перемещения
Код: Выделить всё
procedure TForm2.Timer1Timer(Sender: TObject);
begin
randomize;
i := random(0-3); { делаем выбор, в какую сторону премещать:
i = 0 - влево
i = 1 - вправо
i = 2 - вниз
i = 3 - вверх }
randomize;
m := random(1-100); // выбираем кол-во тактов для перемещения
for m1 := 1 to m do begin // перемещаем заданное кол-во раз
if ((not(image1.Left>235))or(not(image1.Left<0)))and((not(image1.Top<0))or(not(image1.top>185)))then begin
case i of
0: image1.Left := image1.Left + 1;
1: image1.Left := image1.Left - 1;
2: image1.Top := image1.Top - 1;
3: image1.Top := image1.Top + 1;
end;
end;
end;
end;