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
Interesting video
by
backprop
[
Today
at 07:42:40 am]
If FileExists(
by
Xenno
[
Today
at 07:16:00 am]
TDWEdit
by
Ed78z
[
Today
at 06:38:28 am]
Lazarus Bugfix Release 4....
by
jamie
[
Today
at 03:51:07 am]
Death of the Power User
by
wp
[
Today
at 01:29:18 am]
IndySecOpenSSL is now ava...
by
TheMouseAUS
[
Today
at 01:02:40 am]
Implementing an Elo ratin...
by
n7800
[
Today
at 12:44:10 am]
how to add a ForEach call...
by
mas steindorff
[June 11, 2026, 11:42:24 pm]
How to define a type of ...
by
PascalDragon
[June 11, 2026, 09:24:45 pm]
Gitlab site history date.
by
Martin_fr
[June 11, 2026, 08:46:17 pm]
Arkanoid
by
lazarusprogrammer
[June 11, 2026, 08:14:21 pm]
[New Component] ExtTabCtr...
by
d7_2_laz
[June 11, 2026, 05:01:49 pm]
Conscious Artificial Inte...
by
schuler
[June 11, 2026, 04:39:11 pm]
Pdf Viewer in Pascal
by
Tomxe
[June 11, 2026, 03:52:37 pm]
Eye Candy TESCheme
by
Dzandaa
[June 11, 2026, 11:51:52 am]
P.I.S.S. a PlugIn-framewo...
by
cdbc
[June 11, 2026, 11:35:42 am]
I found an actual use for...
by
marcov
[June 11, 2026, 11:35:23 am]
Who can explain this ?
by
J-G
[June 11, 2026, 11:30:42 am]
XLibre, finally and fortu...
by
Fred vS
[June 11, 2026, 06:20:26 am]
WEBP, no DLLs
by
Tomxe
[June 11, 2026, 04:04:37 am]
Discipline your AI coding...
by
440bx
[June 11, 2026, 02:44:06 am]
Version 4.8 was recently ...
by
Ten_Mile_Hike
[June 11, 2026, 01:43:17 am]
FPC Unleashed (inline var...
by
Fibonacci
[June 11, 2026, 12:03:13 am]
Trayslate 1.3.1 - Free tr...
by
AlexanderT
[June 10, 2026, 08:12:24 pm]
TShellListView
by
Ed78z
[June 10, 2026, 07:59:41 pm]
« previous
next »
Print
Pages: [
1
]
Author
Topic: Pure Pascal UnRAR port (Read 652 times)
Tomxe
Full Member
Posts: 107
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
Full Member
Posts: 107
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: 40
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: 2713
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
Full Member
Posts: 107
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: 40
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