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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2011, 12:38   #1
Welotirit
Новичок
Джуниор
 
Регистрация: 15.01.2011
Сообщений: 2
Восклицание Изменение переменной в Timer

Здравствуйте, вопрос состоит в том что бы в бесконечном цикле значение spinedit1.Value изменялось от 20 до 100 и обратно. В фрагменте кода ниже-неудачная попытка, только однократное увеличение(ясно из-за чего). Помогите пожалуйста.

Код:
 if
      spinedit1.Value <= m  
   then
      spinedit1.Value:=spinedit1.Value+k
   else     
     begin
      m:=120-m;
      k:=-k;          
    end;
Заранее благодарен.

Последний раз редактировалось Stilet; 13.03.2011 в 18:12.
Welotirit вне форума Ответить с цитированием
Старый 13.03.2011, 14:41   #2
asmodey1
Подтвердите свой е-майл
 
Регистрация: 19.12.2010
Сообщений: 808
По умолчанию

Что ж тут такого сложного ?
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if SpinEdit1.Value in [20,100] then
k:=-k;
SpinEdit1.Value:=SpinEdit1.Value+k;
end;
Только проследите, чтобы при запуске программы SpinEdit1.Value было в заданных вами пределах и не равно 20 или 100, иначе придется вводить доп. проверки:
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if SpinEdit1.Value in [20,100] then
begin
if SpinEdit1.Value=20 then
k:=Abs(k) else
k:=-k;
end;
SpinEdit1.Value:=SpinEdit1.Value+k;
end;

Последний раз редактировалось asmodey1; 13.03.2011 в 14:47.
asmodey1 вне форума Ответить с цитированием
Старый 13.03.2011, 15:59   #3
Welotirit
Новичок
Джуниор
 
Регистрация: 15.01.2011
Сообщений: 2
По умолчанию

Очень большое спасибо! И на самом деле просто. И если Вас не затруднит поясните как это устроено )
Welotirit вне форума Ответить с цитированием
Старый 13.03.2011, 18:13   #4
asmodey1
Подтвердите свой е-майл
 
Регистрация: 19.12.2010
Сообщений: 808
По умолчанию

Право, даже представить не могу, что тут нужно объяснять ?
asmodey1 вне форума Ответить с цитированием
Старый 13.03.2011, 18:59   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if SpinEdit1.Value in [20,100] then //Проверяем , находится ли значение value в дапозоне от 20 до 100
begin
if SpinEdit1.Value=20 then //Если оно рвно 20(КЭП?)
k:=Abs(k) else //Возвращаем модуль k
k:=-k; //иначе отнимаемю
end;
SpinEdit1.Value:=SpinEdit1.Value+k; //Ну тут понятно
end;
Человек_Борща вне форума Ответить с цитированием
Старый 13.03.2011, 19:10   #6
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

еще так можно
начальное значение может быть любым
Код:
var
  UpInc: Boolean = True;
...
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if SpinEdit1.Value >= 100 then UpInc := False;
  if SpinEdit1.Value <= 20 then UpInc := True;
  if UpInc then SpinEdit1.Value := SpinEdit1.Value + 1
    esle SpinEdit1.Value := SpinEdit1.Value - 1
end;
VirusN13

Последний раз редактировалось ArtGrek; 13.03.2011 в 19:16.
ArtGrek вне форума Ответить с цитированием
Старый 13.03.2011, 19:27   #7
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Код:
if spinEdit1.Value in [20,100] then //Проверяем , находится ли значение value в дапозоне от 20 до 100
Комент неправильный скорее если Value =20 или 100

Комент на тот случай када
[CODE]f spinEdit1.Value in [20..100] then //Проверяем , находится ли значение value в дапозоне от 20 до 100[CODE]
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отследить изменение переменной _SERGEYX_ Общие вопросы Delphi 10 02.03.2011 18:59
динамическое изменение типа переменной L@m@k Помощь студентам 14 12.08.2010 18:09
Изменение переменной Алексей_xXx Общие вопросы C/C++ 1 11.12.2009 10:49
Изменение переменной Ant1Player PHP 8 30.03.2009 22:07
Изменение переменной yura-cat Помощь студентам 7 20.09.2008 17:42