Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];




Вниз

WinRar 


AndrewBee   (2002-01-26 15:28) [0]

Народ памагите Христа ради :о)
Тема следующая :
Собирается список архивных файлов RAR
Далее каждый файл разворачивается во временную папку
(в архивах файлы DBF)
далее по тексту идут ряд процедур которые обрабатывают файлы DBF

выглядит примерно так :

проседура разворвчивающая архив
procedure ExtractRar(NameFileRar:string);
begin
WinExec("winrar -e "+NameFileRar+" "+PathTempDbf,1);
end;

Список Rar архивов
ListRar:TStringList;

далее выглядит так примерно :

procedure RarInTemp;
var i:integer;
begin
for i:=0 to ListRar.Count-1 do
begin
ExtractRar(ListRar[i]);
Proc1;
Proc2;
..
.. и т.д. тут куча проседур которые обрабатывают файлы во временной папке
..
end;
end;

Заковыка в чём - архиватор запускается начинает разворачивать архив и тут же запускаются проседуры которые идут далее по тексту :о(((((((
RAR орёт - Не могу создать файл , он используется другим процессом !!! :о((((
Может кто нить кинет нормальный примерчик что бы моя прога подождала пока WinRar не закончит работу ???
А то уже задолбался :о((( чё то только не пробовал :о((
нпример надыбал такой способ

procedure TForm1.ExtractRar(NameFile:string);
var Handle :THandle;
begin
Handle:=WinExec(PChar(PathProgram + "\Winrar.exe e -o+ -ep " + NameFile + " "+PathTempDBF), SW_SHOWNORMAL);
if (Handle > 0) and (Handle < 32) then
while GetModuleHandle(PChar("winrar.exe")) <> 0 do Delay( 100 );
end;

один чёрт не работает :о((((
скачал с sources.ru пример работы с unrar.dll
но он такой геморойный :о((( пока не можу разобраться с ним :о((((



Vad   (2002-01-26 16:24) [1]

1. Можно использовать функции unrar.dll
2. Запускать rar в отдельном потоке и ожидать завершения
про это уже много раз было, пример должен быть в FAQ



Dimaond Cat   (2002-01-27 01:13) [2]

конкретнее, надо пользоваться Waitforsingleobject, на этой конфе это действительно обсуждалось



AndrewBee   (2002-01-27 07:50) [3]

Лана полазиим по конференции :о))
Waitforsingleobject тоже пробовал , но тоже что то не помогла она :о((
Спасиба !! щас пошарюсь хорошенько по темам !



perov   (2002-01-27 12:56) [4]

Исходные тексты UnRAR, библиотеку UnRAR.dll, несжатые версии SFX-модулей
(только английские) и программу преобразования архивов RCVT можно
загрузить с сайта WinRAR по адресу http://www.rarsoft.com.



AndrewBee   (2002-02-09 08:33) [5]

Спасиба :о))
Справился я с WinRarom :о))
Дёрнул с их фирменного сайта примерчик для Дельфы (для Unrar.dll)
только переделал койчего и классом оформил :о))
Работает неплохо :о))




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.049 c
1-32871           skovorodka            2002-03-29 14:20  2002.04.11  
Помогите, как потаскать форму за выступающие части кроме синей полоски ?


1-32748           cok                   2002-03-29 20:51  2002.04.11  
Explorer.exe


1-32874           artko                 2002-03-29 12:21  2002.04.11  
Как передать данные в форму?


14-32975          kat                   2002-03-05 11:13  2002.04.11  
28.02.02 я выиграла музыкальный центр от Европы+. Могут обмануть?


1-32844           IronHawk              2002-03-28 16:40  2002.04.11  
Как в обыкновенном *.TXT файле поудалять одинаковые строки ?