Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];

Вниз

Не получаетс разархивировать из 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.037 c
15-1181412506
Prefd
2007-06-09 22:08
2007.07.08
Вопрос по Word у


15-1181235748
Gedef
2007-06-07 21:02
2007.07.08
батарея в ноутбуке


3-1175946319
boristt
2007-04-07 15:45
2007.07.08
Перехват ошибки от MSSQL Express 2005 (dbExpress)


2-1180960668
BFG9k
2007-06-04 16:37
2007.07.08
Найти application в сторонней программе


15-1181115204
Углук
2007-06-06 11:33
2007.07.08
Сколько строк кода вы можете написать в один присест?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский