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

我這個語句為何得不到正确的當前小時數呀?

答題得分者是:hagar
hua2000
中階會員


發表:102
回覆:200
積分:65
註冊:2006-11-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-01-23 09:04:14 IP:218.20.xxx.xxx 未訂閱
我這個語句為何得不到正确的當前小時數呀? var systime:Tsystemtime; begin edit1.text:=inttostr(systime.wHour); end; 比如現在為9點鍾,但EDIT1中得到的并不是9或09的字樣,上面的語句有什麼地方錯了嗎?(應該是對的呀) IMPROVE FOREVER
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-01-23 09:55:23 IP:202.39.xxx.xxx 未訂閱
var st: TSystemTime;
begin
  //GetSystemTime(st);
  GetLocalTime(st);      ShowMessage(IntToStr(st.wHour));
end;
-- 將進酒 杯莫停 與君歌一曲 請君為我傾耳聽
william
版主


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-01-23 10:00:18 IP:147.8.xxx.xxx 未訂閱
Edit1.Text := FormatDateTime('h',Now);
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-01-23 10:02:31 IP:210.58.xxx.xxx 未訂閱
HI, 因為你要先取得目前時間, 如下: GetLocalTime(systime);
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-01-23 10:09:31 IP:61.219.xxx.xxx 未訂閱
Your systime value not assigned. procedure TForm1.Button1Click(Sender: TObject); var systime:Tsystemtime; begin DateTimeToSystemTime(now,systime); edit1.text:=inttostr(systime.wHour); end; /* 使用中文很辛苦,中華男兒當自強 */
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-01-23 10:19:25 IP:61.221.xxx.xxx 未訂閱
hua2000你好: edit1.text:=FormatDateTime('HH',now);  
引言: 上面的語句有什麼地方錯了嗎?(應該是對的呀)
請參考SysUtils的help
------
======================
昏睡~
不昏睡~
不由昏睡~
hua2000
中階會員


發表:102
回覆:200
積分:65
註冊:2006-11-04

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-01-23 10:53:01 IP:218.20.xxx.xxx 未訂閱
報歉,還有一點兒不明白 通過下面語句 var systime:Tsystemtime; begin edit1.text:=inttostr(systime.wHour); end; 得到的一個值具體有什麼意義呀?(它不代表當前小時數,那它代表的是一個什麼呀?) 還有 var nowDate:tdatetime; begin form1.Caption:=datetostr(nowDate); end; 看到caption為1899-12-30 當改成 var nowDate:tdatetime; begin nowDate:=date(); form1.Caption:=datetostr(nowDate); end; 就可以看到正确的時間了。 無故得到一個1899-12-30的時間是怎麼一回事呀? 什麼原因呀? IMPROVE FOREVER 發表人 - hua2000 於 2003/01/23 11:16:30
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-01-23 11:28:56 IP:202.39.xxx.xxx 未訂閱
引言: 報歉,還有一點兒不明白 通過下面語句 var systime:Tsystemtime; begin edit1.text:=inttostr(systime.wHour); end; 得到的一個值具體有什麼意義呀?(它不代表當前小時數,那它代表的是一個什麼呀?)
參考 Mickey 兄的回答, 因為您尚未付予 systime 的值 systime 這個變數宣告時有個初值 所以您得到的只是那個初值的 wHour 的值 要得到現在時間, 除了用 GetLocalTime(systemtime) 還有 Mickey 兄提供的 DateTimeToSystemTime(now,systime); 再來就是 william 兄提供的 FormatDateTime('h',Now); 也就是用 DecodeTime(Now, hh, nn, ss, ms) 的方式
引言: 還有 var nowDate:tdatetime; begin form1.Caption:=datetostr(nowDate); end; 看到caption為1899-12-30 當改成 var nowDate:tdatetime; begin nowDate:=date(); form1.Caption:=datetostr(nowDate); end; 就可以看到正确的時間了。 無故得到一個1899-12-30的時間是怎麼一回事呀? 什麼原因呀?
原因同上, 宣告變數時只有初始值 nowDate := date(); 時, nowDate 這個變數才被指定今天的日期這個值 不知道這樣回答對不對? -- 將進酒 杯莫停 與君歌一曲 請君為我傾耳聽
系統時間:2024-05-19 1:59:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!