DFM文件与XML文件互转
来源:互联网 发布:snmp获取linux信息 编辑:程序博客网 时间:2024/05/22 02:08
在:DFM文件与XML文件互转 中,用到的dfm文件必须为文本格式, 如果是二进制格式, 处理就会出错.
但是在处理中如何判断dfm是二进制文件, 而且再将二进制文件转为文本格式呢. ---
dfm文件二进制格式时, 其文件会加一个文件头, 其中前3个字节来标识其为二进制, 这三个字节分别为:$FF, $0A, $00. 因为这三个字节在文本类型的文件中是不可能存在的,所以可以判断这3个字节就可以了.
function IsBinDfm(const ADfmFileName: string): Boolean;Var mBinStream:TMemoryStream; mBuff : array [0..2] of byte;begin mBinStream := TMemoryStream.Create; try mBinStream.LoadFromFile(ADfmFileName); mBinStream.Read(mBuff, 3); //前三字节: $FF, $0A, $00 if (mBuff[0] = $FF) and (mBuff[1] = $0A) and (mBuff[2]= $00) then Result := True else Result := False; finally mBinStream.Free; end;end;
判断出来后, 再将二进制转为文本格式就容易了.Delphi提供了ObjectResourceToText函数.写法如下:
procedure DfmBin2Txt(ADfmFileName: string);Var inFileStream: TMemoryStream; outFileStream: TFileStream;begin inFileStream := TMemoryStream.Create; inFileStream.LoadFromFile(ADfmFileName); try outFileStream := TFileStream.Create(ADfmFileName, fmCreate); try try inFileStream.Seek(0, soFromBeginning); ObjectResourceToText(inFileStream, outFileStream); except Raise Exception.Create('This dfm is bin, error on trans bin to txt.'); end; finally outFileStream.Free; end; finally inFileStream.Free; end;end;
至此,大功告成!
- DFM文件与XML文件互转
- DFM文件与XML文件互转
- DFM文件与标准文本文件转换
- cnpack转换dfm文件
- 分析DFM文件生成界面
- 动态DFM文件应用揭秘
- Delphi动态DFM文件应用
- 分析DFM文件生成程序界面
- delphi下动态保存dfm文件- -
- 写DFM文件的过程:WriteComponentResFie
- DFM文件中读写 TReader对象
- Java对象与xml文件互转
- DFM文件以及写该文章的原因等等
- Delphi窗体文件(*.dfm)批量转换为Text格式
- DFM文件中读写 TReader对象的实现
- DFM文件中读写 TWriter对象的实现
- Delphi 的DFM文件乱码无法编译的终极解决办法
- XSD文件与xml 文件
- MFC SDI: How do I create transparent SDI views
- VC++数据类型转换
- c代码指针2例
- Google十诫(转)
- wince中如何支持sqlce3.0
- DFM文件与XML文件互转
- Linux 动态库剖析
- SQL中系统临时表的使用和禁忌 及 Exec(SQLScript) 的使用
- 用于查询当前数据库中所有表格的记录条数的脚本
- 金融危机-我们的工作
- 利用开源技术建立数据仓库
- Deleting Entries in the Application Log
- 月坨岛摇滚音乐节
- Jbuilder开发环境配置连接池常见错误及解决