Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.08;
Скачать: CL | DM;

Вниз

Не получаетс разархивировать из Delphi   Найти похожие ветки 

 
ambhtr   (2007-05-08 16:17) [0]

Не получаетс разархивировать из Delphi.
Делаю следующее:
var
 strarj : String;
 A: array[0..200] of Char;
begin
     //nmFileFull - имя, с полным путем, архива.
     strarj := "WinRAR  e "+nmFileFull;
     WinExec(StrPCopy(A,strarj), SW_SHOWNORMAL);

Компиллируется без ошибок. Выполняется тоже без ошибок.
Но! Ничего не делается. Архив остается не распакован.
Пробовал и так:
//      WinExec("WinRAR  e 35000025.rar 1\",1);
Не получается :о(
Если набираю в Far-e:
WinRAR  e 35000025.rar 1\
Все работает, а из "Delphi" - нет.

Подскажите...


 
Desdechado ©   (2007-05-08 16:29) [1]

наверно, текущий путь не тот, не содержит архива


 
ambhtr   (2007-05-08 16:40) [2]

Пробовал и так и  этак. Если ошибка с путем в Far-e, то WinRar выдает сообщение об ошибке. Но в том-то и дело, что я уже записывал командную строку, которая в Far-e дает результат. Эта же строка из Delphi проскакивает насквозь. и без результата.


 
TStas ©   (2007-05-09 00:32) [3]

А сам файл не лежит ли в папке "Мои документы"? Тогда, поскольку есть пробел, путь к нему надо в кавычки взять


 
DrPass ©   (2007-05-09 00:57) [4]

...и какой результат возвращает сама WinExec?


 
Германн ©   (2007-05-09 01:47) [5]


> DrPass ©   (09.05.07 00:57) [4]
>
> ...и какой результат возвращает сама WinExec?
>

Скорее всего автор и не знает, что WinExec - функция. :(


 
lkan   (2007-05-09 17:53) [6]

наверное, в папку с прогой надо положить винрар.ехе


 
ambhtr   (2007-05-10 11:02) [7]

Всем спасибо за участие. Заработало в следующем виде:
WinExec("C:\Program Files\WinRar\WinRar.exe  e 35000025.rar 1\",1);
так же получилось и
WinExec("WinRar.exe  e 35000025.rar 1\",1);
если переместить WinRar.exe в папку с прогой.
Так что, еще раз всем СПАСИБО!


 
Desdechado ©   (2007-05-10 12:46) [8]

А если у меня PrоgramFiles не на C, а в папку с прогой мне винрар 100 лет не нужен?


 
Virgo_Style ©   (2007-05-10 12:47) [9]

Desdechado ©   (10.05.07 12:46) [8]
папку с прогой мне винрар 100 лет не нужен


...и если в любую другую - тоже?


 
PZ   (2007-05-10 15:16) [10]

А я делал BAt-файл:

erase *.bak
erase *.tmp
erase *.dcu
erase *.ddp
erase *.~*
erase ~*.*
erase *.err

copy c:\"Program Files"\WinRAR\Winrar.exe Winrar.exe
WinRAR.exe -r u -x*.tmp -x~*.* -x*.zip -xWinrar.exe -x*.arj -x*.rar -x*.dcu SokoBan.rar *.*

Pause
erase Winrar.exe


или другой вариант:

procedure TForm1.FormActivate(Sender: TObject);
Var
 S      : String;
 Params : String;
begin
 S := ParamStr(1);
 If S = "" then
   S := "Arxiv.rar"
 else
   begin
     S := ParamStr(1);
     S := ChangeFileExt(S, ".rar");
   end;

 RemoveFiles;                               // здесь удаляю *.tmp *.dcu и т. д.
 GetDir(0, cDir);                           // получить имя текущего каталога
 if cDir[length(cDir)] <> "\" then cDir := cDir+"\";
 Params := "-r u -x*.zip -x*.arj -x*.rar "+S+" *.*";
 ShellExecute(Handle, Nil, "WinRar.exe", pChar(Params), pChar(cDir), SW_SHOWNORMAL);
end;     { TForm1.FormActivate }



Страницы: 1 вся ветка

Текущий архив: 2007.07.08;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.025 c
15-1181383082
Dmitry_177
2007-06-09 13:58
2007.07.08
Просмотр тела функции в Visual Studio


2-1181482114
golik
2007-06-10 17:28
2007.07.08
экспорт в Excel!!!!!!!!!!!!!


1-1178398089
AbrosimovA
2007-05-06 00:48
2007.07.08
Возможно-ли отследить исчезновение PopupMenu


2-1181924542
Первокласник Вася
2007-06-15 20:22
2007.07.08
Размер формы


15-1180439749
Tauler
2007-05-29 15:55
2007.07.08
Книга по BDS 2006