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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.08.2010, 23:11   #11
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Секунды нужно будет отдельно выводить, так как сделав Dec(C); Вы тем самым уменьшаете минуты но не секунды, поэтому предлагаю такой вариант
Код:
private
    Time, S: Integer;
...
procedure TForm1.Button2Click(Sender: TObject);
begin
  if Timer1.Enabled then Timer1.Enabled := false
  else Timer1.Enabled := true;
  Time := StrToInt(Memo1.Lines.Strings[0]); // лень было кидать едит
  S := 0;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
  H, M: Integer;
begin
  H := Time div 60;
  M := Time mod 60;
  if S = 0 then
  begin
    S := 60;
    Dec(Time);
  end;
  Label2.Caption := IntToStr(H) + ':' + IntToStr(M) + ':' + IntToStr(S);
  Dec(S);
end;
psycho-coder вне форума Ответить с цитированием
Старый 05.08.2010, 23:15   #12
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,898
По умолчанию

Цитата:
Сообщение от W0LF Посмотреть сообщение
А зачем ставить? Я ж дал функцию перевода с секунд в xx:xx:xx вот его и пихайте в таймер.
Сделал так
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Form1.Caption := SecToTime(12);
end;
Сделал так, а обратного отсчёта нет
Shouldercannon вне форума Ответить с цитированием
Старый 06.08.2010, 00:36   #13
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Вы что? Я ж вам дал пример таймер блина... Ставите в едит время (именно из этого SecToTime или вручную) и нажимаете кнопку и будет отсчет назад.
W0LF вне форума Ответить с цитированием
Старый 06.08.2010, 01:05   #14
Sanprof
Форумчанин
 
Аватар для Sanprof
 
Регистрация: 28.01.2008
Сообщений: 267
По умолчанию

а мой вариант не хотите пробовать, ладно, ваше право, у меня лично обратный отсчет идет без проблем
Не забываем говорить спасибо за помощь - это ведь так приятно
Sanprof вне форума Ответить с цитированием
Старый 06.08.2010, 01:07   #15
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,898
По умолчанию

Я смотрю код примера и исходник не связаны друг с другом. Да и ладно. Тепрь другая проблема. Не могу после окончания отсчёта зпустить таймер снова. Новое время и новый запуск делаю в
Код:
if Hours < 0 then begin
        Timer1.Enabled := False;
        Hours := 0;
        Minutes := 0;
        Seconds := 0;
        {** После завершения отсчета произойдет код... **}
        ShowMessage('конец');
        s := '00:25:00';
        Timer1.Enabled := True;
      end;
но толку никакого.

Цитата:
Сообщение от Sanprof Посмотреть сообщение
а мой вариант не хотите пробовать, ладно, ваше право, у меня лично обратный отсчет идет без проблем
Пробовал все варианты и у всех один исход 0:9:51 вместо 00:09:51 и ещё 2:0:60 -> 1:59:59 и далее

Последний раз редактировалось Shouldercannon; 06.08.2010 в 01:10.
Shouldercannon вне форума Ответить с цитированием
Старый 06.08.2010, 09:19   #16
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Код:
var t:integer;
function TimeTrack(t:Int64):String;
 var h,m,s:real;
 begin
  result:='';
  h:=t div 3600;
  m:=(frac(t/3600))*60;
  s:=Frac(m)*60;
  m:=Int(m);
  result:=formatfloat('00',h)+':'+formatfloat('00',m)+':'+formatfloat('00',s);
 end;
procedure TForm1.Button1Click(Sender: TObject);
begin
timer1.Enabled:=true;
 t:=240;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 label1.Caption:=TimeTrack(t);
 timer1.Enabled:=t>0;
 dec(t);
end;
SERG1980 вне форума Ответить с цитированием
Старый 06.08.2010, 10:35   #17
Sanprof
Форумчанин
 
Аватар для Sanprof
 
Регистрация: 28.01.2008
Сообщений: 267
По умолчанию

Цитата:
Сообщение от Shouldercannon Посмотреть сообщение
Пробовал все варианты и у всех один исход 0:9:51 вместо 00:09:51 и ещё 2:0:60 -> 1:59:59 и далее
я просто дал намек как делать, а если конкретно под ваш случай, то вот мой пример обратного отсчета, есть две функции преобразования из строки ('00:25:00') и преобразования из секунд (3670)
Пример >>2.rar<<
Не забываем говорить спасибо за помощь - это ведь так приятно
Sanprof вне форума Ответить с цитированием
Старый 06.08.2010, 12:34   #18
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Цитата:
Я смотрю код примера и исходник не связаны друг с другом.
Так свяжите! Функция перевода 60 секунд в 00:01:00 я вам предоставил. Пример атймера который ведет отсчет тоже. Что вам еще нужно?! Что бы вам его упаковали и предоставили на блюдечке с голубой каемочкой? Думаю нетрудно ввести в одно поле число секунд и при нажатии на кнопку перевести в формат HH:MM:SS и начать осчет.
W0LF вне форума Ответить с цитированием
Старый 06.08.2010, 21:53   #19
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Цитата:
Сообщение от Shouldercannon Посмотреть сообщение
2:0:60 -> 1:59:59 и далее
Неужели так сложно дописать else begin end;
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
var
  H, M: Integer;
begin
  H := Time div 60;
  M := Time mod 60;
  if S = 0 then
  begin
    S := 60;
    Dec(Time);
  end
  else // <<
  begin //<<
    Label2.Caption := IntToStr(H) + ':' + IntToStr(M) + ':' + IntToStr(S);
    Dec(S);
  end; // <<
end;
psycho-coder вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод изображений из папки через заданное время в секундах на PHP сайте Killer_djon JavaScript, Ajax 15 18.01.2013 07:19
Задание для планировщика MySQL. Вычисление разницв в часах между датами,временем. Avalonix SQL, базы данных 0 23.03.2010 13:47
Am и Pm в часах в Delphi TaYgA Помощь студентам 3 08.11.2009 11:53
отсчёт с определённой точки. blackstersl Общие вопросы Delphi 11 16.08.2009 11:02
Обратный отсчёт mager PHP 3 01.04.2009 17:16