Delphi XE2 + 7-Zip Delphi API

CANCELLED
Bids
3
Avg Bid (USD)
$267
Project Budget (USD)
$30 - $250

Project Description:
We are trying to use the 7-Zip Delphi API
(http://d7zip.googlecode.com/files/d7zipv1.2.zip), 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
arch.SetPropertie('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.

Additional Project Description:
02/06/2013 at 15:37 ECT
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 required:
Delphi
Additional Files: testproject.txt controlar.7zip mineArc.7zip
Hire farukdemirel
Project posted by:
farukdemirel Turkey
Verified
Public Clarification Board
Bids are hidden by the project creator. Log in as the employer to view bids or to bid on this project.
You will not be able to bid on this project if you are not qualified in one of the job categories. To see your qualifications click here.


$ 250
in 10 days
$ 250
in 10 days
Hire pardeepkaursonia
$ 300
in 10 days