Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Файловая система
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.07.2008, 22:41
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
Вопрос Проблема с РАРом

Люди, подскажите плиз: Для сжатия файлов в папке использую команду
Код:
ShellExecute(0,'open','c:\Program Files\WinRAR\rar.exe','a -r d:\SOPS\ARCHIVE\Import.rar d:\SOPS\IMPORT\*.*',nil,SW_NORMAL);
Но по какой-то причине он сжимает все файлы кроме основного, размер которого 50 Мб (а как раз он то мне и нужен) (размер остальных файлов не превышает 3 Мб). В чем причина??
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #2  
Старый 18.07.2008, 01:15
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,029
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

1. Проверить свободное место на диске.
2. Проверить команду "руками".
3. Если ничего не помогает, то "играть" с CreateProcess, а не с ShellExecute. У меня проблема работы с консольным приложением решилась подбором параметров создания процесса.
Ответить с цитированием
  #3  
Старый 18.07.2008, 17:48
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Спасибо. Вопрос уже решился - я забыл закрыть файл перед архивированием ))
Вопрос номер следующий: в диалоге я выбираю файл в папке D:\SOPS\Data который нужно экспортировать в папку D:\SOPS\IMPORT и после этого заархивировать в папку D:\SOPS\ARCHIVE так вот он импортрует нормально но почему-то архивирует не папку IMPORT а папку DATA (хотя нужно паковать IMPORT)
Вот код команды:
Код:
ShellExecute(0,'open','c:\Program Files\WinRAR\rar.exe',PChar('a -ep1 -m5 '+exForm.App+'ARCHIVE\imTable'+exForm.DTt+'.rar d:\SOPS\IMPORT\*.*'),nil,SW_NORMAL);

P.S. exForm.DTt - фун-ия устанавливающая текущую дату!
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз

Последний раз редактировалось Yurk@, 18.07.2008 в 18:01.
Ответить с цитированием
  #4  
Старый 18.07.2008, 17:53
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,029
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Смотри значения параметров при построении команды.
Для удбства я бы вообще предложил генерировать параметры в отдельные переменные, а потом просто подставлять их в ShellExecute. И в отладчике смотреть что получается.
Ответить с цитированием
  #5  
Старый 18.07.2008, 17:57
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Цитата:
Для удбства я бы вообще предложил генерировать параметры в отдельные переменные, а потом просто подставлять их в ShellExecute. И в отладчике смотреть что получается.
да уже пробывал. никакого эффекта (((

Цитата:
Смотри значения параметров при построении команды.
Уже проверял раз 15
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #6  
Старый 18.07.2008, 18:49
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,029
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну так сделай через переменные и выложи сюда, блин. В смысле код и значения переменных.
Ответить с цитированием
  #7  
Старый 18.07.2008, 20:27
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Код:
var 
ArPath, ArData :string;

function DT : string;
var
i:integer;
begin
Result := '['+DateTimeToStr(Now)+']';
for i:=1 to Length(Result) do
if (Result[i]='.') or (Result[i]= ':') or (Result[i]= ' ') then Result[i]:='_';
end;

App:=ExtractFilePath(Application.ExeName); (только на другой форме)
DTt:=DT; (только на другой форме)

ArPath:=exForm.App+'ARCHIVE\imTable'+exForm.DTt+'.rar ';
ArData:=exForm.App+'IMPORT\*.*';

ShellExecute(0,'open','c:\Program Files\WinRAR\rar.exe',PChar('a -ep1 -m5 '+ArPath+ArData),nil,SW_NORMAL);
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:12.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter