Всем доброго времени суток.
На парах сегодня заняться нечем было, вот и решил написать небольшой архиватор и "разархиватор".
Программки очень простые-консольное приложение с использованием функций библиотеки PureLZMA.
Архиватор:

Код:
; PureBasicLZMA Maker (*.pblzma)
; Coded by AgManiX de Mal the Heaven Fire
; www.AMXdM.tk
;
;{
version.s="0.2.9"
;}
time.s=FormatDate("%hh:%ii:%ss", Date())
OpenConsole()
ConsoleTitle("PureBasicLMZA Archive Maker "+version)
PrintN("")
PrintN("  PureLZMA Archive Maker "+version+" by AgManiX de Mal the Heaven Fire")
Print("   Project homepage: ") :  EnableGraphicalConsole(1) : ConsoleColor (2,0) : PrintN("www.AMXdM.tk/pblzma") : ConsoleColor (7,0)
PrintN("")
PrintN("Do you really want To create pblzma archive?[y/n]")
Print(" ->")
result$=Input()
If result$<>"y"
  PrintN("Hm...ok!The press Enter To exit")
  Input()
  Else
    PrintN("OK!Type archive name then.")
    PrintN("E.g: C:\MyArch it will create file MyArch.pblzma in C:")
    Print(" ->")
    archive.s=Input()
  EndIf
    If PureLZMA_Archive_Create(archive+".pblzma")
      PrintN("Type path to directory and file mask which you want compress in archive.")
      PrintN("Eg: C:\Program Files\Movie Maker\*.*")
      Print(" ->")
      files.s=Input()
      PrintN("OK! Adding files, please wait!")
      If PureLZMA_Archive_AddFiles(files,1,#PureLZMA_StorePathRelative)>0
        PrintN("All files compressed!")
        PrintN("Visit www.AMXdM.tk")
        PrintN("Press Enter to exit...")
        Input()
      Else
        PrintN("Files hasn't been compressed!Error,error....")
        PrintN("Press Enter to exit...")
        Input()
      EndIf
      PureLZMA_Archive_Close()
    Else
      PrintN("Can't create archive!Error,error...")
      PrintN("Press Enter to exit...")
      Input()
    EndIf

разархиватор

Код:
; Ðàñïàêîâêà àðõèâà ñ èìåíåì MyArchive.arc â ïàïêó C:\Test\
Procedure Install(archive.s,path$)
ArchiveInfo.LZMA_ArchiveInfo
If PureLZMA_Archive_Read(archive.s) 
  Status = PureLZMA_Archive_FindFirst()
  While Status
    PureLZMA_Archive_GetArchiveInfo(@ArchiveInfo)
    PureLZMA_Archive_Extract(path$+"\"+GetFilePart(ArchiveInfo\Filename))
    Status = PureLZMA_Archive_FindNext()
  Wend
  PureLZMA_Archive_Close()
  PrintN(GetFilePart(archive)+" extracted!")
  PrintN("Press Enter to exit...")
  Input()
Else
  PrintN("Extraction failed. Press Enter to exit...")
  Input()
EndIf
EndProcedure
  OpenConsole()
  ConsoleTitle("PureBasicLZMA Archive Extractor")
  PrintN("")
  PrintN("PureBasic Archive Extractor by AgManiX de Mal the Heaven Fire")
  Print("   Project homepage: ") :  EnableGraphicalConsole(1) : ConsoleColor (2,0) : PrintN("www.AMXdM.tk/pblzma") : ConsoleColor (7,0)
  PrintN("")
  PrintN("Do you really want to extract pblzma archive?[y/n]")
  result$=Input()
  If result$<>"y"
    PrintN("It's bad :'( Press Enter then!")
    Input()
  ElseIf result$="y"
    PrintN("It's good!Write path for archive then!")
    PrintN("E.g: C:\MyArch.pblzma")
    Print("Path: ")
    archive.s=Input()
    PrintN("And now type path for extracted files!(without slash at the end)")
    Print(" ->")
    path$=Input()
    CreateDirectory(path$)
    PrintN("    ->Extracting, please wait!")
    Install(archive,path$)
    EndIf

страничка: AMXdM.tk/pblzma