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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.09.2017, 18:41   #1
Alna
Новичок
Джуниор
 
Регистрация: 12.09.2017
Сообщений: 5
По умолчанию Lazarus - как заставить бегать кнопку

Здравствуйте! Нужна помощь, ибо немного запуталась
Не могу разобраться как в Lazarus заставить бегать кнопку. Она у меня двигается при нажатии на нее, но не могу сделать так, чтобы она двигалась, если я нажимаю на другую кнопку, которая должна ее запустить. Что не так делаю?
А вот и сама программа:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Button1.Left:=Button1.Left + 10;
  Timer1.Enabled:=true;
  Timer1.Enabled:=not Timer1.Enabled;
  if Timer1.Enabled then Button2.Caption:='Стоп'
                      else Button2.Caption:='Пуск';

Последний раз редактировалось Alna; 12.09.2017 в 18:44.
Alna вне форума Ответить с цитированием
Старый 12.09.2017, 18:47   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Timer1.Enabled:=true; //запускаешь таймер
Timer1.Enabled:=not Timer1.Enabled; //и тут же его останавливаешь
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 12.09.2017, 18:49   #3
Alna
Новичок
Джуниор
 
Регистрация: 12.09.2017
Сообщений: 5
По умолчанию

В Enabled он изначально стоит False
Alna вне форума Ответить с цитированием
Старый 12.09.2017, 18:49   #4
Alna
Новичок
Джуниор
 
Регистрация: 12.09.2017
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Timer1.Enabled:=true; //запускаешь таймер
Timer1.Enabled:=not Timer1.Enabled; //и тут же его останавливаешь
В Enabled он изначально стоит False
Alna вне форума Ответить с цитированием
Старый 12.09.2017, 19:00   #5
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,538
По умолчанию

Может быть само движение перенести в обработчик таймера ?
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
 Button1.Left:=Button1.Left + 10;
end;
type_Oleg вне форума Ответить с цитированием
Старый 12.09.2017, 19:05   #6
Alna
Новичок
Джуниор
 
Регистрация: 12.09.2017
Сообщений: 5
По умолчанию

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
Может быть само движение перенести в обработчик таймера ?
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
 Button1.Left:=Button1.Left + 10;
end;
Тут она вообще перестает двигаться ^^"
Alna вне форума Ответить с цитированием
Старый 12.09.2017, 19:31   #7
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,538
По умолчанию

Вот :
Код:

procedure TForm1.Button1Click(Sender: TObject);
begin
 Timer1.Enabled:=not Timer1.Enabled;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 Button2.Left:=Button2.Left + 10;
end;
Тык на Бутон1 - движется Бутон2, еще раз тык на Бутон1 - останавливается Бутон2, и т.д.
Так надо было ?

PS Я изначально установил Timer1.Enabled в False/
И Timer1.Interval сделал поменьше - 200 мс, а то 1000 мс по умолчанию слишком долгою
Изображения
Тип файла: png bu12.PNG (11.6 Кб, 78 просмотров)

Последний раз редактировалось type_Oleg; 12.09.2017 в 19:34.
type_Oleg вне форума Ответить с цитированием
Старый 12.09.2017, 19:47   #8
Alna
Новичок
Джуниор
 
Регистрация: 12.09.2017
Сообщений: 5
По умолчанию

Почему-то она отказалась запускаться у меня
Alna вне форума Ответить с цитированием
Старый 12.09.2017, 20:30   #9
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,538
По умолчанию

Ну, не знаю. У меня и в Дельфы и в Лазаруске все ОК.
Вот, в Лазарусе - вроде все файлы проекта, кроме .exe.
Вложения
Тип файла: rar arH.rar (123.6 Кб, 16 просмотров)
type_Oleg вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как заставить пользователя нажать кнопку С++ Vladislavv Помощь студентам 3 05.08.2014 06:06
Нужно ли бегать за девушкой если она не взаимна? usa-1600 Свободное общение 17 05.05.2014 12:26
Здравствуйте, установил LAzarus, при нажатии на кнопку запуск, выдает эти ошибки Mr.Kenny Помощь студентам 0 14.06.2012 17:30
...Заставить делфи - программу реагировать на кнопку ибо не хочет чет... Katus Помощь студентам 1 22.02.2012 00:32
Как бегать и анализировать, что в ячейках Datagridview Krav4ik Помощь студентам 2 19.07.2011 14:12