全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1411
推到 Plurk!
推到 Facebook!

如何控制TTimer元件時間

尚未結案
bigcome2004
一般會員


發表:28
回覆:19
積分:9
註冊:2004-02-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-06 11:13:31 IP:61.219.xxx.xxx 未訂閱
請問各位高手....如何使用手動輸入來控制TTimer的執行時間或是利用TScrollBar來控制... 很急...請各位高手指導一下
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-06 11:43:49 IP:210.65.xxx.xxx 未訂閱
Hi bigcome2004,    你指的是1.控制開始執行時間,或是2.執行間格時間 若是1. Now - 下一個執行時間 * 86400 得到下一次執行之時間差並 Timer1.Interval := 間格秒數 * 1000; 在 Ontimer 事件中,再重新計算下次執行時間間格    若是2.則 Timer1.Interval := 間格秒數 * 1000;     ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-05-06 11:44:20 IP:147.8.xxx.xxx 未訂閱
Assign value to TTimer.Interval. Perhaps disable/reable the timer during the change.
jumo
一般會員


發表:33
回覆:65
積分:24
註冊:2002-04-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-05-06 11:48:32 IP:203.204.xxx.xxx 未訂閱
 
unit Unit1;    interface    uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;    type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Label1: TLabel;
    ScrollBar1: TScrollBar;
    Timer2: TTimer;
    Button1: TButton;
    Button2: TButton;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;
      var ScrollPos: Integer);
  private
    { Private declarations }
    bt, et: Cardinal;
  public
    { Public declarations }
  end;    var
  Form1: TForm1;    implementation    {$R *.dfm}    procedure TForm1.Button1Click(Sender: TObject);
begin
  bt := GetTickCount;
  Timer1.Enabled := True;
  Timer2.Enabled := True;
end;    procedure TForm1.Timer1Timer(Sender: TObject);
var TimeSec: TDateTime;
begin
  et := GetTickCount;
  TimeSec := (Timer1.Interval - (et - bt)) / 86400000;
  if TimeSec <= 0 then begin
    BT := GetTickCount;
    MessageBox(0, Pchar('時間到了'), '計時器', MB_OK);
  end;
end;    procedure TForm1.Timer2Timer(Sender: TObject);
var TimeSec: TDateTime;
begin
  et := GetTickCount;
  TimeSec := (Timer1.Interval - (et - bt)) / 86400000;
  Label1.Caption := FormatDateTime('hh:nn:ss:zzz', TimeSec);
end;    procedure TForm1.Button2Click(Sender: TObject);
begin
  Timer1.Enabled := False;
  Timer2.Enabled := False;
  Label1.Caption := '';
end;    procedure TForm1.ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;
  var ScrollPos: Integer);
begin
  Timer1.Enabled := False;
  Timer1.Interval := ScrollPos * 1000;
  Label2.Caption := IntToStr(ScrollPos);
  BT := GetTickCount;
  Timer1.Enabled := True;
end;    end.
系統時間:2024-07-02 7:18:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!