PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » OpenSource » Архиватор на пурике


Архиватор на пурике

Сообщений 1 страница 7 из 7

1

В одной из моих программ понадобилось извлечение множества файлов из ДатаСекции в одну из папок диска.
Поэтому сделал небольшой архиватор, основанный на функциях PackMemory и UnpackMemory.
Он позволяет создать архивный файл из файлов выбранной папки (процедура PurePak_Pac) и распаковать файлы из памяти в указанную папку (процедура PurePak_MemUnPac).
Естественно что алгоритм упаковки уникальный и ничем другим кроме данной программы, файлы не извлечь.

Упаковка файлов из папки в архив

Код:
XIncludeFile "PurePac_Func.pbi"

Dir.s = PathRequester("Папка с упаковываемым файлами ","")
If FileSize(Dir) = -2
  ArchiveFile.s=SaveFileRequester("","","APB архивы|*.apb|Все файлы|*.*",0)
  If ArchiveFile<>""
    If GetExtensionPart(ArchiveFile)="" : ArchiveFile+".apb" : EndIf
    If PurePak_Pac(Dir, ArchiveFile) = 1
      MessageRequester("", "Успешно упаковано", #MB_OK)
    EndIf
  EndIf
EndIf

Распаковка файлов

Код:
XIncludeFile "PurePac_Func.pbi"

ArchiveFile.s=OpenFileRequester("","","APB архивы|*.apb|Все файлы|*.*",0)
If FileSize(ArchiveFile)>0
  Dir.s = PathRequester("Куда распаковать файлы ","")
  If FileSize(Dir) = -2
    If ReadFile(0, ArchiveFile)
      Size=Lof(0)
      *mem=AllocateMemory(Size)
      ReadData(0, *mem, Size)
      If PurePak_MemUnPac(Dir, *mem, Size) = #True
        MessageRequester("", "Успешно распаковано", #MB_OK)
      EndIf
      FreeMemory(*mem)
      CloseFile(0)
    Else
      MessageRequester("", "Не удалось открыть файл", #MB_OK)
    EndIf
  EndIf
EndIf

В проге WinAPI не использовал, поэтому в Linux и MacOS X скорее всего тоже будет работать.

Скачать файлы. http://pure-basic.narod.ru/forum_files/PurePAC.rar

0

2

Не пакует, пробовал и большие и маленькие файлы паковать, выскакивает ошибка

0

3

Какая ошибка?

0

4

Вылетает MessageRequester с ошибкой, какая ошибка на память не вспомню сейчас. Вечером отпишусь

0

5

Пётр
Здравствуйте ! Пожалуйста залейте снова файлы с первого поста .

  :dontknow:

0

6

На самом деле, пример до сих пор находится на сайте, но из-за переезда его на юкоз, ссылки стали битыми. :(  :dontknow:
Исправил ссылку.

0

7

Пётр
Спасибо !!!

0


Вы здесь » PureBasic - форум » OpenSource » Архиватор на пурике