Учитывая что даже на С их нет, можно прийти к выводу что на дельфе их тоже нет. Максимум можещь скомпилить длл или собрать либу на билдере.
Dr.Golova Интересный вывод Ms Rem Практически никогда я в этих поисковиках ничего дельного не нахожу PE Tools>Pe sniffer показал, что Microsoft Visual C++ v5.0/v6.0 (MFC). Так что прога написана на сях.
А я почему-то нахожу там ответы на большую часть возникаемых вопросов. Вот сейчас мне яндекс сказал, что исходники 7zip есть на http://www.7-zip.org/ Надо тебе исходники на дельфях - переписывай, но проще будет скомпилить в статическую либу и подключить к проге на дельфях.
Исходники 7-zip имею давно, проблема в том, что С совершенно не знаю, а програмки перевода С на Дельфи не справляются...
Не надо путать C и C++... По поводу того, чтобы использовать статическую либу - это нетривиально, поскольку код LZMA существенно использует стандартную C++ RTL (с malloc,free,__CxxThrowException во главе).
Ну так можно избавить его от этого , в чем проблемы то для кодера!? А насчет перевода сорсов на Delphi - эт Вам уважаемый на форум дельфийский надо.
> „использует стандартную C++ RTL“ > Ну так можно избавить его от этого , в чем проблемы то для кодера!? Проблема только найти кодера, хорошо знающего С++ (а 7zip написан на очень тяжелых плюсах), готового забесплатно спортировать два мегабайта плюсового кода хотябы до С, чтобы можно было собрать обьектники билдером в дельфевый юнит. Я уже не говорю о полном портировании сорцов на паскаль. Лично я бы взялся за это минимум за пятизначную сумму и пол года времени
Хм, интересно зачем человеку вообще переводить 7zip на Delphi целиком? Мб проще будет Вам перевести только код, отвечающий за компрессию/декомпрессию (сорсы это позволяют), а GUI прикрутить уже свой? Имхо так проще и намного реальней.
да хтож мешает использовать многозадачность ОС и коммуникацию между процессами: popen поможет, (в win32api это кажется называется ShellExecute, если мне память не изменяет)
а с какой версии билдер отказывается понимать плюсы ? ps: с++ из билдера превосходно стыкуется с дельфи...
Согласен, с Дельфи я малость не в тему въехал... Поисковиками ничего не нашел. Меня не весь 7z интересует, а только Encoder. Хотелось бы в самой программе (без никаких dll) зажимать. О! Придумал как реабилитироваться! Вопрос изменяется с Delphi на ASM!
Ну тогда самый быстрый вариант : 1. Берем сорсы на VCPP LZMA и выкидываем все ненужное. 2. Компелируем с ключем /Fa (для наглядности можно и /FAs). На выходе получаем файлики asm и начинаем медитировать над этой кучей кода, т.к. в сорсах используется COM... P.S. с Decrypt намного проще, т.к. в сорсах есть LZMA_Alone, в котором обычный ANSI_C.
Encoder на plain-C я недавно переписывал для одной своей программы - MtApPack, упаковщике для исполняемых файлов Menuet/Kolibri. Исходники (Windows-версии) доступны на http://shade.msu.ru/~msu-se/mtappack_src.rar - это исходники самой программы на masm'е + библиотека LZMA-упаковки на C (без RTL) (из которой выкинуто много ненужного) (каталог lzma_c). Далее эту библиотеку можно использовать напрямую, если есть возможность работать с COFF-library, а можно воспользоваться вышеупомянутым способом с /Fa (/FAs). Decoder на ANSI C входит в LZMA SDK (здесь).
А чем не устраивает просто дельфяшный интерфейс к dll-ке? Вот лежит, например: http://codecentral.borland.com/Item.aspx?id=23302
Насколько я знаю, в Inno Setup есть поддержка lzma, а написан на делфи. исходнички инносетапа легко можно слить и посмотреть.