通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 my小屋
联系我们
设为首页
加入收藏

 

qq,asp,php,jsp,xml,sql,.net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 网络赚钱 | 网站地图 | 广告服务 | 服务
当前位置:首页>>编程开发>>delphi>>正文 新版上线![旧版]
注:打开慢时请稍等
第二十章 开发delphi对象式数据管理功能(五)

http://www.iyit.net  日期:2006-5-3 20:40:40  来源:本站录入  点击:
参加讨论

20.3.1.1dfm文件的过程:writecomponentresfie

   该过程带有两个参数filenameinstancefilename参数指定要写入的dfm文件名,instance参数是tcomponent类型的,它指定要写入的部件名,一般是tform对象的子类。该过程将instance部件和其拥有的所有部件写入dfm文件。

  这个过程的意义在于,可以在程序运行过程中产生delphi的窗体部件和在窗体中插入部件,并由该函数将窗体写入dfm文件,支持了动态dfm文件的重用性。

  该过程的程序是这样的:

 

procedure writecomponentresfile(const filename: string; instance: tcomponent);

var

stream: tstream;

begin

stream := tfilestream.create(filename, fmcreate);

try

stream.writecomponentres(instance.classname, instance);

finally

stream.free;

end;

end;

 

  函数中,用filestream创建文件,用stream对象的writecomponetres方法将instance写入流中。

 

20.3.1.2 dfm文件的函数:readcomponentresfile

 

readcomponentresfile函数带有两个参数filenameinstancefilename参数指定要读dfm文件名,instance参数指定从dfm文件中要读的部件。该函数从dfm文件中将instance和它拥有的所有部件,并返回该部件。

  这个函数的意义在于,配合writecomponentresfile过程的使用支持dfm文件的重用性。

  该函数的程序是这样的:

 

function readcomponentresfile(const filename: string; instance: tcomponent):

tcomponent;

var

stream: tstream;

begin

stream := tfilestream.create(filename, fmopenread);

try

result := stream.readcomponentres(instance);

finally

stream.free;

end;

end;

 

  程序中使用filestream对象打开由filename指定的dfm文件,然后用stream对象的readcomponentres方法读出instance,并将读的结果作为函数的返回值。

 

20.3.1.3 读取delphi应用程序资源中的部件

 

  函数internalreadcomponentres可以读取delphi应用程序资源中的部件。delphi dfm文件在程序经过编译链接后被嵌入应用程序的资源中,而且格式发生了改变,即少了资源文件头。

在第一节中曾经介绍过tresourcestream对象,该对象是操作资源媒介上的数据的。函数internalreadcomponentres用了tresourcestream。程序是这样的:

 

function internalreadcomponentres(const resname: string;

var instance: tcomponent): boolean;

var

hrsrc: thandle;

begin { 避免“eresnotfound”异常事件的出现 }

hrsrc := findresource(hinstance, pchar(resname), rt_rcdata);

result := hrsrc <> 0;

if not result then exit;

freeresource(hrsrc);

with tresourcestream.create(hinstance, resname, rt_rcdata) do

try

instance := readcomponent(instance);

finally

free;

end;

result := true;

end;

 

  hinstance是一个delphi vcl定义的全局变量,代表当前应用程序的句柄。函数用了资源访问api函数findresource来测定是否存在resname所描述资源。因为在tresourcestream的创建过程还有findresource等操作,所以函数中调用了freeresource。最后函数调用了stream对象的readcomponent方法读出部件。因为函数的instancevar类型的参数,所以可以访问instance,得到读出的部件。

 

20.3.1.4 dfm文件与标准文本文件(txt文件)的相互转换

 

  在delphi可视化设计环境中,允许程序员在代码编辑器中以文本的方式浏览和修改dfm文件内容。当用file/open命令直接打开dfm文件或者选择窗体设计窗口的弹出式菜单上的view as text命令时,就会在编辑器中出现文本形式的信息。我们姑且将这种文本形式称之为窗体设计脚本。

本新闻共9页,当前在第1页  1  2  3  4  5  6  7  8  9  


编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:第二十章 开发delphi对象式数据管理功能(四)
下一篇:没有了
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
第二十章 开发delphi对象式数据管理功 第二十章 开发delphi对象式数据管理功 第二十章 开发delphi对象式数据管理功
第二十章 开发delphi对象式数据管理功 第十九章 delphi自定义部件开发(四) 第十九章 delphi自定义部件开发(三)
第十九章 delphi自定义部件开发(二) 第十九章 delphi自定义部件开发(一) 第十八章 delphi客户服务器应用开发(
第十八章 delphi客户服务器应用开发( 第十八章 delphi客户服务器应用开发( 第十八章 delphi客户服务器应用开发(
第十三章 delphi开发数据库应用程序概 第十三章 delphi开发数据库应用程序概 第十一章 delphi应用程序的应用(二)
第十一章 delphi应用程序的应用(一) 第九章 delphi拖放编程 第五章 delphi图形图像编程(二)
第五章 delphi图形图像编程(一) 第二章 delphi面向对象的编程方法(四 第二章 delphi面向对象的编程方法(三
第二章 delphi面向对象的编程方法(二 第二章 delphi面向对象的编程方法(一 第一章 delphi快速入门(五)
最新更新 热点排行 推荐新闻
第二十章 开发delphi对象式数据管理功
第二十章 开发delphi对象式数据管理功
第二十章 开发delphi对象式数据管理功
第二十章 开发delphi对象式数据管理功
第二十章 开发delphi对象式数据管理功
去除dw mx 2004表格宽度辅助
驯服不听话的网页表格
dw mx 2004代码编辑新功能
细品dw mx 2004内建fw技术
用 javascript 写的一个映射表类
dreamweaver里使用层的一些建议
表格边框魔鬼教程
用dreamweaver进行网页优化
用dreamweaver制作拖拽效果
寻找dreamweaver鲜为人知的小秘诀
第二十章 开发delphi对象式数据管理功
第二十章 开发delphi对象式数据管理功
第二十章 开发delphi对象式数据管理功
第二十章 开发delphi对象式数据管理功
第二十章 开发delphi对象式数据管理功
qq珊瑚虫外挂4.0版本发布!
多个广告位招商!
摄影后期系列一:1分钟为数码相片去红眼
教您显示器亮度对比度的调节
qq挂机说明
asp进度条
photoshop通道抠图:给秀发飞扬的mm照
新版上线,今日正式开通!!!
更多精彩图文广告等着您!
免费在qq上看在线电影电视听音乐
第二十章 开发delphi对象式数据管理功
第二十章 开发delphi对象式数据管理功
sql简明教程(1)
vbscript和javascript互相调用 
jsp教程(四)-jsp actions的使用
操作系统被入侵后的修复过程
五一别忘电脑防毒 养成良好上网习惯
google对ie浏览器将捆绑搜索功能表担忧
新版上线,今日正式开通!!!
用photoshop创意图形“岁月”
摄影后期系列一:1分钟为数码相片去红眼

 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
copyrights © 2004-2006 iyit.net all rights reserved.
网站合作、广告联系qq:147007642、466949678
易特网络技术 点击这里给我发消息