28.02.2012, 09:33
|
#130
|
активист
Сообщений: 1,102
|
TeMochkiN
Цитата:
и почему в него включаются любые файлы, а не только симс3паки и пакейджи? в прошлой версии так вроде не было
|
В прошлой версии так же было, лень было условие в еще двух местах проверять, и так код местами такой что без бутылки не разберешься, пример
Код:
procedure TfrmMain.DecodeFile(AFileName: string);
var
j: integer;
ext: string;
begin
html:= html+Format('<tr><td class="styp1%d"> </td><td class="styp2%d">', [row mod 2, row mod 2]);
html:= html+'<b>'+AFileName+'</b>'#13#10'<br />';
ext:= ExtractFileExt(AFileName);
if SameText(ext, '.package') or SameText(ext, '.sim') then
if chAddPackages.Checked then begin
inc(iFPack);
DecodePackage(TFileStream.Create(AFileName, fmOpenRead), '', AFileName);
end;
if SameText(ext, '.Sims3Pack') then
try
inc(iFS3P);
S3PackDecoder.Decode(TFileStream.Create(AFileName, fmOpenRead));
barStat.Panels[0].Progress.Max:= S3PackDecoder.Count;
barStat.Panels[0].Progress.Position:= 0;
for j:= 0 to S3PackDecoder.Count-1 do with S3PackDecoder.Items[j] do begin
Decode(TMemoryStream.Create);
if chAddFileNames.Checked then
html:= html+'<br><u>'+FileName+'</u>'#13#10'<br />';
ext:= ExtractFileExt(FileName);
if chAddPreview.Checked and SameText(ext, '.png') then
AddToReport(Stream, FileName);
if SameText(ext, '.package') then begin
inc(iDPack);
if SameText(ContentType, 'world') then begin
inc(iDWorld);
DecodeWorld(Stream, AFileName, FileName);
end
else
DecodePackage(Stream, AFileName, FileName);
end;
barStat.Panels[0].Progress.Position:= j+1;
if SameText(ext, '.package') then UnlinkStream;
Application.ProcessMessages;
end;
S3PackDecoder.FreeStream
except
on E: Exception do addError(AFileName, '', 'uMain::DecodeFile', E);
end;
inc(row);
html:= html+'</td></tr>'#13#10;
end;
|
|
|
 
|