二进制文件操作 哪位仁兄给个二进制文件操作(写、读)的范例。多谢了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://community.csdn.net/Expert/topic/4820/4820982.xml?temp=.8072931 var iTextLen,iPicSize :integer; sTextLen,sPicSize :string; sText,sPic :string; pContent :pchar; SrcFile,DestFile :file; //1.写文本文件 //1-1.写文本信息和图象信息的大小,前8个字节。 try AssignFile(SrcFile, sFileFullName); if Not FileExists(sFileFullName) then ReWrite(SrcFile) else Reset(SrcFile, 4); BlockWrite(SrcFile, sTextLen, 4); BlockWrite(SrcFile, sPicSize, 4); CloseFile(SrcFile); except Result :=False; Exit; end; //1-2.写文本信息内容。 try AssignFile(SrcFile, sFileFullName); if Not FileExists(sFileFullName) then ReWrite(SrcFile) else ReSet(SrcFile); BlockWrite(SrcFile, sText, SizeOf(sText), BytesWritten); CloseFile(SrcFile); except Result :=False; Exit; end; //2.写图片文件,图片已保存在fTemp中 //实现相当于文件的拷贝,即将文件追加到已有的二进制文件中 AssignFile(SrcFile, fTemp); AssignFile(DestFile, sFileFullName); Reset(SrcFile, 1); try if not FileExists(sFileFullName) then Rewrite(DestFile, 1) else begin Reset(DestFile, 1); Seek(DestFile, FileSize(DestFile)); end; try repeat BlockRead(SrcFile, pContent, Sizeof(pContent), BytesRead); if BytesRead > 0 then begin BlockWrite(DestFile, pContent, BytesRead, BytesWritten); if BytesRead <> BytesWritten then begin Result := false; Exit; end; end; until BytesRead = 0; except Erase(DestFile); Result := false; Exit; end; finally CloseFile(DestFile); CloseFile(SrcFile); DeleteFile(pChar(fTemp));//保存是否成功都将临时文件删除 end; C调用delphi写的dll,FreeLibrary时出错 如何实现 退格键 的功能 treeview和dbgrid的问题 通过internet连接远程数据库,是否可以不写服务器端,通过IP直接连接? from.tag和edit.tag这两个属性指的是什么呀? 我要学Delphi 各位高手帮忙,我积累了几个月的几个问题希望有人帮我解决 超级交互图形开发包--Visual Graph 简单的问题再次白送分:怎样进行输入检查 请问预览时如何让长字符折行显示?(详细) 80分求一段代码(好象我只有80分了)有没有好心人啊!!!!!!! 抓取ASP页面信息的超级难题:(在线等
iTextLen,iPicSize :integer;
sTextLen,sPicSize :string;
sText,sPic :string;
pContent :pchar;
SrcFile,DestFile :file; //1.写文本文件
//1-1.写文本信息和图象信息的大小,前8个字节。
try
AssignFile(SrcFile, sFileFullName);
if Not FileExists(sFileFullName) then ReWrite(SrcFile)
else Reset(SrcFile, 4);
BlockWrite(SrcFile, sTextLen, 4);
BlockWrite(SrcFile, sPicSize, 4);
CloseFile(SrcFile);
except
Result :=False;
Exit;
end;
//1-2.写文本信息内容。
try
AssignFile(SrcFile, sFileFullName);
if Not FileExists(sFileFullName) then ReWrite(SrcFile)
else ReSet(SrcFile);
BlockWrite(SrcFile, sText, SizeOf(sText), BytesWritten);
CloseFile(SrcFile);
except
Result :=False;
Exit;
end; //2.写图片文件,图片已保存在fTemp中
//实现相当于文件的拷贝,即将文件追加到已有的二进制文件中 AssignFile(SrcFile, fTemp);
AssignFile(DestFile, sFileFullName);
Reset(SrcFile, 1);
try
if not FileExists(sFileFullName) then
Rewrite(DestFile, 1)
else begin
Reset(DestFile, 1);
Seek(DestFile, FileSize(DestFile));
end;
try
repeat
BlockRead(SrcFile, pContent, Sizeof(pContent), BytesRead);
if BytesRead > 0 then begin
BlockWrite(DestFile, pContent, BytesRead, BytesWritten);
if BytesRead <> BytesWritten then begin
Result := false;
Exit;
end;
end;
until BytesRead = 0;
except
Erase(DestFile);
Result := false;
Exit;
end;
finally
CloseFile(DestFile);
CloseFile(SrcFile);
DeleteFile(pChar(fTemp));//保存是否成功都将临时文件删除
end;