Lazarus
Home
Help
TinyPortal
Search
Login
Register
Lazarus
»
Forum
»
Announcements
»
Third party
»
Pure Pascal UnRAR port
Free Pascal
Website
Downloads
Wiki
Documentation
Bugtracker
Mailing List
Lazarus
Website
Downloads (Laz+FPC)
Packages (OPM)
FAQ
Wiki
Documentation (RTL/FCL/LCL)
Bugtracker
CCR Bugs
GIT
Mailing List
Other languages
Foundation
Website
Useful Wiki Links
Project Roadmap
Getting the Source
Screenshots
How to use the forum
Forum Rules
About donations (wiki)
Bookstore
Computer Math and Games in Pascal
(preview)
Lazarus Handbook
Search
Advanced search
Recent
Cannot get FTP to work
by
Hartmut
[
Today
at 06:05:31 am]
Infernal error when decom...
by
hedgehog
[
Today
at 05:36:27 am]
Linking a PortAudio stati...
by
Fred vS
[May 18, 2026, 10:53:41 pm]
Feature suggestion - repe...
by
ASerge
[May 18, 2026, 09:15:26 pm]
Anubis activated
by
440bx
[May 18, 2026, 09:14:22 pm]
When will lazarus actuall...
by
Curt Carpenter
[May 18, 2026, 08:59:21 pm]
wildcard utilities list
by
mas steindorff
[May 18, 2026, 08:35:41 pm]
StringGrid: which is "cur...
by
Bart
[May 18, 2026, 08:18:51 pm]
LazNodeEditor (visual nod...
by
fcu
[May 18, 2026, 07:16:40 pm]
TShellTreeView TopItem
by
Paolo
[May 18, 2026, 06:53:15 pm]
duplicate an Object at ru...
by
Thaddy
[May 18, 2026, 03:57:51 pm]
How to wait until a WebDA...
by
Hartmut
[May 18, 2026, 03:47:14 pm]
Can /my/ AI help me with ...
by
microxa
[May 18, 2026, 01:16:57 pm]
Nothing but chaotic attem...
by
mdalacu
[May 18, 2026, 12:45:46 pm]
Flamerobin error-message
by
Zvoni
[May 18, 2026, 09:11:06 am]
search via TSQLQuery
by
Zvoni
[May 18, 2026, 08:55:43 am]
Can I enter MySQL prompt ...
by
Zvoni
[May 18, 2026, 08:50:42 am]
TLazSerial : serial port ...
by
mas steindorff
[May 17, 2026, 10:50:34 pm]
PopupMenu on dock menu
by
systemgvp
[May 17, 2026, 08:32:50 pm]
[SOLVED] Dark Theme
by
Hansvb
[May 17, 2026, 07:29:22 pm]
Bug with constref?
by
LemonParty
[May 17, 2026, 07:15:45 pm]
FPC Unleashed (inline var...
by
Okoba
[May 17, 2026, 03:49:31 pm]
is this code correct?
by
Thaddy
[May 17, 2026, 03:23:29 pm]
Anubis's website security...
by
ALLIGATOR
[May 17, 2026, 02:45:52 pm]
Pure Pascal LZ4, LZ5 and ...
by
LemonParty
[May 17, 2026, 01:38:07 pm]
« previous
next »
Print
Pages: [
1
]
Author
Topic: Pure Pascal UnRAR port (Read 633 times)
Tomxe
Jr. Member
Posts: 68
Pure Pascal UnRAR port
«
on:
April 30, 2026, 08:54:38 am »
License: MIT
https://github.com/Xelitan/Delphi-Free-Pascal-port-of-Unrar---RAR-decompressor/
Listing files:
Code: Pascal
[Select]
[+]
[-]
uses
Unrar
;
var
rar
:
TRarUnpacker
;
ADate
:
TDateTime
;
ASize
:
Int64
;
AName
:
String
;
begin
rar
:
=
TRarUnpacker
.
Create
(
'pass.rar'
,
'pass'
)
;
if
not
rar
.
CheckPassword
then
begin
ShowMessage
(
'Incorrect password!'
)
;
rar
.
Free
;
Exit
;
end
;
while
rar
.
NextEntry
(
AName
,
ASize
,
ADate
)
do
begin
Memo1
.
Lines
.
Add
(
AName
)
;
end
;
rar
.
Free
;
Extracting:
Code: Pascal
[Select]
[+]
[-]
var
rar
:
TRarUnpacker
;
ADate
:
TDateTime
;
ASize
:
Int64
;
AName
:
String
;
F
:
TFileStream
;
OutDir
,
FullPath
:
String
;
begin
OutDir
:
=
'OutputDir\'
;
// destination directory
rar
:
=
TRarUnpacker
.
Create
(
'pass.rar'
,
''
)
;
try
while
rar
.
NextEntry
(
AName
,
ASize
,
ADate
)
do
begin
Memo1
.
Lines
.
Add
(
AName
)
;
FullPath
:
=
IncludeTrailingPathDelimiter
(
OutDir
)
+
AName
;
ForceDirectories
(
ExtractFileDir
(
FullPath
)
)
;
F
:
=
TFileStream
.
Create
(
FullPath
,
fmCreate
or
fmSHareDenyWrite
)
;
try
rar
.
Extract
(
F
)
;
finally
F
.
Free
;
end
;
end
;
finally
rar
.
Free
;
end
;
Logged
Boleeman
Hero Member
Posts: 1158
Re: Pure Pascal UnRAR port
«
Reply #1 on:
May 01, 2026, 12:29:37 pm »
Thanks Tomxe for your great Unrar-Rar compressor code, Zstandard (zstd) compression algorithm, Zpaq and Zstandard compressors.
I love playing around and experimenting with all your codes.
Much Appreciated.
Logged
Tomxe
Jr. Member
Posts: 68
Re: Pure Pascal UnRAR port
«
Reply #2 on:
May 02, 2026, 08:30:10 am »
Thank you!
I had a long break from coding in Pascal due to health issues but it's better now and I am finishing what I started. Some new libraries might pop up soon
Logged
tooknox
New Member
Posts: 32
Re: Pure Pascal UnRAR port
«
Reply #3 on:
May 02, 2026, 11:33:22 am »
Hey this is really awesome
Just a suggestion though, the repo names are too long you can name it "pUnRAR" (no pun intended...short for pascal unrar) similarly for your lz repos. I mean it's up to you if you want
Logged
AlexTP
Hero Member
Posts: 2709
Re: Pure Pascal UnRAR port
«
Reply #4 on:
May 02, 2026, 12:40:49 pm »
'p' stands also for Python, Perl, PowerShell.
Current long names are almost ok.
Logged
CudaText editor
-
ATSynEdit
-
More from me
Tomxe
Jr. Member
Posts: 68
Re: Pure Pascal UnRAR port
«
Reply #5 on:
May 02, 2026, 04:54:01 pm »
The names are long to attract more viewers. Units have rather short names.
Logged
tooknox
New Member
Posts: 32
Re: Pure Pascal UnRAR port
«
Reply #6 on:
May 02, 2026, 07:01:58 pm »
Quote from: Tomxe on May 02, 2026, 04:54:01 pm
The names are long to attract more viewers. Units have rather short names.
Well that makes sense. Either way what's there in name. Once again great work !!
Logged
Print
Pages: [
1
]
« previous
next »
Lazarus
»
Forum
»
Announcements
»
Third party
»
Pure Pascal UnRAR port
TinyPortal
© 2005-2018