Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.07.2011, 23:13
Аватар для Amilman
Amilman Amilman вне форума
Новичок
 
Регистрация: 27.03.2011
Адрес: г.Кемерово
Сообщения: 98
Версия Delphi: XE
Репутация: 10
Смех Выдвежная Panel как Супермен :)

Всем доброго времени суток. Делаю через таймер чтобы Panel1 выдвигалась вверх до определенного координата но вместо этого на продолжает стремительно лететь в верх без остановки я не знаю что делать. Помогите пожалуйста)
Вот код
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Panel1.Top := Panel1.Top - 5;
  if (Panel1.Top = 608) then
    Timer1.Enabled := false;
  end;

А если использовать в кнопке
Код:
procedure TForm1.Image3Click(Sender: TObject);
begin
  Panel1.Top := Panel1.Top - 5;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if (Panel1.Top = 608) then
    Timer1.Enabled := false;
  end;
То нужно жать кнопу каждый раз чтобы изменить кардинаты Panelи и всё ровно она пройдёт мимо нужных мне координат.
Ответить с цитированием
  #2  
Старый 11.07.2011, 23:19
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Ну у тебя 608 не получается и все...
Сделай больше 608...
Код:
Panel1.Top > 608
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #3  
Старый 11.07.2011, 23:23
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Aristarh Dark
Ну у тебя 608 не получается и все...
Сделай больше 608...
Код:
Panel1.Top > 608
Тогда уж:
Код:
Panel1.Top <= 608
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #4  
Старый 11.07.2011, 23:28
Аватар для Amilman
Amilman Amilman вне форума
Новичок
 
Регистрация: 27.03.2011
Адрес: г.Кемерово
Сообщения: 98
Версия Delphi: XE
Репутация: 10
По умолчанию

Aristarh Dark,angvelem спасибо большое помогло , но осталась проблема с кнопкой как сделать чтобы декйствие при нажатии на кнопку повторялось до определённого момента?
Ответить с цитированием
  #5  
Старый 11.07.2011, 23:32
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Amilman
Aristarh Dark,angvelem спасибо большое помогло , но осталась проблема с кнопкой как сделать чтобы декйствие при нажатии на кнопку повторялось до определённого момента?
Сформулируй мысль яснее.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #6  
Старый 11.07.2011, 23:33
Аватар для Developer
Developer Developer вне форума
Прохожий
 
Регистрация: 01.07.2011
Адрес: Украина
Сообщения: 27
Версия Delphi: 7, 2009
Репутация: 75
По умолчанию

Цитата:
Сообщение от Amilman
Aristarh Dark,angvelem спасибо большое помогло , но осталась проблема с кнопкой как сделать чтобы декйствие при нажатии на кнопку повторялось до определённого момента?
Так же само с использованием таймера.
Код:
Timer1.Enabled := true;
Или я вас не правильно понял?
Ответить с цитированием
  #7  
Старый 11.07.2011, 23:40
Аватар для Amilman
Amilman Amilman вне форума
Новичок
 
Регистрация: 27.03.2011
Адрес: г.Кемерово
Сообщения: 98
Версия Delphi: XE
Репутация: 10
По умолчанию

Цитата:
Сообщение от angvelem
Сформулируй мысль яснее.

В общем при нажатии на кнопку происходит это действие
Код:
Panel1.Top := Panel1.Top - 5;
но действие происходит только один раз при каждом нажатии на кнопку. Нужно чтобы я один раз нажал на кнопку а
Код:
Panel1.Top := Panel1.Top - 5;
будит повторятся до тех пор пока не достигнит Panel1.Top= 608
Ответить с цитированием
  #8  
Старый 11.07.2011, 23:46
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Ну так Developer ответил, запускай таймер при нажатии на кнопку.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #9  
Старый 12.07.2011, 00:24
Аватар для Pit-bull85
Pit-bull85 Pit-bull85 вне форума
Прохожий
 
Регистрация: 20.02.2011
Сообщения: 8
Репутация: 10
По умолчанию

Код:
while Panel1.Top >= 608 do
Panel1.Top := Panel1.Top - 5; 
Ответить с цитированием
  #10  
Старый 12.07.2011, 00:26
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Pit-bull85
Код:
while Panel1.Top >= 608 do
Panel1.Top := Panel1.Top - 5; 
Скорость выполнения такого кода учёл?
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #11  
Старый 12.07.2011, 00:46
Аватар для Pit-bull85
Pit-bull85 Pit-bull85 вне форума
Прохожий
 
Регистрация: 20.02.2011
Сообщения: 8
Репутация: 10
По умолчанию

Можно замёлить слегка
Код:
sleep(1000) 
Ответить с цитированием
  #12  
Старый 12.07.2011, 00:52
Аватар для Pit-bull85
Pit-bull85 Pit-bull85 вне форума
Прохожий
 
Регистрация: 20.02.2011
Сообщения: 8
Репутация: 10
По умолчанию

Код:
while Panel.Top >= 608 do 
begin
 Panel1.Top := Panel1.Top - 5;
 Sleep(1000);
end;
Ответить с цитированием
  #13  
Старый 12.07.2011, 00:55
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Pit-bull85
Код:
while Panel.Top >= 608 do 
begin
 Panel1.Top := Panel1.Top - 5;
 Sleep(1000);
end;
Тоже не фонтан, во время выполнения форма будет недоступна.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #14  
Старый 12.07.2011, 08:34
Аватар для Amilman
Amilman Amilman вне форума
Новичок
 
Регистрация: 27.03.2011
Адрес: г.Кемерово
Сообщения: 98
Версия Delphi: XE
Репутация: 10
По умолчанию

Всем спасибо за помощь буду разбираться дальше)
Ответить с цитированием
  #15  
Старый 12.07.2011, 17:01
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Есть еще такая штучка как AnimateWindow которая может помочь в отображении красивом вашей формы
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:48.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025