Cancelled

Delphi XE2 + 7-Zip Delphi API

We are trying to use the 7-Zip Delphi API

([url removed, login to view]), unfortunately we ran into a problem.

We are having trouble calling the SevenZipSetBindInfo function.

The command line equivalent of what we’re trying to pass is:

" -mb0:1 -mb0s1:2 -mb0s2:3" (without qoutas)

This string gives the desired compression ratio.

This function does the following:

procedure SevenZipSetBindInfo(Arch: I7zOutArchive; const bind: UnicodeString);

begin

[url removed, login to view]('B', bind);

end;

Whatever parameter we pass as "bind" appears to be rejected here.

Now passing this binding string accurately is really important - if we don’t, then the file sizes grow like 15% more according to our existing C++l ibrary solution

and this is not acceptable for us.

We are intended to remove C++ side from our pure Delphi product.

Could you provide me with an estimate of time and price (seperate for each item) to figure out the

1- above issue (binding parameter),

and then to

2- implement a high-level API per the function specifications below?

TPasswordCallback = function(lpPassword: PChar): Integer; stdcall;

TProgressCallback = function(lpCurrentFileName: PChar; uiCompleted,

uiTotal: Int64): Integer; stdcall;

TOverwriteCallback = function(lpArchiveFileName, lpDiskExistingFileName: PChar;

uiArchiveFileSize, uiDiskExistingFileSize: Int64; ftArchiveFileLastWrite,

ftDiskExistingFileLastWrite: TFILETIME): Integer; stdcall;

TErrorCallback = function(lpCurrentFileName: PChar; dwErrorCode: LongWord): Integer; stdcall;

function ListArchiveContents(Archive, Password: String; var Error: String;

Names, Encrypted, Sizes, CompSizes, DateTimes: TStrings;

PasswordCallback: TPasswordCallback; AllowForce: Boolean = True): Boolean;

function ExtractArchiveContents(Archive, Password, Folder: String; WithPath,

Overwrite: Boolean; var Error: String; Items: TStrings; Progress: TProgressCallback;

OverwriteBack: TOverwriteCallback; ErrorBack: TErrorCallback; PasswordBack: TPasswordCallback): Boolean;

function CompressArchiveContents(Archive, Password, Options: String; Kind, Path: Integer;

var Error: String; Items, Recursive: TStrings; Progress: TProgressCallback;

ErrorBack: TErrorCallback): Boolean;

*) Everything must target Unicode versions of Delphi XE2.

*) We will provide a (TEST) sample archive (contains several files with different formats eg: txt, bmp, jpg, exe, npg, avi, mp3, wav etc.)

that has been prepared with our existing C++ interface and expect the same result from your solution. This archive will be the proof of your work.

Here are some files related to the project.
1- Testproject.txt : dpr, dfm and pas file
2- controlar.7zip : the archive file prepared for comparison with our existing c++ code.
3- another archive file (containing the same files with #2) prepared by new testproject.

Skills: Delphi

See more: zip delphi api, zip delphi, delphi zip api, delphi xe2 unicode, delphi zip, sevenzipsetbindinfo, delphi xe2 zip, xe2 wav, delphi xe2 api, delphi xe2, acceptable, what is recursive function, what is recursive, we trying to function, txt 2 jpg, recursive solution, recursive problem, problem archive, googlecode com, a recursive function, archive problem, delphi xe2 zip password, password zip, arch, work folder delphi

About the Employer:
( 14 reviews ) Ankara, Turkey

Project ID: #4217110

3 freelancers are bidding on average $267 for this job

igors233

Greetings, I have a large experience in 7z, and have a general-purpose API wrapper for 7z, more details in inbox.

$250 USD in 10 days
(3 Reviews)
4.1
i32

I'd like to check the project. More details in PMB.

$250 USD in 10 days
(5 Reviews)
3.8
pardeepkaursonia

PLease check PMB

$300 USD in 10 days
(2 Reviews)
3.3