编程教程
您现在的位置: 中国个人站长站 >> 网络编程 >> Delphi >> 教程正文 谈Delphi编程中“流”的应用--可读写信息在文件中
推荐位

谈Delphi编程中“流”的应用--可读写信息在文件中

中国个人站长站 Delphi 点击数: 更新时间:2005-8-28 11:19:09
 

因为文件结构相当的复杂,了解起来也是相当的困难,我们可以在不知道需要加工的文件的结构的前提下,采用了流的操作方式来往一个文件中写信息。采用流的方式有以下的好处:,简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具。在流中,定义了一些处理数据的基本操作,如读取数据,写入数据等,程序员是对流进行所有操作的,而不用关心流的另一头数据的真正流向。流不但可以处理文件,还可以处理动态内存、网络数据等多种数据形式。在程序中利用流的方便性,写起程序会大大提高效率的。 

编程环境是delphi6

Iaddinfo.exe应该要有的功能:

1、             可以随意的选择需要添加信息的文件 可使用驱动列表(DriveComboBox1)、路径列表(DirectoryListBox1)、文件列表(FileListBox1),并把他们关联起来。

2、             添加信息到所选定的文件中

                     先得判断是否选定了文件,没有则得提示用户得选定一个具体需要添加信息的文件。定一个全局布尔型的变量nofile,在创建主窗口的时候赋值nofile:=false,即没有选定文件,然后在选定文件的时候赋值nofile:=ture, 在点击addinfo按钮时即调用添加信息到文件是的函数,先得判断nofile的值是否为真,是的话才执行添加信息的代码,不是提示用户得选定一个具体需要添加信息的文件。

                     判断所选定的文件的属性,看是不是有只读属性,有的话则要去掉它的只读属性。if (faReadOnly=(attributes and faReadOnly)) then

begin

     attributes:=attributes-1;

qudiaoread:=SetFileAttributes(PChar(filenamet),attributes);

end

                     判断需要添加的信息(影名、价格)是否为空,如果是空的提示用户得编辑addinfo组框中的信息。

                     创建一个内存流strStream,以文件流的写方式打开一个选定的文件TargetStream,定位文件流TargetStream到文件的结尾处TargetStream.Seek(0,soFromEnd);把影名信息存到文件流中MemoName.Lines.SaveTOStream(strStream);并计好内存流strStream的大小temp,把价格信息存到内存流strStreamMemoPrice.Lines.SaveTOStream(strStream);把此时的内存流的大小减去前面内存流的大小temp就可以得到价格信息在内存流的大小了。把内存的信息全部拷贝到文件流TargetStreamTargetStream.CopyFrom(strStream,strStream.Size);再就是往文件流中添加一些控制信息,// myinfosize为辅助尾部的大小,namesize影名被添加到文件的位置,pricesize价格被添加到文件的位置

如图所示:

[1] [2] 下一页

教程录入:swh    责任编辑:swh 
个人站长站与你风雨同舟!
本站所提供的资源均来源于互联网,如有侵权行为,请与本站管理员联系,我们会第一时间删除!
·如果您发现《谈Delphi编程中“流”的应用--可读写信息在文件中》文章有错误,也请通知我们修改!
联系邮箱chinageren#126.com,谢谢支持!
站内搜索:
广告服务 | 友情链接 | 联系我们 | 免责声明 | 用户留言 | 网站导航
版权所有:中国个人站长站 2007-2008 未经授权禁止复制或建立镜像 客服QQ号:112731235
copyright © 2007-2008 www.ChinaGeRen.com online services. all rights reserved. 苏ICP备05000059号