請問FontStyle 的內容可以存入ini嗎? |
尚未結案
|
terence_lee
初階會員 發表:62 回覆:82 積分:28 註冊:2004-07-15 發送簡訊給我 |
|
seaturn99
版主 發表:69 回覆:427 積分:214 註冊:2003-08-25 發送簡訊給我 |
terence_lee 您好 : 您可以利用 ini 或是 Registry 紀錄 enum type ..
TIniFile 有 WriteBinaryStream/ReadBinaryStream 的 Method 可以寫入/讀取 Binary Stream (使用 Registry 有對應的元件),您可以利用以下的函式轉換 enum type <-> Stream
function TransformSetToStream(var tar;size:integer):TStream; var ByteArr : TByteArray absolute tar; begin Result := TMemoryStream.Create; Result.Position := 0; Result.WriteBuffer(ByteArr,size); Result.Position := 0; end; procedure TransformStreamToSet(var tar;var AStream:TStream;size:integer); var ByteArr : TByteArray absolute tar; begin AStream.Position := 0; AStream.ReadBuffer(tar,size); end;PS. 抱歉我不熟 BCB , 以 Delphi 語法示意,我想在 BCB ,這兩個 function 應該需要改寫 .. ---- 我只會兩件事,這也不會,那也不會 眼見不一定為真 ---- |
terence_lee
初階會員 發表:62 回覆:82 積分:28 註冊:2004-07-15 發送簡訊給我 |
|
justdo
高階會員 發表:2 回覆:359 積分:222 註冊:2004-08-17 發送簡訊給我 |
以Font->Color來說:
template事實上,對於元件的Attribute有更好的方法: WriteComponent() 可以將Component的所有屬性都寫到Stream去 再利用ObjectBinaryToText,可以轉成AnsiString 問題是... 他僅支援TComponen所屬的類別,很不幸的TFont並不屬於TComponent 轉個彎的方法是把TEdit利用上述的程序整個存下來 讀取的時候讀到暫時的TEdit物件,再取出其Font屬性 理論上應該有更簡單的方法,因為TFont是繼承TPersistent的, 應該可以利用Assing()等函式,把他的成員狀態記錄到某個地方去 然而截至目前為止,我還沒找到方法... 這就有待其他大大的研究了 發表人 - justdo 於 2004/11/27 11:28:57 發表人 - justdo 於 2004/11/27 11:31:43 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |