Delphi 2010:如何将整个记录保存到文件?
发布时间:2020-12-15 10:16:06 所属栏目:大数据 来源:网络整理
导读:我已经定义了一个记录,它有许多不同类型的字段(整数,实数,字符串,…加上动态数组的“数组…”)。 我想将它作为一个整体保存到文件中,然后可以将其加载回我的程序。我不想单独保存每个字段的值。 文件类型(binary或ascii或…)不重要,因为Delphi可以将其
我已经定义了一个记录,它有许多不同类型的字段(整数,实数,字符串,…加上动态数组的“数组…”)。
我想将它作为一个整体保存到文件中,然后可以将其加载回我的程序。我不想单独保存每个字段的值。 文件类型(binary或ascii或…)不重要,因为Delphi可以将其读回记录。 你有什么建议吗? 解决方法
只要您不使用动态数组,就可以直接将流记录的内存加载到流中。所以如果你使用字符串,你需要使它们固定:
type TTestRecord = record FMyString : string[20]; end; var rTestRecord: TTestRecord; strm : TMemoryStream; strm.Write(rTestRecord,Sizeof(TTestRecord) ); 您甚至可以一次加载或保存一组记录! type TRecordArray = array of TTestRecord; var ra : TRecordArray; strm.Write(ra[0],SizeOf(TTestRecord) * Length(ra)); 如果你想写动态内容: iCount := Length(aArray); strm.Write(iCount,Sizeof(iCount) ); //first write our length strm.Write(aArray[0],SizeOf * iCount); //then write content 之后,您可以阅读: strm.Read(iCount,Sizeof(iCount) ); //first read the length SetLength(aArray,iCount); //then alloc mem strm.Read(aArray[0],SizeOf * iCount); //then read content (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- [VB.NET]救命,mStream.Write()执行完后,内存不能释放.急呀.
- string – tokenize的问题
- POJ 2429 GCD & LCM Inverse Pollard_rho大数因子分解
- java – Spring 3的新特性是什么(与Spring 2.5相比)?
- Go/Golang 语言学习笔记总结
- perl字符串转义以及字符串含.号等特殊符号时的用法
- Laravel 4 初级教程之Pages、表单验证
- Lua学习(五)----表
- groovy运行期间动态添加属性和方法
- SEC204 – Computer Architecture and Low Level Programmi