比如:
一个二进制文件长100Byte,删除11-20Byte部分,删除后长为90Byte
一个二进制文件长100Byte,删除11-20Byte部分,删除后长为90Byte
解决方案 »
- 怎么用delphi调用php写的webservice?
- 求高手解决,字符串包含问题。
- 菜菜问题一
- 控制Excel时老是死进程??
- 怎么得知用CreateOleObject创建出来的对象的属性和函数啊???急
- 关闭窗口时发生异常的问题,UP有分
- 在线等待中,关于table表的问题
- Delphi5 和 Delphi6 的版本问题
- FastReport显示问题
- 求两年月日之间的天数 急救!!!
- 数据库中的日期型字段例如:2003-2-27 9:45:12,在程序中使用TDateTime型的变量显示到文本框中无论如何都出不来时间,只有日期,成了2003
- 山大计算机学院研究生,希望在济南做兼职程序员,请看简历
var
fs: TFileStream;
ms: TMemoryStream;
buffer: array [0..9] of Char;
begin
// 删除
fs := TFileStream.Create('d:\test', fmOpenReadWrite);
ms := TMemoryStream.Create;
ms.CopyFrom(fs, 10);
fs.Position := fs.Position + 10; // 跳过10个字节
ms.CopyFrom(fs, fs.Size-fs.Position);
ms.Position := 0;
fs.Position := 0;
fs.Size := 0;
fs.CopyFrom(ms, ms.Size); // 回写
fs.Free;
ms.Free; // 插入
FillChar(buffer, 10, $0F);
fs := TFileStream.Create('d:\test', fmOpenReadWrite);
ms := TMemoryStream.Create;
ms.CopyFrom(fs, 10);
ms.Write(buffer, 10); // 插入10个$0F
ms.CopyFrom(fs, fs.Size-fs.Position);
ms.Position := 0;
fs.Position := 0;
fs.Size := 0;
fs.CopyFrom(ms, ms.Size); // 回写
fs.Free;
ms.Free;
end;
只是Create/OpenFileMapping不同
而且使用的是指针