Achieving ARJ compression using Delphi 6

Posted on 2004-08-12
Medium Priority
Last Modified: 2010-04-04
I require a solution that will allow me to read and write ARJ compressed archives from an application i am currently developing. The archives i am dealing with only contain a single file, hopefully this will make things a little simpler.

Ideally i would like to discover that there is a free library (dll or pascal) that i can use to achieve this but i am also willing to learn what i need to produce such a library 'in-house'. Currently i have very little knowledge of compression models / algorithms and i realise this would be a steep learning curve.

Any suggestions? Points will be awarded for the best information source and / or librarys.


Question by:HaL
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
LVL 17

Expert Comment

by:Wim ten Brink
ID: 11785810
Try Google :-) Use "arj compression library delphi" to get the same list that I'm looking at now.

http://datacompression.info/SourceCode.shtml for useful generic info and code.
http://www.ziptv.com/ for a Delphi-specific library.
http://swiss.torry.net/vcl/compress/packs/paarccomp.zip should be a free library including source. But there are probably more components like this at http://swiss.torry.net/compresspacks.htm

And yes, there will be a steep learning curve if you want to write the algorithm yourself... Also be aware that some algorithms can be patented, thus you'd have to pay for a licence to use them in your code.

Author Comment

ID: 11786684
Thanks for the quick response,

Google of course is my usual first port of call :) And i also discovered the first two links you posted, agreed  http://datacompression.info does indeed have some usefull source... i found a link to an open source project on source forge which i am currently trying to make sense of, however C++ is not one of my strong points and it is a struggle.

Thanks for the link to paarccomp.zip - cant beleive i overlooked that one, it has some code which i feel will at least get me started with reading the headers, maybe more, havnt had much time to really look it over yet. -- you will get soem points for this one ;)

Going to wait a few days to see if there are any other usefull suggestions. Just a thought but do they do books on specific compression models?

Thanks again.


Author Comment

ID: 12172887
I see that no one has attempted to follow up my request for further info on this subject... i feel that 500 points would be far to much to award for a single like, so can the moderators close this one?

Thanks again to Alex, i think he deserves some points for pointing me to a good source... how do we proceed ?

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

LVL 17

Accepted Solution

Wim ten Brink earned 1500 total points
ID: 12184381
You can go to http://www.experts-exchange.com/Community_Support/ and ask them to refund the points and either PAQ or delete this question.

One reason why you might not get any other responses could be because the ARJ format isn't very popular. The ZIP format and the TAR.GZ are a lot more popular and it would be a lot easier to find components for those formats. Especially for the ZIP format.
I've also looked at http://www.arjsoftware.com/ which is the site of the original creator. They only provide the free extraction sourcecode, not the sourcecode for compression so if your application includes, ARJ compression then you might be violating their patent on the algorithm or fileformat. Which is another reason why you don't find that many alternate ARJ tools. The ZIP format is a lot more free. And according to that site, ARJ is not available on other operating systems except Windows.

More sites googled:
http://arj.sourceforge.net/ is an open-source version of ARJ.
http://www.delphipages.com/skunkworks/swcompress.html lists several libraries for compression. It mentions http://www.ziptv.com/ as an ARJ component that includes other formats.

And well, the problem you'll always will have is that most sourcecode you find on the Internet for compression will be written in C or C++. But one option could be to create a DLL out of those sources and use this DLL from Delphi. But like you, I'm not a C++ expert so I can't help you there.

Author Comment

ID: 12185326
Many thanks for your help, although you were the only one to respond to my question i can see that you have gone to the time and effort of providing as much info as possible for me and i am very gratefull.

The reasons for my interest in ARJ stemmed from an experiment with DLink firmware which uses the compression technique and hence the reason why i did not choose to implement a more freely distributed algorithm.

In order to save hassling the sites moderators over this, i have decided to award you full point as you have made it clear that even if others wanted to help... legalities may have in some way prevented it.

Thanks again.
LVL 17

Expert Comment

by:Wim ten Brink
ID: 12194218
Thank you. :-)
Personally, my motto is 'no cure, no pay' so if you didn't want to award the points, I would have no problems with it. But sometimes, the answer is that there's no solution, so I assume that's the case here.

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
In this video we outline the Physical Segments view of NetCrunch network monitor. By following this brief how-to video, you will be able to learn how NetCrunch visualizes your network, how granular is the information collected, as well as where to f…
In this video, Percona Solution Engineer Rick Golba discuss how (and why) you implement high availability in a database environment. To discuss how Percona Consulting can help with your design and architecture needs for your database and infrastr…

764 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question