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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.01.2011, 18:31   #1
CAMOBAP
Форумчанин
 
Регистрация: 07.12.2010
Сообщений: 115
По умолчанию Таймер (Delphi)

Есть программа из трех форм . Таймер запускается по открытию второй формы. Когда заканчивается в таймере время, форма 2 закрывается,выводиться сообщение что время вышло, и открывается третья форма.проблема в том, что отсчет доходит до 0 и начинает считать обратно, но уже по возрастанию.

Код:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, sRadioButton, sPanel, sLabel, sButton;

type
  TForm2 = class(TForm)
    sLabel1: TsLabel;
    sPanel1: TsPanel;
    sRadioButton1: TsRadioButton;
    sRadioButton2: TsRadioButton;
    sRadioButton3: TsRadioButton;
    sRadioButton4: TsRadioButton;
    sButton1: TsButton;
    procedure FormCreate(Sender: TObject);
    procedure sButton1Click(Sender: TObject);
   procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;
 t: TTime;
 min,cek:integer;

implementation

uses Unit1, Unit3;

{$R *.dfm}

procedure TForm2.FormCreate(Sender: TObject);
begin
t:= StrToTime('0:'+IntToStr(min)+':'+IntToStr(cek));
label1.Caption:= '0:'+IntToStr(min)+':'+IntToStr(cek);
Timer1.Enabled:= True;
end;

procedure TForm2.sButton1Click(Sender: TObject);
begin
тут исполняется код программы
end;


procedure TForm2.Timer1Timer(Sender: TObject);
begin
if t = 0
then
  begin
  Timer1.Enabled:= False;
  ShowMessage('Время вышло')
 Form2.Hide;
 Form3.Show;
  end
else
  begin
  t:= t - StrToTime('0:00:01');
  Label2.Caption:= TimeToStr(t);
  end;
end;



end.

Последний раз редактировалось Stilet; 07.01.2011 в 18:53.
CAMOBAP вне форума Ответить с цитированием
Старый 07.01.2011, 18:33   #2
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Пиши

Код:
if t < 0
then
Вместо

Код:
if t = 0
then
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 07.01.2011, 18:59   #3
CAMOBAP
Форумчанин
 
Регистрация: 07.12.2010
Сообщений: 115
По умолчанию

все правильно работает, но таймер начинает отсчитывать при открытие программы ,а не второй формы
CAMOBAP вне форума Ответить с цитированием
Старый 07.01.2011, 19:06   #4
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

У тебя вторая форма скрыта? Ну так и включай таймер на событие TForm2.FormShow
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 07.01.2011, 19:40   #5
CAMOBAP
Форумчанин
 
Регистрация: 07.12.2010
Сообщений: 115
По умолчанию

Все равно не выходит .

Последний раз редактировалось CAMOBAP; 07.01.2011 в 20:49.
CAMOBAP вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно разработать системный таймер в Delphi Fonochka Помощь студентам 0 24.11.2010 19:55
Delphi 7 таймер Seede1 Помощь студентам 4 11.10.2010 11:14
Таймер в delphi SysSt Помощь студентам 5 21.04.2010 11:16
Таймер на delphi mish@ Общие вопросы Delphi 9 15.01.2010 03:28
Таймер независяший от частоты проца (Delphi) Dozent Общие вопросы Delphi 10 18.09.2009 21:41