CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  非技术区

各位路过的高手帮帮忙,如何读取2进制流文件?

楼主chinasu2001(箜)2005-04-04 17:38:05 在 Delphi / 非技术区 提问

如何用delhpi读取一个2进制流文件(*.dat),能以16进制读出最好!各位路过的高手帮帮忙.急急急!!!!先谢了! 问题点数:50、回复次数:3Top

1 楼HeLiang7(阿亮)回复于 2005-04-04 17:54:17 得分 50

用无类型文件就可以了:  
  对无类型文件数据的读写操作就可以利用数据块实现。可以利用B   l   o   c   k   R   e   a   d   (   )从无类型文件  
  读出数据,也可以利用B   l   o   c   k   Wr   i   t   e   (   )向无类型文件写入数据。  
  B   l   o   c   k   R   e   a   d   (   )和B   l   o   c   k   Wr   i   t   e   (   )都至少有三个参数。第一个是无类型文件变量f;第二个是包含写入或  
  读出的数据的缓冲区变量B   u   f;C   o   u   n   t则用来指定本次操作读写记录的数量。R   e   s   u   l   t是一个可选参数,  
  当进行读操作时,它返回实际读取的记录数目;当进行写操作时,它返回实际写入的记录数目。如果  
  R   e   s   u   l   t和C   o   u   n   t数值不一致则可能是磁盘空间不足。  
   
   
  var  
      UnTypedFile:   File;  
      Buffer:   array[0..128]   of   byte;  
      NumRecsRead:   Integer;  
  begin    
      AssignFile(UnTypedFile,   'SOMEFILE.DAT');  
      Reset(UnTypedFile);  
      try  
          BlockRead(UnTypedFile,   Buffer,   1,   NumRecsRead);  
      finally  
          CloseFile(UnTypedFile);  
      end;  
  end;  
   
   
  然后对Buffer中的内容进行分析就好了。Top

2 楼chinasu2001(箜)回复于 2005-04-04 18:07:28 得分 0

HeLiang7(阿亮)     Buffer中的内容还是一个2进制的吗?能否读成16进制的呢?如果这个*.dat很大,并且是实时进为数据,同时里面的数据不一定全是我想要的呢,那要如何解决?Top

3 楼chinasu2001(箜)回复于 2005-04-04 18:10:37 得分 0

*.dat为实时传送数据进来的文件!Top

相关问题

  • 怎么用VC读取一个文件夹中的内容&怎么创建一个文件夹,各位高手路过帮个忙,谢谢!!
  • 文件读取?
  • 读取文件?
  • 文件读取~
  • 文件读取。。。。。。
  • 文件读取
  • 读取文件
  • 文件读取
  • 一个读取文本文件的问题,请各位指教....
  • 读取ini文件失败!请教各位

关键词

  • 文件
  • 数据
  • r e
  • untypedfile
  • blo c k
  • 读取
  • 进制
  • 读出
  • 写入
  • 无类型文件

得分解答快速导航

  • 帖主:chinasu2001
  • HeLiang7

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo