亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 054.htm

?? delphi編程
?? HTM
?? 第 1 頁 / 共 5 頁
字號:
<p>begin</p>
<p>ReadSignature;</p>
<p>Component := ReadComponent(nil);</p>
<p>Proc(Component);</p>
<p>end;</p>
<p>FixupReferences;</font><font face="宋體" lang="ZH-CN"></p>
<p></font><font face="Arial">finally</font><font face="宋體" lang="ZH-CN"></p>
<p></font><font face="Arial">EndReferences;</p>
<p>end;</p>
<p>end;</p>
<p></font> <font face="宋體" lang="ZH-CN"></p>
<p>  </font><font face="Arial">ReadComponents</font><font face="宋體" lang="ZH-CN">首先用</font><font
face="Arial">AOwner</font><font face="宋體" lang="ZH-CN">和</font><font face="Arial">AParent</font><font
face="宋體" lang="ZH-CN">參數給</font><font face="Arial">Root,Owner</font><font
face="宋體" lang="ZH-CN">和</font><font face="Arial">Parent</font><font face="宋體"
lang="ZH-CN">賦值,用于重建各部件的相互引用。然后用一個</font><font
face="Arial">While</font><font face="宋體" lang="ZH-CN">循環讀取部件并用由</font><font
face="Arial">Proc</font><font face="宋體" lang="ZH-CN">傳入的方法進行處理。在重建引用關系時,用了</font><font
face="Arial">BeginReferences</font><font face="宋體" lang="ZH-CN">、</font><font
face="Arial">FixUpReferences</font><font face="宋體" lang="ZH-CN">和</font><font
face="Arial">EndReferences</font><font face="宋體" lang="ZH-CN">嵌套模式。</p>
<p>  </font><font face="Arial">ReadRootComponent</font><font face="宋體"
lang="ZH-CN">方法從</font><font face="Arial">Reader</font><font face="宋體"
lang="ZH-CN">對象的流中將部件及其擁有的部件全部讀出。如果</font><font
face="Arial">Component</font><font face="宋體" lang="ZH-CN">參數為</font><font
face="Arial">nil</font><font face="宋體" lang="ZH-CN">,則創建一個相同類型的部件,最后返回該部件:</p>
<p> </p>
<p></font><font face="Arial">function TReader.ReadRootComponent(Root: TComponent):
TComponent;</p>
<p></font> <font face="Arial"></p>
<p>function FindUniqueName(const Name: string): string;</p>
<p>begin</p>
<p></font><font face="宋體" lang="ZH-CN">…</p>
<p></font><font face="Arial">end;</p>
<p> </p>
<p>var</p>
<p>I: Integer;</p>
<p>Flags: TFilerFlags;</p>
<p>begin</p>
<p>ReadSignature;</p>
<p>Result := nil;</p>
<p>try</p>
<p>ReadPrefix(Flags, I);</p>
<p>if Root = nil then</p>
<p>begin</p>
<p>Result := TComponentClass(FindClass(ReadStr)).Create(nil);</p>
<p>Result.Name := ReadStr;</p>
<p>end else</p>
<p>begin</p>
<p>Result := Root;</p>
<p>ReadStr; { Ignore class name }</p>
<p>if csDesigning in Result.ComponentState then</p>
<p>ReadStr else</p>
<p>Result.Name := FindUniqueName(ReadStr);</p>
<p>end;</p>
<p>FRoot := Result;</p>
<p>if GlobalLoaded &lt;&gt; nil then</p>
<p>FLoaded := GlobalLoaded else</p>
<p>FLoaded := TList.Create;</p>
<p>try</p>
<p>FLoaded.Add(FRoot);</p>
<p>FOwner := FRoot;</p>
<p>Include(FRoot.FComponentState, csLoading);</p>
<p>Include(FRoot.FComponentState, csReading);</p>
<p>FRoot.ReadState(Self);</font><font face="宋體" lang="ZH-CN"></p>
<p></font><font face="Arial">Exclude(FRoot.FComponentState, csReading);</font><font
face="宋體" lang="ZH-CN"></p>
<p></font><font face="Arial">if GlobalLoaded = nil then</p>
<p>for I := 0 to FLoaded.Count - 1 do TComponent(FLoaded[I]).Loaded;</p>
<p>finally</p>
<p>if GlobalLoaded = nil then FLoaded.Free;</p>
<p>FLoaded := nil;</p>
<p>end;</p>
<p>GlobalFixupReferences;</p>
<p>except</p>
<p>RemoveFixupReferences(Root, '');</p>
<p>if Root = nil then Result.Free;</p>
<p>raise;</p>
<p>end;</p>
<p>end;</p>
<p></font> <font face="宋體" lang="ZH-CN"></p>
<p>  </font><font face="Arial">ReadRootComponent</font><font face="宋體"
lang="ZH-CN">首先調用</font><font face="Arial">ReadSignature</font><font face="宋體"
lang="ZH-CN">讀取</font><font face="Arial">Filer</font><font face="宋體" lang="ZH-CN">對象標簽。然后在</font><font
face="Arial">try</font><font face="宋體" lang="ZH-CN">…</font><font face="Arial">except</font><font
face="宋體" lang="ZH-CN">循環中執行讀取任務。如果</font><font face="Arial">Root</font><font
face="宋體" lang="ZH-CN">參數為</font><font face="Arial">nil</font><font
face="宋體" lang="ZH-CN">,則用</font><font face="Arial">ReadStr</font><font
face="宋體" lang="ZH-CN">讀出的類名創建新部件,并以流中讀出部件的</font><font
face="Arial">Name</font><font face="宋體" lang="ZH-CN">屬性;否則,忽略類名,并判斷</font><font
face="Arial">Name</font><font face="宋體" lang="ZH-CN">屬性的唯一性。最后用</font><font
face="Arial">Root</font><font face="宋體" lang="ZH-CN">的</font><font face="Arial">ReadState</font><font
face="宋體" lang="ZH-CN">方法讀取屬性和其擁有的擁有并處理引用關系。</p>
<p>  </font><font face="Arial">7. SetName</font><font face="宋體" lang="ZH-CN">方法和</font><font
face="Arial">OnSetName</font><font face="宋體" lang="ZH-CN">事件</p>
<p>  因為在</font><font face="Arial">OnSetName</font><font face="宋體"
lang="ZH-CN">事件中,</font><font face="Arial">Name</font><font face="宋體"
lang="ZH-CN">參數是</font><font face="Arial">var</font><font face="宋體" lang="ZH-CN">型的,所以可以用</font><font
face="Arial">OnSetName</font><font face="宋體" lang="ZH-CN">事件處理過程修改所讀部件的名字。而</font><font
face="Arial">OnSetName</font><font face="宋體" lang="ZH-CN">事件處理過程是在</font><font
face="Arial">SetName</font><font face="宋體" lang="ZH-CN">方法中實現的。</p>
<p> </p>
<p></font><font face="Arial">procedure TReader.SetName(Component: TComponent; var Name:
string);</p>
<p>begin</p>
<p>if Assigned(FOnSetName) then FOnSetName(Self, Component, Name);</p>
<p>Component.Name := Name;</p>
<p>end;</p>
<p></font> <font face="Arial"></p>
<p>SetName</font><font face="宋體" lang="ZH-CN">方法和</font><font face="Arial">OnSetName</font><font
face="宋體" lang="ZH-CN">事件在動態</font><font face="Arial">DFM</font><font
face="宋體" lang="ZH-CN">文件的編程中有很重要的作用。</p>
<p>  </font><font face="Arial">8. TReader</font><font face="宋體" lang="ZH-CN">的錯誤處理</p>
<p>  </font><font face="Arial">TReader</font><font face="宋體" lang="ZH-CN">的錯誤處理是由</font><font
face="Arial">Error</font><font face="宋體" lang="ZH-CN">方法和</font><font
face="Arial">OnError</font><font face="宋體" lang="ZH-CN">事件的配合使用完成的。</font><font
face="Arial">OnError </font><font face="宋體" lang="ZH-CN">事件處理過程的</font><font
face="Arial">Handled</font><font face="宋體" lang="ZH-CN">參數是</font><font
face="Arial">var</font><font face="宋體" lang="ZH-CN">型的布爾變量,通過將</font><font
face="Arial">Handled</font><font face="宋體" lang="ZH-CN">設為</font><font
face="Arial">True</font><font face="宋體" lang="ZH-CN">或</font><font face="Arial">False</font><font
face="宋體" lang="ZH-CN">可影響</font><font face="Arial">TReader </font><font
face="宋體" lang="ZH-CN">的錯誤處理。</font><font face="Arial">OnError</font><font
face="宋體" lang="ZH-CN">事件處理過程是在</font><font face="Arial">Error</font><font
face="宋體" lang="ZH-CN">方法中調用的。</p>
<p> </p>
<p></font><font face="Arial">function TReader.Error(const Message: string): Boolean;</p>
<p>begin</p>
<p>Result := False;</p>
<p>if Assigned(FOnError) then FOnError(Self, Message, Result);</p>
<p>end;</p>
<p></font> <font face="宋體" lang="ZH-CN"></p>
<p>  </font><font face="Arial">9. FindMethod</font><font face="宋體" lang="ZH-CN">和</font><font
face="Arial">OnFindMethod</font><font face="宋體" lang="ZH-CN">事件</p>
<p>  有時,在程序運行期間,給部件的方法指針</font><font
face="Arial">(</font><font face="宋體" lang="ZH-CN">主要是事件處理過程</font><font
face="Arial">)</font><font face="宋體" lang="ZH-CN">動態賦值是很有用的,這樣就能動態地改變部件響應事件的方式。在流中讀取部件捍做到一點就要利用</font><font
face="Arial">OnFindMehtod</font><font face="宋體" lang="ZH-CN">事件。</font><font
face="Arial">OnFIndMethod</font><font face="宋體" lang="ZH-CN">事件是在</font><font
face="Arial">FindMethod</font><font face="宋體" lang="ZH-CN">方法中被調用的。</p>
<p> </p>
<p></font><font face="Arial">function TReader.FindMethod(Root: TComponent;</p>
<p>const MethodName: string): Pointer;</p>
<p>var </p>
<p>Error: Boolean;</p>
<p>begin</p>
<p>Result := Root.MethodAddress(MethodName);</p>
<p>Error := Result = nil;</font><font face="宋體" lang="ZH-CN"></p>
<p></font><font face="Arial">if Assigned(FOnFindMethod) then FOnFindMethod(Self,
MethodName, Result, </p>
<p>Error);</p>
<p>if Error then PropValueError;</p>
<p>end;</p>
<p></font> <font face="宋體" lang="ZH-CN"></p>
<p>  </font><font face="Arial">OnFindMethod </font><font face="宋體" lang="ZH-CN">方法除了可以給部件的</font><font
face="Arial">MethodName</font><font face="宋體" lang="ZH-CN">所指定的方法指針動態賦值外,還可修改</font><font
face="Arial">Error</font><font face="宋體" lang="ZH-CN">參數來決定是否處理</font><font
face="Arial">Missing Method</font><font face="宋體" lang="ZH-CN">錯誤。方法中調用的</font><font
face="Arial">MehtodAddress </font><font face="宋體" lang="ZH-CN">方法定義在</font><font
face="Arial">TObject</font><font face="宋體" lang="ZH-CN">中,它是個很有用的方法,它可以得到對象中定義的</font><font
face="Arial">public</font><font face="宋體" lang="ZH-CN">方法的地址。</font><font
face="Arial">FindMethod</font><font face="宋體" lang="ZH-CN">方法和</font><font
face="Arial">OnFindMethod</font><font face="宋體" lang="ZH-CN">事件在動態</font><font
face="Arial">DFM</font><font face="宋體" lang="ZH-CN">的編程中有很重要的作用。</p>
<p> </p>
<p> </font><font face="Arial"></p>
<p>20.3 Delphi</font><font face="宋體" lang="ZH-CN">對象式數據管理應用實例</p>
<p> </p>
<p>  </font><font face="Arial">Delphi 2.0</font><font face="宋體" lang="ZH-CN">無論是其可視化設計工具,還是可視化部件類庫</font><font
face="Arial">(VCL)</font><font face="宋體" lang="ZH-CN">,都處處滲透了對象存儲技術,本節將從</font><font
face="Arial">Delphi</font><font face="宋體" lang="ZH-CN">可視化設計內部機制、</font><font
face="Arial">VCL</font><font face="宋體" lang="ZH-CN">中的數據存儲、</font><font
face="Arial">BLOB</font><font face="宋體" lang="ZH-CN">數據操作和動態生成部件的存儲幾方面介紹對象存儲功能的實例應用。</p>
<p> </font><font face="Arial"></p>
<p>20.3.1 Delphi </font><font face="宋體" lang="ZH-CN">動態</font><font face="Arial">DFM</font><font
face="宋體" lang="ZH-CN">文件及部件的存取在超媒體系統中的應用</p>
<p> </p>
<p>  </font><font face="Arial">Delphi</font><font face="宋體" lang="ZH-CN">的可視化設計工具是同其部件類庫緊密結合在一起的。</p>
<p>  每個部件只有通過一段注冊程序并通過</font><font face="Arial">Delphi</font><font
face="宋體" lang="ZH-CN">的</font><font face="Arial">Install Component</font><font
face="宋體" lang="ZH-CN">功能,才能出現在</font><font face="Arial">Component
Palette</font><font face="宋體" lang="ZH-CN">上;部件的屬性才有可能出現在</font><font
face="Arial">Object Inspector</font><font face="宋體" lang="ZH-CN">窗口中;部件的屬性編輯器才能被</font><font
face="Arial">Delphi</font><font face="宋體" lang="ZH-CN">環境使用。因為這種渾然天成的關系,</font><font
face="Arial">DFM</font><font face="宋體" lang="ZH-CN">文件存取必然得到</font><font
face="Arial">VCL</font><font face="宋體" lang="ZH-CN">在程序上的支持。</p>
<p>  </font><font face="Arial">DFM</font><font face="宋體" lang="ZH-CN">文件的部件存取是</font><font
face="Arial">Delphi</font><font face="宋體" lang="ZH-CN">可視化設計環境中文件存取的中心問題。因為</font><font
face="Arial">Delphi</font><font face="宋體" lang="ZH-CN">可視化

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品二区一区二区aⅴ污介绍| 91官网在线观看| 久久久一区二区| 韩国理伦片一区二区三区在线播放| 日韩欧美综合在线| 激情六月婷婷久久| 国产精品你懂的在线欣赏| 成人黄色软件下载| 一区二区高清视频在线观看| 精品视频1区2区3区| 免费成人av在线播放| 国产亚洲一区字幕| 日本韩国欧美三级| 日韩高清不卡在线| 国产无遮挡一区二区三区毛片日本| 丁香网亚洲国际| 夜夜爽夜夜爽精品视频| 在线播放日韩导航| 国产91在线观看丝袜| 一区免费观看视频| 91精品国产乱| www.色综合.com| 日韩av高清在线观看| 国产三区在线成人av| 欧美性感一区二区三区| 黄色日韩网站视频| 自拍偷拍国产精品| 欧美tickling网站挠脚心| 波多野结衣精品在线| 亚洲成人av电影| 国产精品天干天干在线综合| 欧美日韩一区 二区 三区 久久精品| 经典一区二区三区| 一区二区三区欧美在线观看| 精品免费一区二区三区| 91麻豆国产福利在线观看| 久久精品国产秦先生| 亚洲女爱视频在线| 国产日韩欧美激情| 91麻豆精品国产自产在线| 成人av在线一区二区| 蜜桃久久久久久| 一区二区三区在线免费| 国产人妖乱国产精品人妖| 91精品国产手机| 在线亚洲免费视频| 成人免费视频免费观看| 久久精品二区亚洲w码| 一区二区三区成人| 国产精品久久福利| 精品第一国产综合精品aⅴ| 欧美伊人精品成人久久综合97 | 在线亚洲免费视频| 国产成人综合亚洲网站| 麻豆国产欧美一区二区三区| 亚洲综合丁香婷婷六月香| 中文av一区二区| 久久免费视频一区| 精品国产乱码久久久久久免费 | 蜜桃视频在线观看一区| 亚洲午夜电影在线观看| 亚洲美女在线一区| 国产精品福利一区| 国产精品三级电影| 国产欧美精品区一区二区三区 | 亚洲香肠在线观看| 亚洲欧美激情插| 日韩毛片在线免费观看| 亚洲国产精华液网站w| 久久久亚洲国产美女国产盗摄 | 成人一级片网址| 国产一区二区三区免费观看| 麻豆精品国产91久久久久久| 日韩高清在线观看| 蜜臂av日日欢夜夜爽一区| 日韩电影在线免费观看| 日本不卡高清视频| 免费在线观看一区| 奇米影视7777精品一区二区| 日本在线不卡视频一二三区| 无吗不卡中文字幕| 裸体在线国模精品偷拍| 久久超碰97中文字幕| 美女视频第一区二区三区免费观看网站| 午夜精彩视频在线观看不卡| 日韩成人午夜电影| 韩日av一区二区| 成人听书哪个软件好| av一区二区三区四区| 在线精品视频免费播放| 在线91免费看| 久久久久久久精| 亚洲婷婷国产精品电影人久久| 综合欧美亚洲日本| 天使萌一区二区三区免费观看| 日韩二区三区四区| 国产真实精品久久二三区| 成人aa视频在线观看| 在线观看免费成人| 日韩欧美久久一区| 国产精品丝袜91| 亚洲高清免费观看| 国产一区二区福利| 色综合久久久久久久久| 91精品国产高清一区二区三区蜜臀 | 精品一区二区三区不卡| 国产成人午夜视频| 在线精品观看国产| 精品噜噜噜噜久久久久久久久试看| 久久久国产精华| 亚洲激情av在线| 久久超级碰视频| 色婷婷综合在线| 日韩精品在线看片z| **网站欧美大片在线观看| 天堂成人国产精品一区| 成人午夜精品在线| 欧美二区三区的天堂| 亚洲国产精品黑人久久久| 性欧美大战久久久久久久久| 国产精品影视在线观看| 欧美三级视频在线观看| 久久久久久99久久久精品网站| 一区二区三区久久| 粗大黑人巨茎大战欧美成人| 在线精品亚洲一区二区不卡| 国产视频一区在线观看| 亚洲成人动漫在线观看| 成人黄动漫网站免费app| 欧美日韩成人一区| 亚洲婷婷在线视频| 国产激情一区二区三区| 7777精品伊人久久久大香线蕉的 | 日韩午夜在线播放| 亚洲一区二区三区激情| 成人精品视频.| 日韩一区二区在线看片| 亚洲午夜私人影院| 99久久久久久99| 日本一区二区三区高清不卡| 免费看欧美女人艹b| 欧美午夜精品久久久| 国产精品免费av| 国产在线精品不卡| 欧美一区二区三区不卡| 亚洲国产精品久久人人爱蜜臀| 成人免费黄色在线| 久久久久久99久久久精品网站| 免费观看久久久4p| 4438亚洲最大| 亚洲韩国一区二区三区| 色婷婷精品大在线视频| 国产精品国模大尺度视频| 国产大片一区二区| 久久久久久久久久久电影| 国产在线不卡一区| 日韩精品中文字幕一区二区三区| 日韩中文欧美在线| 欧美日韩一区视频| 亚洲成a人在线观看| 欧美日韩一二三| 午夜亚洲国产au精品一区二区| 欧洲一区在线观看| 亚洲一区二区成人在线观看| 欧洲色大大久久| 偷拍与自拍一区| 91精品国产欧美一区二区| 日本成人在线一区| 日韩一级二级三级精品视频| 日韩电影免费一区| 精品久久99ma| 国产精品亚洲а∨天堂免在线| 精品国产麻豆免费人成网站| 精品一区二区免费在线观看| 久久精品人人做| 成人午夜精品在线| 亚洲男女一区二区三区| 欧美亚洲综合另类| 丝袜亚洲精品中文字幕一区| 欧美电视剧在线观看完整版| 韩国精品久久久| 中文字幕在线观看不卡| 色成年激情久久综合| 午夜日韩在线观看| 精品1区2区在线观看| 国产成人一级电影| 亚洲精品视频一区二区| 欧美日韩成人综合在线一区二区| 蜜臀av国产精品久久久久| 国产日产欧美精品一区二区三区| 99久久亚洲一区二区三区青草| 一区二区三区在线免费视频| 欧美一区二区三区在线观看视频| 国精品**一区二区三区在线蜜桃| 国产日韩v精品一区二区| 色老综合老女人久久久| 日本网站在线观看一区二区三区| 久久久久久久久99精品| 欧美网站一区二区| 国产一区二区三区四区五区美女 |