| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 907 人关注过本帖
标题:[求助]什么是文本文件设备驱动程序?能给个简单例子么?
取消只看楼主 加入收藏
anthony634
Rank: 6Rank: 6
来 自:西南交大
等 级:贵宾
威 望:24
帖 子:653
专家分:10
注 册:2006-6-8
结帖率:100%
收藏
 问题点数:0 回复次数:2 
[求助]什么是文本文件设备驱动程序?能给个简单例子么?

可以为程序定义自身的文本文件设备驱动程序。文本文件设备驱动程序是一套四个函数,这些函数完整地实现了Object Pascal文件系统和某个设备之间的接口。

用于定义每个设备驱动程序的四个函数是Open、InOut、Flush和Close。每个函数的首部都是

function DeviceFunc(var F: TTextRec): Integer;

这里的DeviceFunc是函数名称(即Open、InOut、Flush或Close)。设备接口函数的返回值将成为IOResult函数的返回值。如果返回值是零,那么操作是成功的。

要关联设备接口函数到指定的文件,必须编写定制的Assign过程。Assign过程必须将四个设备接口函数的地址指定到在文本文件变量中的四个函数指针。此外,还应当存储fmClosed常量到Mode字段,存储文本文件缓冲区的尺寸到BufSize,存储指向文本文件缓冲区的指针到BufPtr,并且清除Name串。

例如,假定四个设备接口函数依次为DevOpen、DevInOut、DevFlush和DevClose,那么Assign过程可以如下定义:

procedure AssignDev(var F: Text);

begin

with TTextRec(F) do

begin

Mode := fmClosed;

BufSize := SizeOf(Buffer);

BufPtr := @Buffer;

OpenFunc := @DevOpen;

InOutFunc := @DevInOut;

FlushFunc := @DevFlush;

CloseFunc := @DevClose;

Name[0] := #0;

end;

end;

设备接口函数可以使用文件记录中的UserData字段来存储私有信息。该字段在任何时候都不能由产品文件系统修改。

怎么使用呢?谁能给我个例子啊,谢谢

搜索更多相关主题的帖子: 文本文件设备 函数 例子 驱动 
2007-03-28 11:30
anthony634
Rank: 6Rank: 6
来 自:西南交大
等 级:贵宾
威 望:24
帖 子:653
专家分:10
注 册:2006-6-8
收藏
得分:0 
高手都不愿意回答基础问题啊?
2007-03-29 11:18
anthony634
Rank: 6Rank: 6
来 自:西南交大
等 级:贵宾
威 望:24
帖 子:653
专家分:10
注 册:2006-6-8
收藏
得分:0 
孤独的delphi
2007-03-29 12:52
快速回复:[求助]什么是文本文件设备驱动程序?能给个简单例子么?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030654 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved