我想在内存中开辟一块空间,这个空间由三部分组成,第一部分是头(用字符串常量HEAD表示,比如const HEAD='55555'), 第二部分是数据块大小批示器(用一个整型变量dataSize指示,比如integer dataSize=1024),第三部分是实际数据的字节块,由长度由dataSize指定。
因此分配的内存块的大小应该为:dataBlockSize=length(HEAD)+sizeof(integer)+dataSize,是不是?好,比如用函数GetMen(bufDataBlock,dataBlockSize)(其中 var bufDataBlock: Pointer)。
我的问题是:我要把HEAD的值'55555'填到bufDataBlock的第一个域中,把dataSize的值1024填到bufDataBlock的第二个域中,第三个域我要填的是从文件流中读出一个字节块,其大小由dataSize指示。怎么做这个填值操作呢?
顺便再一问下:如果我有了这一个数据块,我想把这三个域读出来,即第一个域我读到一个字符串变量中,第二域我读到一个整型变量中,第三个域我写到一个文件流中,这怎么做呢?
感激不尽!!!!!!!!!
因此分配的内存块的大小应该为:dataBlockSize=length(HEAD)+sizeof(integer)+dataSize,是不是?好,比如用函数GetMen(bufDataBlock,dataBlockSize)(其中 var bufDataBlock: Pointer)。
我的问题是:我要把HEAD的值'55555'填到bufDataBlock的第一个域中,把dataSize的值1024填到bufDataBlock的第二个域中,第三个域我要填的是从文件流中读出一个字节块,其大小由dataSize指示。怎么做这个填值操作呢?
顺便再一问下:如果我有了这一个数据块,我想把这三个域读出来,即第一个域我读到一个字符串变量中,第二域我读到一个整型变量中,第三个域我写到一个文件流中,这怎么做呢?
感激不尽!!!!!!!!!
解决方案 »
- delphi中怎么让线程运行
- delphi中事务机制的一点小疑问
- 请问哪位用过winrunner测试delphi开发的c/s客户端程序,我这里不能识别控件
- 想弄文档管理这么一个东西
- 有关DateTimePicker的使用(给高手加分我愿意)
- 哪位用过 QuickReport 4.0 的高手能告诉我原因?
- treeview中的内存释放问题
- 线程怎么终止不了呢?大家帮我看看代码!谢谢!!
- 为什么nmpop3收到的主题是乱码
- 那里有InstallShield for Delphi 6下载
- 为什么我的delphi6不能调试
- 请问在Delphi程序中调用DOS命令net use,如何在程序中取得net use执行后返回的信息
累不累啊?
用record不就行了?