ISDone

DLL ISDone 0.6 final

Нет прав для скачивания
а распаковка отдельной папки из arc-архива до сих пор не реализована?
 
deus_ex, реализована.

Добавлено через 1 минуту
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data.arc'), ExpandConstant('{app}'), 'Папка', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
 
так там где то выше в ветке писали что пб тогда обрабатывается некорректно..
 
deus_ex, попробуй распаковать через arc.exe, допустим, с теми же параметрами и последи за прогрессом в консоли. Они будут равномерно идти до 100?
 
ну я пока ещё не пробывал, пока что игру просто сжимаю. срепинсайд задействовал, и вот стало интересно, возможно ли без лишних действий с помощью исдона распаковать нужную папку из архива. отпишусь как попробую.
 
Булат Зиганшин, с этой dll запароленные арк-архивы в ISDone все равно не распаковываются.
 
в справке есть пример создания функции extractogg. а можно пример аналогичной функции extractpcf?
 
deus_ex,
FindHandle1:=ISFindFiles(0,ExpandConstant('{app}\*.pcf'),ColFiles1);
ExecError:=false;
while not ExecError and ISPickFilename(FindHandle1,ExpandConstant('{app}\' ),CurIndex1,true) do begin
InFilePath:=ISGetName(0);
OutFileName:=ISGetName(1);
ExecError:=not ISExec(0, 0, 0, ExpandConstant('{tmp}\precomp038.exe'), ' -r '"'+InFilePath+'"',ExtractFilePath(OutFileName) ,'',false) ;
end;
ISFindFree(FindHandle1);
if ExecError then break;
только поиск в подкаталогах не забудь включить.
 
Последнее редактирование:
мм.. спасибо
ну тогда вопрос как этот поиск по подкаталогам включить?)

Добавлено через 1 час 6 минут
function ExtractOGG(Component:Cardinal; InputFiles,OutputPath:string):boolean;
var
FindHandle1,ColFiles1,CurIndex1:integer;
ExecError:boolean;
InFilePath,OutFilePath,OutFileName:PAnsiChar;
begin
FindHandle1:=ISFindFiles(Component,InputFiles,ColFiles1);
ExecError:=false;
while not ExecError and ISPickFilename(FindHandle1,OutputPath,CurIndex1,true) do begin
InFilePath:=ISGetName(0);
OutFilePath:=ISGetName(1)+'.wav';
OutFileName:=ISGetName(2)+'.wav';
ExecError:=not ISExec(Component, 0, 0, ExpandConstant('{tmp}\oggdec.exe'), '"'+InFilePath+'" "'+OutFilePath+'"',ExpandConstant('{tmp}'),OutFileName);
end;
ISFindFree(FindHandle1);
result:=not ExecError;
end;

вот так написано в справке, как сделать функцию. собственно выдаёт ошибку при компиляции "Invalid number of parametrs" на символ после скобки после "OutFileName)".
 
ну тогда вопрос как этот поиск по подкаталогам включить?)
Кода уже будите справку читать:
if not FileSearchInit(true) then break;

вот так написано в справке, как сделать функцию. собственно выдаёт ошибку при компиляции "Invalid number of parametrs" на символ после скобки после "OutFileName)".
Ну так параметры функции заданы не верно, справка для 0.5 версии, в 0.6 появился ещё параметр:
ISExec(0, 0, 0, ExpandConstant('{tmp}\precomp038.exe'), ' -r '"'+InFilePath+'"',ExtractFilePath(OutFileName) ,'',false) ;
писали об этом уже здесь.
 
***​
Булат Зиганшин, с этой dll запароленные арк-архивы в ISDone все равно не распаковываются.
Вообще-то распаковываются, но есть один нюанс. Архив не распаковывается, если при упаковке включить шифрование каталога архива http://imageshack.us/photo/my-images/193/111oqz.png/
Вообще было бы здорово, чтобы и с ним работало.
 
Архив не распаковывается, если при упаковке включить шифрование каталога архива http://imageshack.us/photo/my-images/193/111oqz.png/
Вообще было бы здорово, чтобы и с ним работало.
будет распаковываться. В теме фриарка на руборде Булат подсказал другой способ задания пароля, с которым все нормально работает.
 
Если распаковывать файлы вот так:
Код:
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data-1.bin'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISSRepExtract   ( 0, 0, ExpandConstant('{app}\data.bin.srep'),ExpandConstant('{app}\data.bin'), true) then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{app}\data.bin'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data-2.bin'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISSRepExtract   ( 0, 0, ExpandConstant('{app}\data.bin.srep'),ExpandConstant('{app}\data.bin'), true) then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{app}\data.bin'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
То файл data.bin не удаляется. Это только у меня так?
 
Ne0N, как сделать что бы при использовании функции ISPackZIP писалось Запаковывается файл:... а не Извлекается файл:...?
 
Edison007, эта надпись пишется из скрипта, так что во время выполнения нужной тебе функции измени вывод на нужную тебе строку. Расписывать уж подробно не буду.
 
Ne0N, не дело в том, что это надпись задаётся в ProgressCallback, [ISDoneInit(ExpandConstant('{src}\records.inf'), $F777, Comps1,Comps2,Comps3, MainForm.Handle, {#NeedMem}, @ProgressCallback)], и если менять надпись в procedure CurStepChanged, то надпись не меняется...
 
Назад
Сверху