第二十章开发delphi对象式数据管理功能一内容摘要:
Longint。 var Pos: Longint。 begin Pos := Seek(0, 1)。 Result := Seek(0, 2)。 Seek(Pos, 0)。 end。 2. TStream 方法的实现 ⑴ CopyFrom 方法 CopyFrom 是 Stream 对象中很有用的方法,它用于在不同存储媒介中拷贝数据。 例如,内存与外部文件 之间、内存与数据库字段之间等。 它简化了许多内存分配、文件打开和读写等的细节,将所有拷贝操作都统一到 Stream 对象上。 前面曾介绍: CopyFrom 方法带 Source 和 Count 两个参数并返回长整型。 该方法将 Count 个字节的内容从 Source 拷贝到当前流中,如果 Count 值为 0则拷贝所有数据。 function (Source: TStream。 Count: Longint): Longint。 const MaxBufSize = $F000。 var BufSize, N: Integer。 Buffer: PChar。 begin if Count = 0 then begin := 0。 CouNG=ZHCN资源文件中的部件时调用,通常程序员不需自己调用。 如果读取的不是资源文件 ReadResHeader,将触发异常事件。 procedure。 var ReadCount: Longint。 Header: array[0..79] of Char。 begin FillChar(Header, SizeOf(Header), 0)。 ReadCount := Read(Header, SizeOf(Header) 1)。 if (Byte((@Header[0])^) = $FF) and (Word((@Header[1])^) = 10) then Seek(StrLen(Header + 3) + 10 ReadCount, 1) else raise (SInvalidImage)。 end。 ReadComponentRes 在 Windows 资源文件中读取部件,为了判断是否是资源文件,它首先调用 ReadResHeader 方法,然后调用 ReadComponent 方法读取 Instance 指定的部件。 下面是它的实现: function (Instance: TComponent): TComponent。 begin ReadResHeader。 Result := ReadComponent(Instance)。 end。 与 ReadComponentRes 相应的写方法是 WriteComponentRes, Delphi 调用这两个方法读写窗体文件 (DFM 文件 ),在后面书中会举用这两个方法读取 DFM文件的例子。 ⑷ WriteComponent 和 WriteDescendant 方法 Stream 对象的 WriteDescendant 方法在实现过程中,创建了 TWriter 对象,然后利用 TWriter 的 WriteDescendant 方法将 Instance 写 入 流。 而WriteComponent 方法只是简单地调用 WriteDescendant 方法将 Instance 写入流。 它们的实现如下: procedure (Instance: TComponent)。 begin WriteDescendent(Instance, nil)。 end。 procedure (Instance, Ancestor: TComponent)。 var Writer: TWriter。 begin Writer := (Self, 4096)。 try (Instance, Ancestor)。 finally。 end。 end。 ⑸ WriteDescendantRes 和 WriteComponentRes 方法 WriteDescendantRes 方法用于将部件写入 Windows 资源文件;而WriteComponentRes 方法只是简单地调用 WriteDescendantRes 方法,它们的实现如下: procedure (const ResName: string。 Instance: TComponent)。 begin WriteDescendentRes(ResName, Instance, nil)。 end。 procedure (const ResName: string。 Instance, Ancestor: TComponent)。 var HeaderSize: Integer。 Origin, ImageSize: Longint。 Header: array[0..79] of Char。 begin Byte((@Header[0])^) := $FF。 Word((@Header[1])^) := 10。 HeaderSize := StrLen(StrUpper(StrPLCopy(@Header[3], ResName, 63))) + 10。 Word((@Header[HeaderSize 6])^) := $1030。 Longint((@Header[HeaderSize 4])^) := 0。 WriteBuffer(Header, HeaderSize)。 Origin := Position。 WriteDescendent(Instance, Ancestor)。 ImageSize := Position Origin。 Position := Origin 4。 WriteBuffer(ImageSize, SizeOf(Longint))。 Position := Origin + ImageSize。 end。 WriteCompnentRes 是与 ReadComponentRes 相应的对象写方法 ,这两个方法相互配合可读取 Delphi 的 DFM 文件,从而利用 Delphi 系统的功能。 THandleStream 对象 THandleStream 对象的行为特别象 FileStream 对象,所不同的是它通过已创建的文件句柄而不是文件名来存储流中的数据。 THandleStream 对象定义了 Handle 属性,该属性提供了对文件句柄的只读访问,并且 Handle 属性可以作为 Delphi 的 RTL 文件管理函数的参数,利用文件类函数来读写数据。 THandleStream 覆盖了构造函数 Create,该函数带有Handle 参数,该参数指定与 THandleStream 对象相关的文件句柄。 THandleStream 的属性的方法: 1. Handle 属性 声明: property Handle: Integer。 Handle 属性提供了对文件句柄的只读访问,该句柄由 THandleStream 的构造方法 Create 传入。 因此除了用 THandleStream 提供的方法外,也可以用文件管理函数对句柄进行操作。 实际上, THandleStream 的方法在实现上也是运用文件管理函 数进行实际的读写操作。 2. Create 方法 声明: constructor Create(AHandle: Integer)。 Create 方法使用传入的 Handle 参数创建一个与特定文件。第二十章开发delphi对象式数据管理功能一
相关推荐
是非可视化的。 但可以借助于静态 DFM文件的可视化设计。 这就是生成和使用动态 DFM 文件的第二种方法。 也就是在应用程序运行前,在 Delphi 开发环境中,使用可视化开发工具设计所需窗口或部件的样式,以 DFM 文件保存。 然后在应用程序运行过程中,将 DFM 文件读入内存。 Delphi 的 Stream 对象和 Filer 对象在读取 DFM 文件时,会根据
的实现。 它们在 TReader 中的实现如下: procedure (const Name: string。 ReadData: TReaderProc。 WriteData: TWriterProc。 HasData: Boolean)。 begin if CompareText(Name, FPropName) = 0 then begin ReadData(Self)。
利用卵磷脂溶解于乙醇,然后采用层析技术进一步充分除去卵磷脂浓缩液中残留的油脂和脂肪酸,最后利用超滤技术将卵磷脂浓缩液中的其它成分加以分离和 提纯 孙其昌 04675999123 13946810399 10 黑龙江乌苏里江制药有限公司 刺五加注射液脱色技术。 我公司生产的刺五加注射液为橙黄色澄明液体,色素为中药杂质之一,刺五加注射液标准以前是棕色澄明液体,现在是橙黄色澄明液体
+、葡萄糖等物质进入该细胞是采用 方式,而 O CO2 等则通过 方式进出细胞。 29. 1958 年美国科学家从胡萝卜韧皮部中取出一些细胞进行培养,最终获得了完整的新植株,请根据下面实验过程示意图分析回答: ( 1)过程 ① 在生物技术中称为 ,由单个细胞形成细胞团需要经过 过程。 ( 2)过程 ② 由细胞团形成胚状体要经过 过程,其结果是。 5 第二单元《生命的基本单位 —— 细胞》测试卷(
搭 界;有的虽然痛恨别人破坏生态的行为,对别人讲生态,但从不检点自己的行为,如不少人习惯于随意扔烟头垃圾,随意践踏花草,他们不懂得生态环境保护要从我做起。 2. 多元化的投入机制未形成,生态市建设的投入不足。 目前,生态市建设的投入主要依赖于政府,投资渠道单一,市场化、多元化的投融资体制尚未形成。 而我市财政仅仅是吃饭财政,无力加大对生态市建设的资金投入
•其创作分为三段: 1932 至抗战前为《大堰河》时期,抗战为《向太阳》时期,抗战 至建国为《布谷鸟》时期。 成就最高的是前两个时期,而以第二个时期最佳。 •“土地 ”和 “太阳 ”(农民和光明)是艾青诗歌的两大意象。 他的代表作大多与此有关。 如《大堰河 ——我的保姆》《太阳》《黎明》《煤的对话》《春》《复活的土地》《雪落在中国的土地上》《北方》《手推车》《我爱这土地》