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

Вниз

Помогите с архивацией!!!!!!!!!!!!!!   Найти похожие ветки 

 
MonStar   (2003-08-16 17:17) [0]

Ситуация такая: нужно при нажатии на кнопку упаковать папку (большую) и так что бы при этом можно было и progressbar прикрутить, отображающий прогресс упаковки!!! Как это реализовать ? подскажите плиз!!!!


 
Ketmar   (2003-08-16 17:39) [1]

скачать и запустить WinZIP.


 
Sheng   (2003-08-16 18:12) [2]

1. Подсчитать кол-во файлов, ProgressBar.MaxValue=<кол-во файлов>
2. Взять ZIP, а лучше RAR, и с помощью командной строки добавлять по одному файлу.
3. При добавлении очередного файла делать ProgressBar.Progress:=ProgressBar.Progress+1
4. Вроде всё, должно работать.


 
MonStar   (2003-08-17 14:03) [3]

С прогресс баром то понятно, но как прикрутить этот самый zip или rar к проге? Скачал ziptv но пока ничего в нём не понял, очень уж там урезанный хелп!!!!! Может кто подскажет?


 
Sheng   (2003-08-17 17:13) [4]

После установки WinRAR"a в его каталоге есть файл Rar.exe
Запусти его - и получишь список всех его команд.
Например, добавить файл в архив: "rar.exe a <имя архива> <имя файла>"


 
sniknik   (2003-08-17 22:19) [5]

MonStar (17.08.03 14:03) [3]
> Скачал ziptv но пока ничего в нём не понял, очень уж там урезанный хелп!!!!!
там очень понятные примеры.


 
MonStar   (2003-08-18 00:59) [6]

примеры супер!!! согласен, нотрудновато понять!!!

То есть вы предлагаете запускать rar.exe из программы с указанием параметров? значит внутрь архиватор не впихнуть?

>2. Взять ZIP, а лучше RAR, и с помощью командной строки добавлять по одному файлу.

Но папка очень объёмная и с трудной иерархией, т.е. много подпапок внутри!!!!!

Спасибо всем, кто пытался помочь!!!


 
Некрофил - затейник__   (2003-08-18 09:24) [7]

1). Вариант
Возьми RAR CreatProcess("rar.exe "+cmd,...);
Переопредили(возьми управление) StdOut,StdIn,StdErr текущий прогресс для файла ты получиш, для всех файлов не помню по мойму нет.

2). Вариант
IMHO
Есть RAR SDK там через подключаемую dll ты можеш получить управление RAR в том числе и прогресс и все что угодно

3). Вариант
IMHO
Программу архивации ZIP можно найти в инете в исходниках

ЗЫ:
Всем раздать лопаты.


 
Vint   (2003-08-18 10:11) [8]

>MonStar
>примеры супер!!! согласен, нотрудновато понять!!!


даа это круче квадрата на форме ;)

.ArchiveFile := "название архива";
.FileSpec.Add("добавляешь файлы с путями");
.Compress(); архивируем...

.ExtractDir := "куда разархивировать";
.Extract(); разархивируем...

для прогресса в собитии OnProgress пишешь
Gauge1.Progress := ProgressByArchive;
Application.ProcessMessages;


 
Pat   (2003-08-18 11:33) [9]

uses Zlib


 
MonStar   (2003-08-19 00:34) [10]

Огромное спасибо за помощь!!!!
Теперь всё понятно!!!!!



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.09.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.011 c
14-10882
Marser
2003-08-13 23:47
2003.09.04
Реформы, как подмога флудеру


1-10672
ossa
2003-08-21 06:25
2003.09.04
какой функцией можно узнать пустой каталог или нет?


1-10822
D_V_P
2003-08-21 17:02
2003.09.04
Интерфейсы


3-10559
Step[B.M.]
2003-08-11 09:08
2003.09.04
Помогите пожалуйста с SQL запросом


1-10701
ddghy
2003-08-24 17:57
2003.09.04
Компонент в Delphi для работы с Excel?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский