Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - [решено] архивация файлов, выбраных в ListBox

Ответить
Настройки темы
Delphi - [решено] архивация файлов, выбраных в ListBox

Новый участник


Сообщения: 29
Благодарности: 2

Профиль | Отправить PM | Цитировать


Доброго времени суток уважаемые форумчане. Помогите решить проблему:

Есть процедура для архивации файлов средствами ShellApi:
Код: Выделить весь код
...
procedure PackFile(ArcName, FileName: string);
  var
    s: string;
begin
    s := 'a -dh -ep ' + ArcName + ' ' + FileName;
    ShellExecute(0, nil, 'winrar', PChar(s), nil, SW_SHOWNA);
end;
...
Есть ListBox, в который добавляются файлы для архивации
Есть обработчик событий:
Код: Выделить весь код
...
procedure TfMore.Button3Click(Sender: TObject);
  var
  a:Byte;
begin
  for  a:= 0 to ListBox1.Items.Count - 1 do begin
  PackFile('d:\Arhive\123456.rar', ListBox1.Items.Strings[a]);
  end;
end;
...
Так вот в чем обстоит проблема: Если в "боксе" выбран один файл то естественно проблем нету. Если выбраны 2 и больше, а их нужно запаковать в один архив, WinRar начинает "ругаться"
Код: Выделить весь код
Процесс не может получить доступ к Файлу, так как зтот Файл занят другим процессом.
WinRar не успел еще заархивировать первый файл как программа "подсовывает" ему следующий.

Можно ли как то решить этот вопрос по работе приведенной выше процедуры или может есть совет по иному способу архивации?
Заранее благодарен.
p.s. Вроде как и не логично "запихивать" в архив по одному файлу но другого ниче в голову не пришло.

Отправлено: 11:44, 12-10-2011

 

Новый участник


Сообщения: 29
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата Iska:
camope3: во-первых, Вы напутали с количеством скобок и кавычками: »
Прошу прощения, действительно напутал. Указаный Вами вариант был ранее опробован, но не дал результатов, потому как в названии директории, где размещался екзешник присутствовал пробел что сбило меня с толку и заставило отписаться выше.

Iska Еще раз спасибо Вам огромное за уделенное мне время.

Последний раз редактировалось camope3, 18-10-2011 в 21:08.


Отправлено: 20:37, 18-10-2011 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата camope3:
в названии директории, где размещался екзешник присутствовал пробел что сбило меня с толку и заставило отписаться выше. »
Пробельные символы в пути обычно требуют обрамления пути двойными кавычками.

Отправлено: 01:27, 19-10-2011 | #12



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - [решено] архивация файлов, выбраных в ListBox

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [Проблема] Архивация файлов Brb Microsoft Windows 7 4 19-08-2011 10:14
VBS/WSH/JS - [решено] Архивация файлов с последующим удалением Romano Скриптовые языки администрирования Windows 5 23-03-2011 18:03
Доступ - [решено] Архивация пользовательских файлов отключена системным администратором AlexxVP Microsoft Windows 7 2 03-03-2010 18:25
Выделение элемента в ListBox ramo Программирование и базы данных 3 07-02-2007 20:56
Listbox control in VB Skiff Программирование и базы данных 1 25-02-2003 07:18




 
Переход