如何用文件存取文件 先生成一個文件,就當這個文件是一個包,然後把一些文件放進這個包,而且也可以把這些文件從包中取出來如: 生成一個999.Pak文件,把a.txt,b.txt等文件放進這個999.Pak裡面,而且可以從999.Pak中把a.txt,b.txt導出來 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在999.Pak文件中...a开始标记 a.txt内容a结束标记...b开始标记 b.txt内容b结束标记 你要的这种功能我们俗称它为'加壳''脱壳'{加壳}procedure TForm1.LockFile;var FsName, FtName, FbName, FCode: string; iTargetFile, iSourceFile: Integer; MyBuf: array[0..MaxBufferSize - 1] of Char; LockedFile: TLockedFile; NumRead, NumWritten: Integer; bSuccessed: Boolean;begin FsName := sExeFilename; FbName := FsName + '.TMP'; FCode := ExtractFilePath(paramstr(0))+'DialogPass.exe'; if not fileexists(FCode) then raise exception.create(FCode+'文件没找到.'); if CheckBox1.Checked then begin CopyFile(FsName, FbName); end; iSourceFile := FileOpen(FsName, fmOpenRead or fmShareDenyNone); try with LockedFile do begin Flag := CFlag; Name := ExtractFileName(FsName); CopyFile(FCode, FtName);{先拷贝附加代码} bSuccessed := False; iTargetFile := FileOpen(FtName, fmOpenReadWrite); try FileSeek(iTargetFile, 0, soFromEnd); repeat NumRead := FileRead(iSourceFile, MyBuf, SizeOf(MyBuf)); NumWritten := FileWrite(iTargetFile, MyBuf, NumRead); until (NumRead = 0) or (NumWritten <> NumRead); FileWrite(iTargetFile, LockedFile, SizeOf(LockedFile)); bSuccessed := True; finally FileClose(iTargetFile); end; finally FileClose(iSourceFile); end; end;可能上面的代码有点问题,没有写注释说明白点就是把你要的文件先读进去,然后再把指针指到文件尾,然后再住里面写新的数据,再保存 最近重新学delphi 2011,还有多少人在用delphi? 求助! MS SQL Server和Access分别取得随机记录(随机抽题)之完美篇 急!,下午要交差,,,,,, 求一条UPDATE语句,很容易的,解决立刻结贴! 如何从当日日期中取得YYYYMMDD格式的字符串? 有人使用DelphiX吗? 关于对方法赋值的一点问题 有谁会做网易泡泡式样的消息弹出窗口,提供思路也可。 请问如何用SQL获得数据库中所有表的表名?? 谁有report machine说明文档啊 请问高手们一个关于数据库查询的问题(我是个新手)
...
a开始标记
a.txt内容
a结束标记
...
b开始标记
b.txt内容
b结束标记
{加壳}
procedure TForm1.LockFile;
var
FsName, FtName, FbName, FCode: string;
iTargetFile, iSourceFile: Integer;
MyBuf: array[0..MaxBufferSize - 1] of Char;
LockedFile: TLockedFile;
NumRead, NumWritten: Integer;
bSuccessed: Boolean;
begin
FsName := sExeFilename;
FbName := FsName + '.TMP';
FCode := ExtractFilePath(paramstr(0))+'DialogPass.exe';
if not fileexists(FCode) then
raise exception.create(FCode+'文件没找到.');
if CheckBox1.Checked then
begin
CopyFile(FsName, FbName);
end;
iSourceFile := FileOpen(FsName, fmOpenRead or fmShareDenyNone);
try
with LockedFile do
begin
Flag := CFlag;
Name := ExtractFileName(FsName);
CopyFile(FCode, FtName);{先拷贝附加代码}
bSuccessed := False;
iTargetFile := FileOpen(FtName, fmOpenReadWrite);
try
FileSeek(iTargetFile, 0, soFromEnd);
repeat
NumRead := FileRead(iSourceFile, MyBuf, SizeOf(MyBuf));
NumWritten := FileWrite(iTargetFile, MyBuf, NumRead);
until (NumRead = 0) or (NumWritten <> NumRead);
FileWrite(iTargetFile, LockedFile, SizeOf(LockedFile));
bSuccessed := True;
finally
FileClose(iTargetFile);
end;
finally
FileClose(iSourceFile);
end;
end;可能上面的代码有点问题,没有写注释
说明白点就是把你要的文件先读进去,然后再把指针指到文件尾,然后再住里面写新的数据,再保存