Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.90/10: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Gudzik11
1 / 1 / 1
Регистрация: 14.09.2011
Сообщений: 264
#1

таймер обратного отчёта

27.09.2011, 23:05. Просмотров 1847. Ответов 4
Метки нет (Все метки)

Такой вопрс
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;
 
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Timer1: TTimer;
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
   time: TTime;
  timesec: TTime;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
begin
 time := StrToTime('00:00:00');
  timesec:= StrToTime('0:0:1');
  button1.Caption:='Старт' ;
  button2.Caption:='Стоп'  ;
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
time:=time-timesec;
  Label1.Caption:=TimeToStr(time);
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled:=True ;
time := time+StrToTime('0:10:0')
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
Timer1.Enabled:=False ;
 
end;
 
end.
как сделать чтоб время в таймере выводилось не 9:09:09 а 09:09:09 и ещё не могу понять ка создать условие тоесть если таймер равен нулю то происходит действие?
думал так
Delphi
1
2
3
4
5
if time= StrToTime('0:00:00') then
  begin
  ShowMessage('ГІГ*éìåð îñòîГ*îâëåГ* ');
  Timer2.Enabled:=False ;
  end
но таймер не прореагировал на него .
подскажите как сделать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2011, 23:05
Ответы с готовыми решениями:

Как сделать Timer обратного отчёта?
Скажите пожалуйста и распишите, как сделать таймер с обратный отчётом? Спасибо...

Таймер обратного отсчета
Привет всем, у меня есть код программы с интернета таймера обратного отсчета....

Таймер обратного отсчета
как реализиовать таймер обратного отсчета(выводящий в label), который не будет...

Таймер обратного отсчета
Прошу помощи. я создал таймер обратного отсчета и он работает, вроде бы все...

таймер обратного отсчёта до звонка
Привет всем. пишу программу Звонок она в общем то работает,хотел бы добавить...

4
Arcor
4819 / 1824 / 381
Регистрация: 20.11.2009
Сообщений: 5,822
Записей в блоге: 1
27.09.2011, 23:55 #2
Цитата Сообщение от Gudzik11 Посмотреть сообщение
Такой вопрс
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;
 
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Timer1: TTimer;
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
   time: TTime;
  timesec: TTime;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
begin
 time := StrToTime('00:00:00');
  timesec:= StrToTime('0:0:1');
  button1.Caption:='Старт' ;
  button2.Caption:='Стоп'  ;
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
time:=time-timesec;
  Label1.Caption:=TimeToStr(time);
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled:=True ;
time := time+StrToTime('0:10:0')
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
Timer1.Enabled:=False ;
 
end;
 
end.
как сделать чтоб время в таймере выводилось не 9:09:09 а 09:09:09 и ещё не могу понять ка создать условие тоесть если таймер равен нулю то происходит действие?
думал так
Delphi
1
2
3
4
5
if time= StrToTime('0:00:00') then
  begin
  ShowMessage('ГІГ*éìåð îñòîГ*îâëåГ* ');
  Timer2.Enabled:=False ;
  end
но таймер не прореагировал на него .
подскажите как сделать
на счет сравнения времен, лучше сделай сравнение не в типе данного TTime, а как строковые сравнить, у меня получалось так только сравнить времена

на счет еще одного нуля впереди, напиши условие, если цифры от 0 до 9 то рисовать еще 1 нулик впереди, просто строковый нулик
1
AndyZorg
Заблокирован
28.09.2011, 00:08 #3
Посмотри вот этот проект. Там есть все, что тебе нужно
1
Вложения
Тип файла: rar Timer.rar (220.6 Кб, 132 просмотров)
Gudzik11
1 / 1 / 1
Регистрация: 14.09.2011
Сообщений: 264
28.09.2011, 00:09  [ТС] #4
вот и у меня вышло так
Delphi
1
2
3
4
5
6
 if TimeToStr(Chas)='0:00:00' then
  begin
    Timer2.Enabled:=False ;
  ShowMessage('ГІГ*éìåð îñòîГ*îâëåГ* !');
 
  end ;
а с нулём как быть не пойму может опишете условие
0
Arcor
4819 / 1824 / 381
Регистрация: 20.11.2009
Сообщений: 5,822
Записей в блоге: 1
28.09.2011, 16:30 #5
вот написал алгоритм небольшой, на картинках видно результат выполнения
на одной картинке ввели время в часах только 1 цифру, вывели в результат получили уже время с нуликом впереди, на второй картинке ввели в двузначном формате, вывели для пробы, вывелось как нужно тоже, то есть лишний нуль не добавился

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.Button1Click(Sender: TObject);
var S: String;
begin
  S := Edit1.Text;
  if Pos(':', S)-2 <> 0 then
    Edit2.Text := S
  else
    begin
      Insert('0', S, 1);
      Edit2.Text := S
    end;
end;
вот для таких случаев так же оформил в функцию, в которую входит "не форматированное время", а выходит уже "форматированное"
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
function AddNull(InpTime: String): String;
var S: String;
begin
  S := InpTime;
  if Pos(':', S) - 2 <> 0 then
    Result := S
  else
    begin
      Insert('0', S, 1);
      Result := S
    end;
end;
так использовал

Delphi
1
2
3
4
procedure TForm1.FormCreate(Sender: TObject);
begin
  Form1.Caption := AddNull('8:12:54')
end;
тоже ничего сложного в использовании
1
Миниатюры
таймер обратного отчёта  
Изображения
 
28.09.2011, 16:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2011, 16:30

Таймер обратного отсчета с паузой через процедуру Now
Необходимо организовать таймер обратного отсчета с паузой т.е. нажимаем на...

SQL для отчёта
Здравствуйте, помогите написать SQL запрос для отчёта. Таблица reсepti idr...

Формирование отчёта в Word
Нашла на этом сайте пример.. вроде получается.. хотя не знаю как decisionGraph...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru