Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > движение авто со скоростью


Автор: saltonik 2.4.2011, 18:12
Здравствуйте! Помогите пожалуйста найти ошибку. Запускаю программу на выполнение - зависает((


    
Код

procedure TForm2.Timer3Timer(Sender: TObject);
begin
k:= (100*v) div 36; // Это на сколько пикселей будет передвигаться автомобиль, v=скорость авто км/ч
// shape1 - автомобиль, s - остановочный путь
while shape1.left< s do
begin
shape1.left:= shape1.left+k;
end;
 timer3.Enabled:=false;
end;


Автор: afiskon 2.4.2011, 18:54
Рискну предположить, что у вас k = 0

Автор: northener 2.4.2011, 20:24
Цитата(saltonik @  2.4.2011,  18:12 Найти цитируемый пост)
Запускаю программу на выполнение - зависает((

Что значит зависает?

Автор: Keeper89 2.4.2011, 22:45
1) Выкинуть надо глобальное зло в виде нелокальных переменных.
2) Пройтись отладчиком.

Автор: northener 3.4.2011, 05:16
Цитата(Keeper89 @  2.4.2011,  22:45 Найти цитируемый пост)
1) Выкинуть надо глобальное зло в виде нелокальных переменных.

Сильно сказано!
Обычно упоминают просто зло и глобальные переменные. smile

Вот только никак не понятно при чем тут некая локальность/глобальность?

P.S. По сути самого сабжа. 
Код автора полная чушь.

Автор: Keeper89 3.4.2011, 11:10
Цитата(northener @  3.4.2011,  05:16 Найти цитируемый пост)
Вот только никак не понятно при чем тут некая локальность/глобальность?

при том, что
Цитата(northener @  3.4.2011,  05:16 Найти цитируемый пост)
Код автора полная чушь.

=)

Автор: Данкинг 3.4.2011, 12:36
Цитата(saltonik @  2.4.2011,  19:12 Найти цитируемый пост)
Запускаю программу на выполнение - зависает((

Действительно, что значит - зависает? Может быть, просто таймер не запущен? smile

Добавлено через 2 минуты и 53 секунды
И begin...end внутри там явно лишний.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)