![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
КАк упаковать раром папку?
TStas © (2013-04-01 19:22:00)Из интернета скачал всякие примеры, но ничего не работает. Мне надо просто упаковать папку с файлами с настройками по умолчанию. Это делает менюшка "Дадавить в архив имя_ПАПКИ"
antonn (2013-04-02 14:54:00) [21]Фигня, у меня до сих пор где-то еще работает arj.exe и tar :)
Да и не обязательно прям "консольный" - с поддержкой параметров запуска, вывода он может не делать (а это вроде как основное для консольного приложения).
brother (2013-04-02 13:45:00) [22]у меня консольный ассоциируется с ДОС)
antonn (2013-04-02 13:31:00) [23]
> О_о рар консольный?
версия 4.20, что тебя удивляет?
clickmaker (2013-04-02 13:29:00) [24]дык, rar.exe всегда консольный. Гуевый называется WinRar
brother (2013-04-02 13:25:00) [25]О_о рар консольный?
antonn (2013-04-02 13:21:00) [26]
> Код можешь написать? Ну никак не получяается.
я из пхп примерно так делаю:
exec('rar.exe a -r -ep1 -mt6 "путь и имя получаемого архива" "папка\*.*" ');
clickmaker (2013-04-02 12:28:00) [27]> WinExec(PChar(S), SW_SHOW); //Не работает
а rar.exe живет в папке, которая прописана в переменной окружения PATH?
И еще, так для справки, WinExec возвращает результат, который можно проверить
Rouse_ (2013-04-02 12:27:00) [28]ну еще бы работало.
Ты просто открой консоль и попробуй там выполнить свою команду: "rar a МояАрхива c:\МояМамка\МояПапка", заработает?
TStas (2013-04-02 12:00:00) [29]Это где-то на первом часу мучений с раром стало прообоваться
procedure TForm1.Button1Click(Sender: TObject);
Const
AName = 'Тестовая';
var
Src, Dest, S: String;
begin
Src := ExtractFilePath(ParamStr(0));
Dest := Src;
Src := Src + AName + '\'; //Хоть со слешом, хоть без слеша
Dest := Dest + AName + '.rar';
if DirectoryExists(Src) then ShowMessage('DirectoryExists(Src) = True') else
ShowMessage('DirectoryExists(Src) = False');// вывод переменной DirectoryExists(Src)
//rar a МояАрхива c:\МояМамка\МояПапка
S := 'rar a -r "' + Dest + '" "' + Src + '"';
WinExec(PChar(S), SW_SHOW); //Не работает
S := 'rar a "' + Dest + '" "' + Src + '"';
WinExec(PChar(S), SW_SHOW); //Не работает
end;
Плохиш (2013-04-02 10:53:00) [30]
> ты же программист.
Долго смеялся... Это такой прикол 2 апреля :-)
KilkennyCat (2013-04-02 01:50:00) [31]
> А 90% отлично делают дельфи
ты же программист. допиши оставшиеся 10, заодно платить не придется.
> Розыч на форуме умную вещь сказал
дык ведь и не к идиотам обращался.
Германн (2013-04-02 01:43:00) [32]Первый в моей практике случай, когда весьма подробная справка на родном языке автора вопроса ему не помогла :)
Германн (2013-04-02 01:41:00) [33]
> TStas © (01.04.13 23:39) [13]
>
> ПРосто вопрос явно не простой, был бы простой, интернет
> бы выплевывал ответ сразу.
Вопрос простой как "2+2" в арифметике. И ответ на него
> Inovet © (01.04.13 21:07) [10]
уже дал. И полностью рабочий. Чем сей ответ не устроил? Твоим незнанием работы с командной строкой? Так учись с ней работать.
Иначе
> clickmaker © (01.04.13 20:33) [9]
>
> > Какие-то ключ1, ключ2 и прочая хрень
>
> действительно, для кого всю эту хрень пишут? Писали бы сразу
> код для Стаса
clickmaker (2013-04-02 00:21:00) [34]> Вы ведь и сами ответ не знаете
двумя постами выше дали практически готовый ответ
TStas (2013-04-01 23:39:00) [35]ПРосто вопрос явно не простой, был бы простой, интернет бы выплевывал ответ сразу. РАр программа очень мощная, а задача - упаковать папку с гововыми документами и послать ее по почте. Раньше делал руками это, но решил что надо, чтобы все делала сама. Понятно, что в моём случае это не лучший выход, но я несколько раз пробовал, искал, и ничего не выходило. Вы ведь и сами ответ не знаете.
Розыч на форуме умную вещь сказал: пиши, как тебе удобно, если все работает, то и трогать не надо.
Я читал не только справну оконного рара, но и консольного. Нифига не понял. Там ограмная куча параметров и во всех надо разбираться. А 90% отлично делают дельфи. Например, удаляют после упаковки, перемещают, куда надо, ждут и т. д.
А дождаться конца упаковки очень просто, без WaitForSingleObject. Текст окна упаковки извествен. КАк только перестанет Hendl на это окно находиться, значит упаковка закончена.
То, что у других компов менюшки другие, ну и что? Если мне отправлять по почте, то я могу это делать только из дома, в противном случае документы просто печатаются, зачем их вообще отправлять?
Хорошо бы уметь раром пользоваться, только вот где взять кноиги и время?
clickmaker (2013-04-01 22:47:00) [36]> через посыл клавиш все работает отлично
ну, станешь гуру в посыле клавиш
TStas (2013-04-01 22:00:00) [37]Приведенные примеры не работают, а через посыл клавиш все работает отлично.
Inovet (2013-04-01 21:07:00) [38]> [9] clickmaker © (01.04.13 20:33)
> код для Стаса
rar a МояАрхива c:\МояМамка\МояПапка
rar a -r МояАрхива c:\МояМамка\МояПапка
clickmaker (2013-04-01 20:33:00) [39]> Какие-то ключ1, ключ2 и прочая хрень
действительно, для кого всю эту хрень пишут? Писали бы сразу код для Стаса
brother (2013-04-01 20:25:00) [40]http://www.sql.ru/forum/actualthread.aspx?tid=908668