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

請問資料庫若要儲存Color的屬性, 建議用什麼欄位屬性?

答題得分者是:deity
frappe
中階會員


發表:88
回覆:114
積分:95
註冊:2008-10-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-12-09 17:10:10 IP:60.251.xxx.xxx 訂閱
如果我想把clRed, clYellow, $00FF80FF這種編碼存到資料庫, 
要存哪一種屬性比較好呢?
以及如何從資料庫轉回原來的數值?
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-12-09 23:36:24 IP:183.55.xxx.xxx 未訂閱
直接保存成字符不就可以吗?

调用的时候,先

str:=Table1.fieldbyname('R').AsString; //$00FF80FF,clRed, clYellow
label1.Color:=stringtocolor(str);

或者参考:
http://social.msdn.microsoft.com/Forums/zh-TW/232/thread/df4a1ecc-9933-4190-927a-2c8da70b546d

===================引 用 frappe 文 章===================
如果我想把clRed, clYellow,$00FF80FF這種編碼存到資料庫,
要存哪一種屬性比較好呢?
以及如何從資料庫轉回原來的數值?
編輯記錄
deity 重新編輯於 2010-12-09 08:38:10, 註解 無‧
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-12-09 23:41:53 IP:118.169.xxx.xxx 未訂閱
一般找不會去想辦法儲存"顏色"的色表, 而是直接存值
你可以指定欄位為 int (或longint)
仔細查源碼, 如 clTeal = $808000, 其實就是一個整數值
所以 clTeal 也可以對應成一個整數
由這段程式可印證
procedure TForm1.Button1Click(Sender: TObject);
var mcolor: longint;
begin
mcolor:= clTeal;
form1.color:= mcolor;
end;

所以, 我的案例中以int欄位來存是可行
===================引 用 frappe 文 章===================
如果我想把clRed, clYellow,?$00FF80FF這種編碼存到資料庫,?
要存哪一種屬性比較好呢?
以及如何從資料庫轉回原來的數值?
frappe
中階會員


發表:88
回覆:114
積分:95
註冊:2008-10-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2010-12-11 14:33:13 IP:122.146.xxx.xxx 訂閱
stringtocolor這個語法

strtoint
strtofloat
strtodatetime
為什麼color是stringtocolor ><

ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2010-12-14 01:01:32 IP:220.134.xxx.xxx 訂閱
要考慮數值比存字串省儲存空間
===================引 用 frappe 文 章===================
謝啦, 我就是要找stringtocolor這個語法

strtoint
strtofloat
strtodatetime
為什麼color是stringtocolor ><

系統時間:2024-04-23 23:39:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!