Цитата camope3:
Вроде как и не логично "запихивать" в архив по одному файлу но другого ниче в голову не пришло. »
|
В WinRar можно упаковывать сразу целым списком файлов в один архив.
Цитата Справка WinRar:
Общий синтаксис командной строки для архивации файлов таков:
WinRAR A [-ключи ] <Архив> [ Файлы ] [ @Файлы-списки ]
|
То есть вам нужно в цикле прохождения по выделенным итемам сформировать список файлов:
Код:
symbol = ' ';// символ для отделения файлов ( пробел )
for a:= 0 to ListBox1.Items.Count - 1 do begin
files = files + ListBox1.Items.Strings[a] + symbol; // хранит строку списка файлов
end;
PackFile('d:\Arhive\123456.rar', files); // вызываем один раз архивацию
Либо так:
Цитата Справка WinRar:
Файлы для архивации можно также перечислить не в командной строке, а в текстовом файле. В этом случае в командной строке необходимо указать имя этого файла, причём перед ним должен стоять символ @.
WinRAR A TOOLS.ZIP @Binaries
|
Ну тут так же в цикле формируем файл со списком, ну а далее его передаем как параметр для архивации.