var
stream:TFileStream;
Buffer: Pointer;
size:integer;
fn:String;
begin
fn:='e:\001.dat';
if FileExists(fn) then begin
Stream := TFileStream.Create(fn, fmOpenReadWrite or fmShareExclusive);
size:=stream.Size;
if Size>=10 then begin
size := size - 10;
if size>0 then begin
getmem(buffer,size);
stream.Seek(10,soBeginning);
stream.Read(buffer^,size);
end; stream.Seek(10,soBeginning);
stream.Write('III',3);
if size>0 then begin
stream.Write(buffer^,size);
freemem(buffer);
end;
end;
stream.Free;
end;
end;
stream:TFileStream;
Buffer: Pointer;
size:integer;
fn:String;
begin
fn:='e:\001.dat';
if FileExists(fn) then begin
Stream := TFileStream.Create(fn, fmOpenReadWrite or fmShareExclusive);
size:=stream.Size;
if Size>=10 then begin
size := size - 10;
if size>0 then begin
getmem(buffer,size);
stream.Seek(10,soBeginning);
stream.Read(buffer^,size);
end; stream.Seek(10,soBeginning);
stream.Write('III',3);
if size>0 then begin
stream.Write(buffer^,size);
freemem(buffer);
end;
end;
stream.Free;
end;
end;
解决方案 »
- 求助web service 对数据库的操作
- dbgridEh 更换为 cxGrid 之后,窗体退出出现地址错误
- CodeGear Delphi 中的编译错误"Undeclared identifier XXX"
- 关于SPCOMM直接读取串口的问题
- ADO 刷新
- 关于Com调用的问题,高手请进!!!
- prosessmessages函数怎么用?
- ★★★还是关于那个特殊的for循环!你们说的不对!!这是答案,看看吧!!
- 帮帮忙,兄弟们,关于编历,送分
- *******请问各位高手:如何实现菜单的淡出效果?******************
- 如何用dxdbgrid连接显示数据?和dbgrid方法不一样吗?
- firemonkey的内嵌浏览器?
1234567890abcdefg运行程序之后结果却变成
1234䥉㕉㘀㜀㠀㤀 愀戀挀搀攀昀最
然后:
将你要插入的内容写入到mem1的末位,然后将mem2的内容全部写入到mem1的末尾,然后调用mem1.savetofile保存到磁盘。
操作系统是XP
应该不是Unicode的问题吧,测试的时候,里边全都是数字和字母没有UNICODE字符呀
wc:WideChar;
ac:AnsiChar;
begin
wc:= 'A';
ac:= 'A';
sizeof(wc); // 2
sizeof(ac); // 1
end;
最简单的方法,你新建一个文本文件,然后另存为一个001.dat,注意下面有个编码,选择为ANSI,然后用这个文件测试看看。