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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2014, 06:34   #1
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
Вопрос Не обнуляется таймер почему-то...

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Timer1.Enabled:=True;
  Form1.Button1.Enabled:=False;
  Form1.Button2.Enabled:=True;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Label1.Caption:='00:00:00';
  Timer1.Enabled:=False;
  Form1.Button2.Enabled:=False;;
  Form1.Button1.Enabled:=True;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  TimerCount:=TimerCount + StrToDateTime('00:00:01');
  Label1.Caption:=FormatDateTime('hh:mm:ss', TimerCount);
end;
Когда нажимаю "Старт" (Button1) - таймер работает, когда нажимаю кнопку "Стоп" (Button2) - таймер останавливается и обнуляется, но, при повторном нажатии кнопки "Старт" (Button1) - таймер продолжает считать с того места на котором закончил вместо того чтобы начать с нуля, как правильно обнулить таймер?
FleXik вне форума Ответить с цитированием
Старый 13.04.2014, 10:08   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Label1.Caption:='00:00:00'; ты не забыл в ноль, а TimerCount в ноль не выставляешь.
Цитата:
TimerCount:=TimerCount + StrToDateTime('00:00:01');
Это шоза балет? Может вместо этого использовать функцию IncSecond() ?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.04.2014, 12:10   #3
XE5
Заблокирован
 
Регистрация: 02.03.2014
Сообщений: 439
По умолчанию

Цитата:
Это шоза балет?
Думаю, лебединое озеро.
XE5 вне форума Ответить с цитированием
Старый 13.04.2014, 17:04   #4
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

Ответ: Добавить в конец кода кнопки "Старт" (Button1):

Код:
TimerCount :=  StrToDateTime('00:00:00');
Stilet, таких примеров с таймером очень мало, поэтому нагуглил что было, главное что нормально работает.
FleXik вне форума Ответить с цитированием
Старый 13.04.2014, 17:15   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Предлагаю такое:
Код:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses      dateutils,
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
  ExtCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Label1: TLabel;
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Label1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var   tm:TDateTime;
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
 Timer1.Enabled:=false;
 Timer1.Interval:=1000;
end;

procedure TForm1.Label1Click(Sender: TObject);
begin
  if Timer1.Enabled then begin
   Timer1.Enabled:=false;
  end else begin
    tm:=EncodeTime(0,0,0,0);
   Timer1.Enabled:=True;
  end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  tm:=IncSecond(tm);
  Label1.Caption:=FormatDateTime('hh:mm:ss',tm);
end;

end.
Это с потолка. Особо не проверял.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.04.2014, 17:54   #6
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

Stilet, IncSecond тоже работает, спасибо
FleXik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Глобальная переменная сама обнуляется DIMMUA Общие вопросы Delphi 18 17.09.2012 07:46
Не обнуляется .AddAttachment в CDO 88ra Microsoft Office Excel 8 08.08.2012 18:05
Обнуляется переменная Leonid183 Visual C++ 0 27.10.2011 16:06
Обнуляется переменная Hippie Помощь студентам 1 09.01.2010 20:22
Socket обнуляется переменнaя KoBRaAndrey Работа с сетью в Delphi 4 06.01.2010 21:30