我真的很困惑。我想要做的事情(看起來非常簡單)是在TDateTimePicker中顯示一個日期+時間,集成日曆,並且可以在其值更改後讀取它。如何從TDateTimePicker讀取日期和時間
我想使用dd/MM/yyyy hh:mm格式。
由於的TDateTimePicker不是TDateOrTimePicker,一個用於一個具有:
- 種類:dtkDate(顯示日曆)
- 格式: 'DD/MM/YYYY HH:MM'
看起來不錯,現在讓我們閱讀:
showmessage(DateTimeToStr(DateTimePicker1.Date));
只有正確地顯示日期。 hh:mm部分的更改未被考慮。我總是得到默認值。 然後我想:還有一個時間屬性,也許我需要讀取2次的值。
showmessage(DateTimeToStr(DateTimePicker1.Time));
showmessage(DateTimeToStr(DateTimePicker1.Date));
但我有和以前一樣的輸出(和問題)。所以現在,讓我們嘗試將此Kind屬性更改爲dtkTime,然後讀取時間,然後將其切換回dtkDate,然後讀取日期。
但是不,它仍然不起作用。將Kind屬性從dtkDate切換到dtkTime會在hh:mm部分上刪除我的輸入。
我知道我實際上應該使用2 TDateTimePicker:一個爲日期,一個爲時間。
所以我的問題是:
- 有一種簡單的方法來解決我的簡單,很常見的問題(一 真正的DateTimePicker)?
而德爾福的設計問題:
- 爲什麼會出現,基本上是無用的, 誤導格式屬性?有一個TimeFormat,DateFormat和適當的格式 驗證過程並不困難。
請注意,我發佈這個問題主要是爲了避免初學者進行相同的調試和沮喪過程。
好吧,閱讀文檔可能會讓您有一段時間:* TDateTimePicker顯示輸入日期或時間的列表框。*注意**或**。更進一步:*由於TDateTimePicker是Windows控件的包裝,因此不能通過更改SysUtils單元中的格式化變量來更改這些格式。但是,您可以使用Windows API調用DateTime_SetFormat以編程方式指定這些設置。* –
@TomBrunberg是的,我應該在「試圖使其工作」之前看到。我無法從IDE訪問文檔的事實無濟於事。 –
再次,對不起你。你必須以某種方式搞砸你的安裝。我現在特別使用Delphi XE7,並從一個非常實用的幫助文檔中複製文本,直接從IDE訪問。 –