Function TForm1.Cjt_BmpLoad(ImgBmp:TImage;SourceFile:String):Boolean;
var
Source:TFileStream;
Target:TMemoryStream;
INIFile:string;
iCount,i:integer;
iSize,HeadSize:Int64;
begin
try
Source:=TFileStream.Create(SourceFile,fmOpenRead or fmShareDenyNone);
Target:=TMemoryStream.Create;
try
INIFile:=ExtractFilePath(Application.ExeName)+'111.ini';
iCount:=strtoint(ReadINI(INIFile,'SUM','Count'));//读到图片张数
HeadSize:=strtoint(ReadINI(INIFile,'HEAD','Size'));//执行文件的Size Source.Position:=0;
Target.CopyFrom(Source,HeadSize);
Target.SaveToFile('kk.exe');
Target.Clear; for i:=0 to iCount-1 do
begin
iSize:=strtoInt(ReadINI(INIFile,inttostr(i),'Size'));//图片的Size
Source.Seek(HeadSize,soFromBeginning);
iSize:=iSize+sizeof(iSize);
Target.CopyFrom(Source,iSize);
Target.SaveToFile(inttostr(i)+'.bmp');
Target.Clear; HeadSize:=iSize+sizeof(iSize); end;
finally
Target.Free;
Source.Free;
end;
except
Result:=False;
Exit;
end;
Result:=True;
end;
var
Source:TFileStream;
Target:TMemoryStream;
INIFile:string;
iCount,i:integer;
iSize,HeadSize:Int64;
begin
try
Source:=TFileStream.Create(SourceFile,fmOpenRead or fmShareDenyNone);
Target:=TMemoryStream.Create;
try
INIFile:=ExtractFilePath(Application.ExeName)+'111.ini';
iCount:=strtoint(ReadINI(INIFile,'SUM','Count'));//读到图片张数
HeadSize:=strtoint(ReadINI(INIFile,'HEAD','Size'));//执行文件的Size Source.Position:=0;
Target.CopyFrom(Source,HeadSize);
Target.SaveToFile('kk.exe');
Target.Clear; for i:=0 to iCount-1 do
begin
iSize:=strtoInt(ReadINI(INIFile,inttostr(i),'Size'));//图片的Size
Source.Seek(HeadSize,soFromBeginning);
iSize:=iSize+sizeof(iSize);
Target.CopyFrom(Source,iSize);
Target.SaveToFile(inttostr(i)+'.bmp');
Target.Clear; HeadSize:=iSize+sizeof(iSize); end;
finally
Target.Free;
Source.Free;
end;
except
Result:=False;
Exit;
end;
Result:=True;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货