Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Как сжать файл средствами Windows?

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

MAX_DAMAGE



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Как сжать файл средставами Windows?  
Нашёл я DLL-ку lz32.dll но она как я понял предназначается только для распаковки LZ архивов. Или не так?  
Если кто знает чего то пусть кидает имя DLL и функцию с описанием.

Всего записей: 258 | Зарегистр. 10-04-2002 | Отправлено: 14:30 31-01-2004
odl455



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Для сжатия используется утилита compress.exe
 
http://www.wasm.ru/print.php?article=1021006
 
Но алгоритм действительно известный и исходников его реализующих действительно полно, так что ищи.
 
А вообще вот
 
http://plugring.farmanager.com/programming/articles/bonus/www_programme_ru_102001_1.htm

Всего записей: 659 | Зарегистр. 26-08-2002 | Отправлено: 16:26 31-01-2004
MAX_DAMAGE



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
А прототипов функций я почему-то в указанных линках не вижу

Всего записей: 258 | Зарегистр. 10-04-2002 | Отправлено: 17:09 31-01-2004
odl455



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MAX_DAMAGE
 
Похоже на то что их нету.

Всего записей: 659 | Зарегистр. 26-08-2002 | Отправлено: 17:35 31-01-2004 | Исправлено: odl455, 17:36 31-01-2004
Arion



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сжатие файлов средствами NTFS: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/fsctl_set_compression.asp

Всего записей: 436 | Зарегистр. 29-06-2003 | Отправлено: 09:23 01-02-2004
MAX_DAMAGE



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ну так а о lz32.dll знает кто что?

Всего записей: 258 | Зарегистр. 10-04-2002 | Отправлено: 20:21 01-02-2004
UncoNNecteD



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
а зачем ?
у виндов вроде стандартный распаковщик extract.exe
Это файлы дистрибутива запакованы вида some.dl_ (dll)

----------
-= Я тут чертовски давно =-

Всего записей: 4040 | Зарегистр. 21-03-2002 | Отправлено: 22:19 01-02-2004
nobody2

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
по моему в msdn все конкретно расписано
тема

Цитата:
Data Decompression Library

 
функции:

Цитата:
The following functions are used to decompress files.  
 
GetExpandedName
LZClose
LZCopy
LZInit
LZOpenFile
LZRead
LZSeek

Всего записей: 223 | Зарегистр. 15-07-2003 | Отправлено: 10:55 02-02-2004
FactoR

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Вопрос звучал как сжать файл, а не как распаковать!

Всего записей: 1 | Зарегистр. 03-02-2004 | Отправлено: 15:15 03-02-2004
nobody2

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
из того же топика

Цитата:
Data Compression
 
Data compression is an operation that reduces the size of a file by minimizing redundant data. In a file that contains text, redundant data can be frequently occurring characters, such as the space character, or common vowels, such as the letters e and a; it can also be frequently occurring character strings. Data compression creates a compressed version of a file by minimizing this redundant data.  
 
Each type of data-compression algorithm minimizes redundant data in a unique manner. For example, the Huffman encoding algorithm assigns a code to characters in a file based on how frequently those characters occur. Another compression algorithm, called run-length encoding, generates a two-part value for repeated characters: the first part specifies the number of times the character is repeated, and the second part identifies the character. Another compression algorithm, known as the Lempel-Ziv algorithm, converts variable-length strings into fixed-length codes that consume less space than the original strings.  
 
To compress large applications or data files, you can run COMPRESS.EXE from the command line. COMPRESS.EXE uses the Lempel-Ziv compression algorithm.  

Всего записей: 223 | Зарегистр. 15-07-2003 | Отправлено: 15:58 03-02-2004
Falcon2

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
я задавал здесь подобный вопрос.
то, что мне ответили смотри здесь:
http://forum.ru-board.com/topic.cgi?forum=33&bm=1&topic=2611#1

Всего записей: 22 | Зарегистр. 16-12-2003 | Отправлено: 18:01 06-02-2004
Savage



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Какой средой пользуешься? Могу подкинуть пару компонентов для Delphi. Один чисто для ZIP, второй пользует аж 16 форматов.

Всего записей: 126 | Зарегистр. 27-09-2003 | Отправлено: 21:25 08-02-2004
Quattrod



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Если на VB - могу подсказать!

----------
Ru-Board Easy Write - классная прога для классного форума.

Всего записей: 683 | Зарегистр. 16-12-2003 | Отправлено: 15:38 10-02-2004
MAX_DAMAGE



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Да мне без разницы какая среда разработки главное что чистый API.
А вот если сжимать тока compress.exe мона то етот есть бед, т.к. в винде по умолчанию его нету.

Всего записей: 258 | Зарегистр. 10-04-2002 | Отправлено: 12:33 15-02-2004
dasknix

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
товарищи, давно интересует сабж!
всё хорошо, но как превратить что-нить в .zip из под cli???
 
Добавлено:
стандартными средствами, конечно же =)

Всего записей: 2 | Зарегистр. 04-10-2007 | Отправлено: 13:30 06-03-2008
dmka



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть такой код на VB, можно написать на .net или cpp "по мотивам". Только извратно это и будет падать, если у юзера отключен соответствующий shell extension или в используемой системе его вообще нет. Короче нужно использовать какую-нибудь сторонюю библиотеку, особенно для .net (чтобы было на чистом cli и не зависело от платформы).
 

Код:
 
Option Explicit
 
Private Sub Command1_Click()
 
    CreateEmptyZip "c:\testzip.zip"
     
    With CreateObject("Shell.Application")
        .NameSpace("c:\testzip.zip").CopyHere "c:\test.txt"
        ' .NameSpace("c:\testzip.zip").CopyHere .NameSpace(FolderName).items 'use this line if we want to zip all items in a folder into our zip file
    End With
    ' All done!
End Sub
 
 
Public Sub CreateEmptyZip(sPath)
    Dim strZIPHeader As String
     
    strZIPHeader = Chr$(80) & Chr$(75) & Chr$(5) & Chr$(6) & String(18, 0) ' header required to convince Windows shell that this is really a zip file
    With CreateObject("Scripting.FileSystemObject")
        .CreateTextFile(sPath).Write strZIPHeader
    End With
     
End Sub
 

Всего записей: 947 | Зарегистр. 23-04-2003 | Отправлено: 15:39 06-03-2008
BaluBig



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dasknix
dmka
Существует бесплатный открытокодный SharpZipLib, написанный полностью на C#. Это не говоря о пространстве имен System.IO.Compression, если нужно просто сжатие.
А вообще по поводу программирования под .net велкам в соответствующий топик.

Всего записей: 404 | Зарегистр. 06-02-2004 | Отправлено: 16:09 06-03-2008 | Исправлено: BaluBig, 16:11 06-03-2008
dmka



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
бесплатный открытокодный

Только лицензия GPL тут несколько портит картину в случае коммерческого использования .

Всего записей: 947 | Зарегистр. 23-04-2003 | Отправлено: 16:29 06-03-2008
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Как сжать файл средствами Windows?


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru