用Timer每秒偵測數值,只偵測第一筆就不會動 |
答題得分者是:pceyes
|
demon740405
一般會員 發表:6 回覆:10 積分:3 註冊:2005-12-10 發送簡訊給我 |
我使用StringList來存放一些數字
裡面的數字基本上已經有排序過了 可是每次只要掃到了第一筆後 其他的就不會被再掃到 為什麼會這樣呢? 以下是數值: 15 27 35 39 42 45 . . . . 我是使用每秒去偵測 以秒數去比對sringlist中的數值 只要秒數與以上數值一樣 就顯示在statusbar上 可是卻只在第一筆數值(15)顯示過後 接下來的幾筆都沒有顯示 請問為什麼會這樣呢? for i := 0 to ss3.Count-1 do if IntToStr(TotalTime) = ss3.Strings[i] then StatusBar1.Panels[1].Text:=ss3.Strings[i]; else Exit;
------
** 何須劍道爭鋒? 千人指,萬人封; 可問江湖鼎峰? 三尺秋水塵不染, 天 下 無 雙 ** |
pceyes
尊榮會員 發表:70 回覆:657 積分:1140 註冊:2003-03-13 發送簡訊給我 |
|
demon740405
一般會員 發表:6 回覆:10 積分:3 註冊:2005-12-10 發送簡訊給我 |
大大好像誤會我的用法了
我是想要每秒去偵測StringList裡的數值 只要秒數=ss3.Strings[i]就顯示在StatusBar上 (我程式碼中的TotalTime是我自己抓的秒數值) ===================引 用 pceyes 文 章=================== procedure TForm1.Timer1Timer(Sender: TObject); begin Myss := formatdatetime('ss',now); if ss3.IndexOf(Myss)>0 then begin StatusBar1.SimpleText := Myss; end; end;
------
** 何須劍道爭鋒? 千人指,萬人封; 可問江湖鼎峰? 三尺秋水塵不染, 天 下 無 雙 **
編輯記錄
demon740405 重新編輯於 2008-10-31 06:16:13, 註解 無‧
|
pceyes
尊榮會員 發表:70 回覆:657 積分:1140 註冊:2003-03-13 發送簡訊給我 |
那您要的是這個嗎?
[code delphi] procedure TForm1.Timer1Timer(Sender: TObject); begin if ss3.IndexOf(inttostr(TotalTime))>0 then begin // 如果現在總值在Strings中 StatusBar1.SimpleText := inttostr(TotalTime); // 顯示在StatusBar中 end; end; [/code] ===================引 用 demon740405 文 章=================== 大大好像誤會我的用法了 我是想要每秒去偵測StringList裡的數值 只要秒數=ss3.Strings[i]就顯示在StatusBar上 (我程式碼中的TotalTime是我自己抓的秒數值) 請問您的TotalTime如何取得 ===================引 用 pceyes 文 章=================== procedure TForm1.Timer1Timer(Sender: TObject); begin Myss := formatdatetime('ss',now); // 每秒偵測現在的秒數值 if ss3.IndexOf(Myss)>0 then begin // 如果現在秒值在Strings中 StatusBar1.SimpleText := Myss; // 顯示在StatusBar中 end; end;
------
努力會更接近成功 |
demon740405
一般會員 發表:6 回覆:10 積分:3 註冊:2005-12-10 發送簡訊給我 |
我的意思是~
以每秒的秒數去核對ss3裡的每個值 (每秒都用迴圈去查) 舉例來說--- ss3中有以下的數值: 15 27 35 39 42 45 (六個) 那麼在第15秒的時候的時候 就應該會在statusbar顯示15 第27秒的時候就應該顯示27 以此類推~ 而我的totaltime是我自己抓的秒數 (它也會每秒跟著變動,基本上它就是秒了 並且是從0開始起跑的) 所以在totaltime=ss3.strings[i]的時候 就應該顯示該數值 (當Totaltim=15,ss3.Strings[i]也是15的時候)
------
** 何須劍道爭鋒? 千人指,萬人封; 可問江湖鼎峰? 三尺秋水塵不染, 天 下 無 雙 **
編輯記錄
demon740405 重新編輯於 2008-10-31 07:42:16, 註解 無‧
demon740405 重新編輯於 2008-10-31 07:43:59, 註解 無‧ demon740405 重新編輯於 2008-10-31 07:45:58, 註解 無‧ demon740405 重新編輯於 2008-10-31 07:56:45, 註解 無‧ |
careychen
尊榮會員 發表:41 回覆:580 積分:959 註冊:2004-03-03 發送簡訊給我 |
哦~~~兩個人這麼早起就開始 po 文,先跟兩位說聲早,其實 pceyes 大一直都這麼早起呵呵
其實 pceyes 大的答案應該可以符合您的需求 但 1、 在 if ss3.IndexOf(Myss) > 0 then begin 要小改一下 if ss3.IndexOf(Myss) >= 0 then begin 2、 檢查您的 TotalTime 是真的有抓到正確秒數嗎?? 試著比對一下您抓到的時間和 pceyes 大抓的 myss 這個變數是不是一樣的值 ===================引 用 demon740405 文 章=================== 我的意思是~ 以每秒的秒數去核對ss3裡的每個值 (每秒都用迴圈去查) 舉例來說--- ss3中有以下的數值: 15 27 35 39 42 45 (六個) 那麼在第15秒的時候的時候 就應該會在statusbar顯示15 第27秒的時候就應該顯示27 以此類推~ 而我的totaltime是我自己抓的秒數 (它也會每秒跟著變動,基本上它就是秒了 並且是從0開始起跑的) 所以在totaltime=ss3.strings[i]的時候 就應該顯示該數值 (當Totaltim=15,ss3.Strings[i]也是15的時候)
------
價值的展現,來自於你用哪一個角度來看待它!! |
demon740405
一般會員 發表:6 回覆:10 積分:3 註冊:2005-12-10 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |