Форум: "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.018 c
3-32674           reg                   2002-03-20 15:21  2002.04.11  
поиск по бд


7-32985           kievsash              2002-01-14 03:05  2002.04.11  
Как подставить свою прогу на Ctrl+Alt+Del


3-32709           Jony                  2002-03-21 13:37  2002.04.11  
Сумма по столбцу в DBGridEh


3-32663           SecondGray            2002-03-20 13:15  2002.04.11  
Тип ftFloat в таблицах dBase и FoxPro


1-32726           LazorenkoX            2002-03-30 00:26  2002.04.11  
SendMessage or What?