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;
解决方案 »
- 创建vpn拨号辣手的问题!!!
- DBGridEh,DataSource,Query,DBNavigator的問題
- MainMenu和TreeView
- 谁会制作触摸屏软件呀?就是做一个触摸屏上演示的东东?
- fastreport画表格的问题
- 求问:delphi 开发的三层架构在WIN2003是否有问题哦.为什么我的用不了呀...
- QuickRep中为何设置纸张大小后在预览显示出来的更都是一样的呀!
- PaintBox上图形打印问题。
- 有關內存映射文件(mapviewoffile)的問題
- 如何对dbgrid排序?
- 如何用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,然后用这个文件测试看看。