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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 051.htm

?? delphi教程
?? HTM
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
<p> </p>
<p>  </font><font face="Arial">1. Capacity</font><font face="宋體" lang="ZH-CN">屬性</p>
<p>  聲明:</font><font face="Arial">property Copacity: Longint; </p>
<p>Capacity</font><font face="宋體" lang="ZH-CN">屬性決定了分配給內(nèi)存流的內(nèi)存池的大小。這與</font><font
face="Arial">Size</font><font face="宋體" lang="ZH-CN">屬性有些不同。</font><font
face="Arial">Size</font><font face="宋體" lang="ZH-CN">屬性是描述流中數(shù)據(jù)的大小。在程序中可以將</font><font
face="Arial">Capacity </font><font face="宋體" lang="ZH-CN">的值設(shè)置的比數(shù)據(jù)所需最大內(nèi)存大一些,這樣可以避免頻繁地重新分配。</p>
<p>  </font><font face="Arial">2. Realloc</font><font face="宋體" lang="ZH-CN">方法</p>
<p>  聲明:</font><font face="Arial">function Realloc(var NewCapacity: Longint):
Pointer; virtual; </p>
<p>Realloc</font><font face="宋體" lang="ZH-CN">方法,以</font><font face="Arial">8K</font><font
face="宋體" lang="ZH-CN">為單位分配動(dòng)態(tài)內(nèi)存,內(nèi)存的大小由</font><font
face="Arial">NewCapacity</font><font face="宋體" lang="ZH-CN">指定,函數(shù)返回指向所分配內(nèi)存的指針。</p>
<p>  </font><font face="Arial">3. SetSize</font><font face="宋體" lang="ZH-CN">方法</p>
<p>  </font><font face="Arial">SetSize</font><font face="宋體" lang="ZH-CN">方法消除內(nèi)存流中包含的數(shù)據(jù),并將內(nèi)存流中內(nèi)存池的大小設(shè)為</font><font
face="Arial">Size</font><font face="宋體" lang="ZH-CN">字節(jié)。如果</font><font
face="Arial">Size</font><font face="宋體" lang="ZH-CN">為零,是</font><font
face="Arial">SetSize</font><font face="宋體" lang="ZH-CN">方法將釋放已有的內(nèi)存池,并將</font><font
face="Arial">Memory</font><font face="宋體" lang="ZH-CN">屬性置為</font><font
face="Arial">nil</font><font face="宋體" lang="ZH-CN">;否則,</font><font
face="Arial">SetSize</font><font face="宋體" lang="ZH-CN">方法將內(nèi)存池大小調(diào)整為</font><font
face="Arial">Size</font><font face="宋體" lang="ZH-CN">。</font><font face="Arial"></p>
<p>4. Clear</font><font face="宋體" lang="ZH-CN">方法</p>
<p>  聲明:</font><font face="Arial">procedure Clear; </p>
<p>Clear</font><font face="宋體" lang="ZH-CN">方法釋放內(nèi)存中的內(nèi)存池,并將</font><font
face="Arial">Memory</font><font face="宋體" lang="ZH-CN">屬性置為</font><font
face="Arial">nil</font><font face="宋體" lang="ZH-CN">。在調(diào)用</font><font
face="Arial">Clear</font><font face="宋體" lang="ZH-CN">方法后,</font><font
face="Arial">Size</font><font face="宋體" lang="ZH-CN">和</font><font face="Arial">Position</font><font
face="宋體" lang="ZH-CN">屬性都為</font><font face="Arial">0</font><font
face="宋體" lang="ZH-CN">。</p>
<p>  </font><font face="Arial">5. LoadFromStream</font><font face="宋體"
lang="ZH-CN">方法</p>
<p>  聲明:</font><font face="Arial">procedure LoadFromStream(Stream: TStream); </p>
<p>LoadFromStream</font><font face="宋體" lang="ZH-CN">方法將</font><font
face="Arial">Stream</font><font face="宋體" lang="ZH-CN">指定的流中的全部?jī)?nèi)容復(fù)制到</font><font
face="Arial">MemoryStream</font><font face="宋體" lang="ZH-CN">中,復(fù)制過(guò)程將取代已有內(nèi)容,使</font><font
face="Arial">MemoryStream</font><font face="宋體" lang="ZH-CN">成為</font><font
face="Arial">Stream</font><font face="宋體" lang="ZH-CN">的一份拷貝。</p>
<p>  </font><font face="Arial">6. LoadFromFile</font><font face="宋體" lang="ZH-CN">方法</p>
<p>  聲明:</font><font face="Arial">procedure LoadFromFile(count FileName:
String); </p>
<p>LoadFromFile</font><font face="宋體" lang="ZH-CN">方法將</font><font face="Arial">FileName</font><font
face="宋體" lang="ZH-CN">指定文件的所有內(nèi)容復(fù)制到</font><font face="Arial">MemoryStream</font><font
face="宋體" lang="ZH-CN">中,并取代已有內(nèi)容。調(diào)用</font><font face="Arial">LoadFromFile</font><font
face="宋體" lang="ZH-CN">方法后,</font><font face="Arial">MemoryStream</font><font
face="宋體" lang="ZH-CN">將成為文件內(nèi)容在內(nèi)存中的完整拷貝。</p>
<p> </font><font face="Arial"></p>
<p>20.1.5.2 TMemoryStream</font><font face="宋體" lang="ZH-CN">對(duì)象的實(shí)現(xiàn)原理</p>
<p> </p>
<p>  </font><font face="Arial">TMemoryStream</font><font face="宋體" lang="ZH-CN">從</font><font
face="Arial">TCustomMemoryStream</font><font face="宋體" lang="ZH-CN">對(duì)象直接繼承,因此可以享用</font><font
face="Arial">TCustomMemoryStream</font><font face="宋體" lang="ZH-CN">的屬性和方法。前面講過(guò),</font><font
face="Arial">TCustomMemoryStream</font><font face="宋體" lang="ZH-CN">是用于內(nèi)存中數(shù)據(jù)操作的抽象對(duì)象,它為</font><font
face="Arial">MemoryStream</font><font face="宋體" lang="ZH-CN">對(duì)象的實(shí)現(xiàn)提供了框架,框架中的內(nèi)容還要由具體</font><font
face="Arial">MemoryStream</font><font face="宋體" lang="ZH-CN">對(duì)象去填充。</font><font
face="Arial">TMemoryStream</font><font face="宋體" lang="ZH-CN">對(duì)象就是按動(dòng)態(tài)內(nèi)存管理的需要填充框架中的具體內(nèi)容。下面介紹</font><font
face="Arial">TMemoryStream</font><font face="宋體" lang="ZH-CN">對(duì)象的實(shí)現(xiàn)。</p>
<p>  </font><font face="Arial">1. TMemoryStream</font><font face="宋體" lang="ZH-CN">屬性的實(shí)現(xiàn)</p>
<p>  </font><font face="Arial">TMemoryStream</font><font face="宋體" lang="ZH-CN">在其</font><font
face="Arial">protected</font><font face="宋體" lang="ZH-CN">部分增加了一個(gè)</font><font
face="Arial">Capacity</font><font face="宋體" lang="ZH-CN">屬性,該屬性決定了</font><font
face="Arial">MemoryStream</font><font face="宋體" lang="ZH-CN">所占動(dòng)態(tài)內(nèi)存的大小。</font><font
face="Arial">TMemoryStream</font><font face="宋體" lang="ZH-CN">首先在</font><font
face="Arial">private</font><font face="宋體" lang="ZH-CN">部分聲明了</font><font
face="Arial">FCapacity</font><font face="宋體" lang="ZH-CN">變量作為存儲(chǔ)</font><font
face="Arial">Capacity</font><font face="宋體" lang="ZH-CN">屬性值的數(shù)據(jù)域,然后在</font><font
face="Arial">protected</font><font face="宋體" lang="ZH-CN">部分聲明了該屬性。在屬性聲明的讀控制部分簡(jiǎn)單讀取</font><font
face="Arial">FCapacity</font><font face="宋體" lang="ZH-CN">的值,在寫控制處調(diào)用了方法</font><font
face="Arial">SetCapacity</font><font face="宋體" lang="ZH-CN">。該方法除了給</font><font
face="Arial">FCapacity</font><font face="宋體" lang="ZH-CN">賦值外還執(zhí)行了修改</font><font
face="Arial">Capacity</font><font face="宋體" lang="ZH-CN">屬性所必需操作如狀態(tài)改變等。</p>
<p>  下面是屬性的實(shí)現(xiàn):</p>
<p> </p>
<p></font><font face="Arial">TMemoryStream = class(TCustomMemoryStream)</p>
<p>private</p>
<p>FCapacity: Longint;</p>
<p>procedure SetCapacity(NewCapacity: Longint);</p>
<p>protected</p>
<p></font><font face="宋體" lang="ZH-CN">…</p>
<p></font><font face="Arial">property Capacity: Longint read FCapacity write SetCapacity;</p>
<p>public</p>
<p></font><font face="宋體" lang="ZH-CN">…</p>
<p></font><font face="Arial">end;</p>
<p></font> <font face="宋體" lang="ZH-CN"></p>
<p>  寫控制方法</font><font face="Arial">SetCapacity</font><font face="宋體"
lang="ZH-CN">的實(shí)現(xiàn)是這樣的:</p>
<p> </p>
<p></font><font face="Arial">procedure TMemoryStream.SetCapacity(NewCapacity: Longint);</p>
<p>begin</p>
<p>SetPointer(Realloc(NewCapacity), FSize);</p>
<p>FCapacity := NewCapacity;</p>
<p>end;</p>
<p></font> <font face="宋體" lang="ZH-CN"></p>
<p>  在</font><font face="Arial">SetCapacity </font><font face="宋體" lang="ZH-CN">方法先是調(diào)用</font><font
face="Arial">Realloc</font><font face="宋體" lang="ZH-CN">重新分配內(nèi)存,然后用</font><font
face="Arial">NewCapacity</font><font face="宋體" lang="ZH-CN">的值給</font><font
face="Arial">FCapacity</font><font face="宋體" lang="ZH-CN">賦值。</font><font
face="Arial">Realloc</font><font face="宋體" lang="ZH-CN">方法進(jìn)行某些對(duì)象狀態(tài)的改變。</p>
<p>  </font><font face="Arial">2. TMemoryStream</font><font face="宋體" lang="ZH-CN">對(duì)象方法的實(shí)現(xiàn)</p>
<p>  ⑴</font><font face="Arial"> Realloc</font><font face="宋體" lang="ZH-CN">方法</p>
<p>  </font><font face="Arial">Realloc</font><font face="宋體" lang="ZH-CN">方法是</font><font
face="Arial">TMemoryStream</font><font face="宋體" lang="ZH-CN">動(dòng)態(tài)內(nèi)存分配的核心,它的</font><font
face="Arial">SetSize</font><font face="宋體" lang="ZH-CN">、</font><font face="Arial">SetCapacity</font><font
face="宋體" lang="ZH-CN">等方法最終都是調(diào)用</font><font face="Arial">Realloc</font><font
face="宋體" lang="ZH-CN">進(jìn)行內(nèi)存的分配和初始化工作的。它的實(shí)現(xiàn)如下:</p>
<p> </p>
<p></font><font face="Arial">const</p>
<p>MemoryDelta = $2000; </p>
<p></font> <font face="Arial"></p>
<p>function TMemoryStream.Realloc(var NewCapacity: Longint): Pointer;</p>
<p>begin</p>
<p>if NewCapacity &gt; 0 then</p>
<p>NewCapacity := (NewCapacity + (MemoryDelta - 1)) and not (MemoryDelta - 1);</p>
<p>Result := Memory;</p>
<p>if NewCapacity &lt;&gt; FCapacity then</p>
<p>begin</font><font face="宋體" lang="ZH-CN"></p>
<p></font><font face="Arial">if NewCapacity = 0 then</font><font face="宋體"
lang="ZH-CN"></p>
<p></font><font face="Arial">begin</p>
<p>GlobalFreePtr(Memory);</p>
<p>Result := nil;</p>
<p>end else</p>
<p>begin</p>
<p>if Capacity = 0 then</p>
<p>Result := GlobalAllocPtr(HeapAllocFlags, NewCapacity)</p>
<p>else</p>
<p>Result := GlobalReallocPtr(Memory, NewCapacity, HeapAllocFlags);</p>
<p>if Result = nil then raise EStreamError.CreateRes(SMemoryStreamError);</p>
<p>end;</p>
<p>end;</p>
<p>end;</p>
<p></font> <font face="宋體" lang="ZH-CN"></p>
<p>  </font><font face="Arial">Realloc</font><font face="宋體" lang="ZH-CN">方法是以</font><font
face="Arial">8K</font><font face="宋體" lang="ZH-CN">為單位分配動(dòng)態(tài)內(nèi)存的,方法中的第一句</font><font
face="Arial">if</font><font face="宋體" lang="ZH-CN">語(yǔ)句就是執(zhí)行該操作。如果傳入的</font><font
face="Arial">NewCapacity</font><font face="宋體" lang="ZH-CN">參數(shù)值為</font><font
face="Arial">0</font><font face="宋體" lang="ZH-CN">,則釋放流中的內(nèi)存。</font><font
face="Arial">Realloc</font><font face="宋體" lang="ZH-CN">方法用</font><font
face="Arial">GLobal FreePtr</font><font face="宋體" lang="ZH-CN">函數(shù)釋放內(nèi)存,用</font><font
face="Arial">GlobalAllocPtr</font><font face="宋體" lang="ZH-CN">分配內(nèi)存,用</font><font
face="Arial">GlobalReallocPtr</font><font face="宋體" lang="ZH-CN">進(jìn)行內(nèi)存的重分配。如果原來(lái)的</font><font
face="Arial">Capacity</font><font face="宋體" lang="ZH-CN">屬性值為</font><font
face="Arial">0</font><font face="宋體" lang="ZH-CN">,則調(diào)用</font><font
face="Arial">Globa|AllocPtr</font><font face="宋體" lang="ZH-CN">否則調(diào)用</font><font
face="Arial">GlobalReallocPtr</font><font face="宋體" lang="ZH-CN">。最后如果</font><font
face="Arial">Result</font><font face="宋體" lang="ZH-CN">為</font><font face="Arial">nil</font><font
face="宋體" lang="ZH-CN">則觸發(fā)內(nèi)存流錯(cuò)的異常事件,否則返回指向分配的內(nèi)存的指針。</p>
<p> ?、?lt;/font><font face="Arial"> Write</font><font face="宋體" lang="ZH-CN">方法</p>
<p>  </font><font face="Arial">Write</font><font face="宋體" lang="ZH-CN">方法從內(nèi)存流內(nèi)部緩沖池的當(dāng)前位置開(kāi)始寫入二進(jìn)制數(shù)據(jù)。其實(shí)現(xiàn)如下:</p>
<p> </p>
<p></font><font face="Arial">function TMemoryStream.Write(const Buffer; Count: Longint):
Longint;</p>
<p>var</p>
<p>Pos: Longint;</p>
<p>begin</p>
<p>if (FPosition &gt;= 0) and (Count &gt;= 0) then</p>
<p>begin</p>
<p>Pos := FPosition + Count;</p>
<p>if Pos &gt; 0 then</p>
<p>begin</p>
<p>if Pos &gt; FSize then</p>
<p>begin</p>
<p>if Pos &gt; FC

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕不卡在线观看| 一区二区三区精品在线观看| 色婷婷久久一区二区三区麻豆| 亚洲一区二区三区自拍| 国产蜜臀av在线一区二区三区| 在线观看日韩av先锋影音电影院| 国产一区二区不卡在线| 偷拍自拍另类欧美| 中文字幕在线一区免费| 精品卡一卡二卡三卡四在线| 欧美视频一区二区三区四区 | 秋霞成人午夜伦在线观看| 国产精品美女久久久久久久| 日韩一区二区三区在线观看| 欧美中文字幕久久| www.av精品| 国产在线麻豆精品观看| 日韩福利电影在线观看| 亚洲欧美日韩中文播放| 国产精品欧美经典| 精品久久久久久久人人人人传媒| 91福利精品第一导航| 99视频有精品| 丁香五精品蜜臀久久久久99网站 | 成人免费不卡视频| 韩日精品视频一区| 麻豆国产欧美日韩综合精品二区| 亚洲综合成人在线视频| 亚洲桃色在线一区| 国产精品色哟哟网站| 国产喂奶挤奶一区二区三区| 久久久久久免费毛片精品| 精品理论电影在线| 精品久久久久香蕉网| 欧美一区二区三区视频在线| 欧美日韩dvd在线观看| 欧美在线啊v一区| 色综合天天综合狠狠| av资源网一区| 色综合久久天天| 色就色 综合激情| 色成人在线视频| 在线观看av一区二区| 在线观看亚洲成人| 欧美三级韩国三级日本一级| 欧美日韩在线免费视频| 91麻豆精品国产综合久久久久久 | 高清成人在线观看| 丰满少妇久久久久久久| 丁香婷婷综合色啪| 99久久婷婷国产| 91久久线看在观草草青青 | 国产欧美综合在线观看第十页 | 日韩欧美在线影院| 精品国产一区二区三区久久影院| 久久欧美中文字幕| 亚洲国产电影在线观看| 国产精品乱码一区二区三区软件| 亚洲欧洲美洲综合色网| 依依成人综合视频| 亚洲国产精品久久久久秋霞影院| 偷拍自拍另类欧美| 国产呦萝稀缺另类资源| 夫妻av一区二区| 91玉足脚交白嫩脚丫在线播放| 欧美午夜精品一区| 欧美成人猛片aaaaaaa| 久久久国产精品午夜一区ai换脸 | 久久国产欧美日韩精品| 国产精品一区二区三区网站| 99re成人精品视频| 欧美一区二区啪啪| 中文字幕高清一区| 午夜精品爽啪视频| 国产一区三区三区| 91福利视频久久久久| 精品日韩一区二区三区| 日韩毛片一二三区| 日韩制服丝袜av| 成人免费视频视频在线观看免费 | 亚洲色图在线视频| 日韩综合在线视频| 成人精品小蝌蚪| 4hu四虎永久在线影院成人| 国产日韩欧美精品一区| 亚洲精品免费一二三区| 久久国产夜色精品鲁鲁99| av成人免费在线观看| 91精品国产综合久久精品性色| 日本一区二区三级电影在线观看 | 久久女同互慰一区二区三区| 伊人开心综合网| 国产做a爰片久久毛片| 欧美亚洲日本一区| 欧美激情一区二区三区| 日本91福利区| 99国产精品久久| 久久久亚洲国产美女国产盗摄| 亚洲一区二区三区美女| 国产成人精品影视| 欧美一区二区在线看| 亚洲精品中文在线| 国产.精品.日韩.另类.中文.在线.播放| 欧美日韩久久不卡| 亚洲码国产岛国毛片在线| 国产福利一区在线| 欧美电影免费观看高清完整版在| 一区二区三区四区蜜桃| 不卡av免费在线观看| 久久精品视频免费观看| 久久99热狠狠色一区二区| 欧美日本乱大交xxxxx| 综合激情网...| 国产成人亚洲综合a∨猫咪| 日韩一卡二卡三卡| 午夜私人影院久久久久| 91蜜桃在线观看| 中文字幕高清不卡| 国产精品88888| 2023国产精品自拍| 精品一二线国产| 欧美不卡一区二区三区四区| 首页欧美精品中文字幕| 欧美日韩一区 二区 三区 久久精品| 椎名由奈av一区二区三区| 成人高清视频在线| 国产精品三级av| 成人做爰69片免费看网站| 中文字幕高清不卡| 成人av在线播放网站| 国产精品欧美久久久久无广告 | 欧美揉bbbbb揉bbbbb| 一区二区三区精品视频在线| 色88888久久久久久影院按摩| 国产精品灌醉下药二区| 成人精品鲁一区一区二区| 国产欧美日韩亚州综合| 懂色av一区二区夜夜嗨| 国产精品久久久久婷婷 | 欧美哺乳videos| 极品销魂美女一区二区三区| 欧美va日韩va| 国产精品一区三区| 国产精品日韩精品欧美在线| 成a人片亚洲日本久久| 亚洲视频综合在线| 欧美最猛黑人xxxxx猛交| 亚洲福利视频一区| 在线电影院国产精品| 免费观看在线综合色| 久久久三级国产网站| 成人av手机在线观看| 一区二区三区中文字幕精品精品| 在线观看网站黄不卡| 日本不卡一二三| 国产亚洲精品7777| 99re视频精品| 天堂成人国产精品一区| 欧美电视剧在线看免费| 成人综合在线观看| 一区二区三区中文在线观看| 欧美一区二区私人影院日本| 国内欧美视频一区二区| 国产精品欧美综合在线| 欧美最新大片在线看| 久久精品国产澳门| 中文字幕成人在线观看| 欧美日韩在线三区| 国产在线精品视频| 一区二区三区不卡视频在线观看| 欧美福利视频导航| 国产成人免费在线| 亚洲精品成a人| 日韩一级片在线观看| 99在线精品视频| 日韩av中文在线观看| 国产精品网站一区| 欧美日本国产一区| 国产成人免费视| 午夜精品福利久久久| 久久久亚洲精品一区二区三区 | 欧美国产精品一区二区| 欧美午夜精品久久久久久超碰| 韩国女主播一区| 一区二区三区中文字幕精品精品| 精品国产91乱码一区二区三区| 99久精品国产| 久久精品国产99| 亚洲一区二区不卡免费| 久久久激情视频| 91精品在线麻豆| 99国产精品国产精品久久| 久久91精品久久久久久秒播| 亚洲精品第1页| 国产欧美日韩综合| 日韩视频免费观看高清在线视频| 一本久道中文字幕精品亚洲嫩 | 欧美日韩免费在线视频| 国产91精品一区二区麻豆网站| 午夜视频一区二区三区|