線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2438
推到 Plurk!
推到 Facebook!

如何在tchart中的橫坐標顯示當前的時間時分秒

答題得分者是:st33chen
blue36sea
一般會員


發表:13
回覆:35
積分:23
註冊:2008-10-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-05-12 00:09:22 IP:222.240.xxx.xxx 訂閱
字段如何在Tchart的X軸設置顯示日期和時間
老大仔
尊榮會員


發表:78
回覆:837
積分:1088
註冊:2006-07-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-05-12 02:04:17 IP:59.114.xxx.xxx 未訂閱
X軸..嗯...應該就是指X軸的數字而不是指TITLE了吧@@?
請使用下面的方法試看看
Series1.Add(354,FormatDateTime('HH/MM/SS',Now),clTeeColor);
編輯記錄
老大仔 重新編輯於 2009-05-12 02:53:59, 註解 無‧
blue36sea
一般會員


發表:13
回覆:35
積分:23
註冊:2008-10-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-05-12 10:17:30 IP:202.197.xxx.xxx 訂閱
類型不匹配,FormatDateTime('HH/MM/SS',Now)是string類型,橫坐標顯示的是double型
st33chen
尊榮會員


發表:15
回覆:591
積分:1201
註冊:2005-09-30

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-05-12 20:23:36 IP:122.116.xxx.xxx 未訂閱
您好,

tchart 的 series 的 general 的 horizonal axis 有個 datetime 可以勾選

是不是您所要的?
------
IS IT WHAT IT IS
我是 李慕白 請倒著唸.
又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦);
都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲.
blue36sea
一般會員


發表:13
回覆:35
積分:23
註冊:2008-10-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-05-12 23:40:55 IP:222.240.xxx.xxx 訂閱
我已經勾選datetime了,可是我在timer裏設置了每隔1秒鍾就顯示一下當前的時間,但是在tchart裏的橫坐標要怎麽顯示,我本來想用formatdatetime('hh:mm:ss',now),但是這個是string 類型的,而tchart的橫坐標值有要求是double型???
st33chen
尊榮會員


發表:15
回覆:591
積分:1201
註冊:2005-09-30

發送簡訊給我
#6 引用回覆 回覆 發表時間:2009-05-13 00:06:33 IP:122.116.xxx.xxx 未訂閱
老大仔曾問到您是要顯示當前時間在 x軸 title 還是 x 座標
我感覺您的需求是要顯示在 title 而不是 座標, 因為 title 只有一個值, 座標則有很多值
您好像只想顯示一個值.

看一下
chart1.BottomAxis.Title.Caption := formatdatetime('hh:nn:ss', now); // 應該是nn不是mm, 您查一下.
是不是您所要的.
------
IS IT WHAT IT IS
我是 李慕白 請倒著唸.
又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦);
都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲.
編輯記錄
st33chen 重新編輯於 2009-05-13 08:14:50, 註解 無‧
blue36sea
一般會員


發表:13
回覆:35
積分:23
註冊:2008-10-12

發送簡訊給我
#7 引用回覆 回覆 發表時間:2009-05-13 08:57:13 IP:202.197.xxx.xxx 訂閱
我這裏要顯示的是X坐標的值,因為我SERIES畫圖操作我是定義在timer裏面的,所以是橫坐標顯示的是當前時間,timer每秒觸發一次,所以X橫坐標的值要顯示的依次是‘18:02:14’'18:02:15'‘18:02;:16’'18:02:17'...這樣的格式
st33chen
尊榮會員


發表:15
回覆:591
積分:1201
註冊:2005-09-30

發送簡訊給我
#8 引用回覆 回覆 發表時間:2009-05-13 09:55:43 IP:122.116.xxx.xxx 未訂閱
那這樣呢?
series1.XValues.DateTime := true;
chart1.BottomAxis.DateTimeFormat := 'hh:nn:ss';
------
IS IT WHAT IT IS
我是 李慕白 請倒著唸.
又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦);
都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲.
blue36sea
一般會員


發表:13
回覆:35
積分:23
註冊:2008-10-12

發送簡訊給我
#9 引用回覆 回覆 發表時間:2009-05-14 15:18:26 IP:202.197.xxx.xxx 訂閱
我要獲取的是每一秒下的當前的時間,但是我使用
procedure TForm1.Timer2Timer(Sender: TObject);
var
y,x:double;
begin
randomize;
x:=random(15000)/1000 45.000;
y:=a*power(x,2) b*x c;
Series1.XValues.DateTime := True ;
chart1.BottomAxis.DateTimeFormat :=formatdatetime('hh:nn:ss',now);
Series1.Addy(y,'',clTeeColor);
end;
發現時間格式是兌了,但是它顯示的值也全部變成一樣了,比如在第一秒顯示的是‘13:02:14’在第二秒顯示的是‘13:02:15’‘13:02:15’在第3秒顯示的是‘13:02:16’‘13:02:16’‘13:02:16’,也就是說把橫坐標全部變成了當前餓時間,為什麽會這樣,能否改成我想要的‘13:02:14’‘13:02:15’‘13:02:16’這種格式?
st33chen
尊榮會員


