Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works
Anything · Lazarus or Delphi
Random projectRandom project

ThinBasicUnRAR

UnRAR Wrapper for ThinBasic Programming Language.

View on GitHub

Member rating

No ratings yet.

Sign in to rate this project.

README

ThinBasicUnRAR

UnRAR Wrapper for ThinBasic Programming Language.

Environment

  • Windows 10 above (recommend)
  • ThinBasic 1.14 above (recommend)
  • UnRAR

How to Build

Building requires ThinBasic Interpreter and test under Windows 11.
Type features require ThinBasic 1.4.0 and above.

Example

Extract the RAR file

vb
Uses "CONSOLE"

#INCLUDE Once ".\Core\Enums.inc"
#INCLUDE Once ".\Core\Runtime.inc"
#Include Once ".\Core\RARArchive.inc"
#Include Once ".\Core\UnRARWrapper.inc"

Dim UnRAR As UnRARArchive

Global lpszSampleFilePath As String

Global ArchiveData As RAROpenArchiveDataEx
Global HeaderData As RARHeaderDataEx

Global hRARArchiveHandle As Long
Global hUnRARProcCode As Long

lpszSampleFilePath = ".\TestFile\example.rar"

ArchiveData.ArcNameW = Ascii2Unicode(lpszSampleFilePath)
ArchiveData.OpenMode = $RAR_OM_EXTRACT
ArchiveData.CmtBuf = ""
ArchiveData.CmtBufSize = 0

hRARArchiveHandle = UnRAR.OpenArchiveEx(ArchiveData)

If ArchiveData.OpenResult = $ERAR_SUCCESS Then
  Printl("Source: " & lpszSampleFilePath)

  While UnRAR.ReadHeaderEx(hRARArchiveHandle, HeaderData) = $ERAR_SUCCESS
    hUnRARProcCode = UnRAR.ProcessFileW(hRARArchiveHandle, $RAR_TEST, "", "")
    
    Printl "Test File: " & HeaderData.FileNameW
  Wend
End If

UnRAR.CloseArchive(hRARArchiveHandle)

License

Copyright (c) 2020-2026 Ji-Feng Tsai.
Code released under the MIT license.

TODO

  • More examples

Donation

If this application help you reduce time to coding, you can give me a cup of coffee :)

Paypal Me