![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
![]() Freedom Fighter Сообщений: 1 852 Спасибо сказали: 4031 раз ![]() |
Задача чуть-чуть сложнее, но это не суть... Заткнулся на кусочке где нужно шэйп раз в шаг таймера двигать на 1 вверх или вниз и на 1 влево или вправо, вроде всё должно быть просто, но не работает: постоянно движется вверх-влево... Никак не пойму в чём может быть проблема...
Код procedure TForm1.Timer1Timer(Sender: TObject);
begin randomize; if random(1)>0 then Shape1.Top:=Shape1.Top+1 else Shapes.Top:=Shapes[1].Top-1; randomize; if random(1)>0 then Shape1.Top:=Shape1.Top+1 else Shapes.Top:=Shapes[1].Top-1; end; -------------------- In this wild and woolly universe of ours, there are only three things you can count on: your brains, your bros, and your bike! |
|
|
![]() |
![]()
Сообщение
#2
|
|
![]() Яблочный произвол! Сообщений: 11 080 Спасибо сказали: 3988 раз ![]() |
безопасной разработке программного обеспечения ок, замени макрос на inline. те же яйца, только в профиль.INC это предопределённая процедура, принимающая аргумент по ссылке (VAR). Свойства по ссылке передаваться не могут по понятным причинам. В конечном итоге они могут вести к функциям. но сделать инкремент универсальным можно же. propertySet(propertyGet()+1)Тогда, простите, может еще к System.Pi следует относиться как функции ? уже представил компилятор, в котором пи = 4По ссылке, в данном случае, может быть передан адрес соотв. поля в памяти. компилятор не оптимизирует, операторы не универсальны. вообще бардак. о какой передаче после этого может быть речь?
|
|
|
![]() ![]() |
Текстовая версия | Сейчас: 3 September 2025 - 00:53 |
Copyright by Алексей Крючков
![]() Programming by Degtyarev Dmitry |
|