發表:15
回覆:591
積分:1201
註冊:2005-09-30

發送簡訊給我
#10 引用回覆 回覆 發表時間:2009-05-14 17:03:27 IP:122.116.xxx.xxx 未訂閱

===================引 用 blue36sea 文 章===================
我要獲取的是每一秒下的當前的時間,但是我使用
procedure TForm1.Timer2Timer(Sender: TObject);
var
y,x:double;
begin
randomize;
x:=random(15000)/1000 45.000;
y:=a*power(x,2) b*x c;
Series1.XValues.DateTime := True ;
chart1.BottomAxis.DateTimeFormat :=formatdatetime('hh:nn:ss',now); <-- 要設定顯示格式, 不是給值, := 'hh:nn:ss' 就好了
Series1.Addy(y,'',clTeeColor);
end;
發現時間格式是兌了,但是它顯示的值也全部變成一樣了,比如在第一秒顯示的是‘13:02:14’在第二秒顯示的是‘13:02:15’‘13:02:15’在第3秒顯示的是‘13:02:16’‘13:02:16’‘13:02:16’,也就是說把橫坐標全部變成了當前餓時間,為什麽會這樣,能否改成我想要的‘13:02:14’‘13:02:15’‘13:02:16’這種格式?
------
IS IT WHAT IT IS
我是 李慕白 請倒著唸.
又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦);
都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲.
blue36sea
一般會員


發表:13
回覆:35
積分:23
註冊:2008-10-12

發送簡訊給我
#11 引用回覆 回覆 發表時間:2009-05-14 17:50:44 IP:202.197.xxx.xxx 訂閱
我要在顯示的是當前的時間,不僅要求格式對,還要時間也對啊!
這裏只是設置對了時間的格式,但是,顯示的時間是錯誤的!
st33chen
尊榮會員


發表:15
回覆:591
積分:1201
註冊:2005-09-30

發送簡訊給我
#12 引用回覆 回覆 發表時間:2009-05-14 18:03:23 IP:122.116.xxx.xxx 未訂閱
剛剛沒注意到這一段是在 timer 裏

請把
Series1.XValues.DateTime := True ;
chart1.BottomAxis.DateTimeFormat :=formatdatetime('hh:nn:ss',now); <-- 要設定顯示格式, 不是給值, := 'hh:nn:ss' 就好了
這句放到 其他地方, 因為是一次工, 不必設在 timer 中每秒執行一次


==================引 用 blue36sea 文 章===================
我要獲取的是每一秒下的當前的時間,但是我使用
procedure TForm1.Timer2Timer(Sender: TObject);
var
y,x:double;
begin
randomize;
x:=random(15000)/1000 45.000;
y:=a*power(x,2) b*x c;
Series1.Addy(y,'',clTeeColor); <-- 然後這一句改成 series1.addxy(now, y, .....) 看看
end;
發現時間格式是兌了,但是它顯示的值也全部變成一樣了,比如在第一秒顯示的是‘13:02:14’在第二秒顯示的是‘13:02:15’‘13:02:15’在第3秒顯示的是‘13:02:16’‘13:02:16’‘13:02:16’,也就是說把橫坐標全部變成了當前餓時間,為什麽會這樣,能否改成我想要的‘13:02:14’‘13:02:15’‘13:02:16’這種格式?
------
IS IT WHAT IT IS
我是 李慕白 請倒著唸.
又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦);
都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲.
blue36sea
一般會員


發表:13
回覆:35
積分:23
註冊:2008-10-12

發送簡訊給我
#13 引用回覆 回覆 發表時間:2009-05-15 10:41:47 IP:202.197.xxx.xxx 訂閱
我將這句放到外面了,但是還是只是設置了格式,它的時間還是不對
blue36sea
一般會員


發表:13
回覆:35
積分:23
註冊:2008-10-12

發送簡訊給我
#14 引用回覆 回覆 發表時間:2009-05-15 11:16:07 IP:202.197.xxx.xxx 訂閱
剛在程序中添加了:
dt:Tdatetime;--定義
fieldbyname('time').Asstring:=formatdatetime('hh:nn:ss',now);
dt:= fieldbyname('time').asdatetime;--幅值
Series1.Addxy(dt,y,'',clTeeColor);--顯示
問題解決,謝謝各位的回帖!
blue36sea
一般會員


發表:13
回覆:35
積分:23
註冊:2008-10-12

發送簡訊給我
#15 引用回覆 回覆 發表時間:2009-05-15 11:21:27 IP:202.197.xxx.xxx 訂閱
恩,你說的這個
Series1.Addxy(now,y,'',clTeeColor);
也可以問題解決,謝謝各位的回帖!
系統時間:2024-05-16 22:06:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!