Code
Enumeration
#Pack
#Unpack
#Quit
EndEnumeration
Procedure PackFile()
File$ = OpenFileRequester("PurePAK|Выберите файл для упаковки","","Любой файл|*.*",0)
If File$
CreatePack(File$+".pak")
AddPackFile(File$,9)
ClosePack()
MessageRequester("PurePAK",File$+" успешно запакован!",#MB_ICONINFORMATION)
Else
MessageRequester("PurePAK","Ошибка!Не могу создать Pak-файл",#MB_ICONERROR)
EndIf
ProcedureReturn 1
EndProcedure
Procedure UnPackFile()
File$ = OpenFileRequester("Выберите файл для распаковки","","PurePAK|*.pak",0)
If File$
If OpenPack(File$)
If CreateFile(2,Left(File$,Len(File$)-3)+"gif")
*File=NextPackFile()
Size=PackFileSize()
WriteData(2,*File, Size)
CloseFile(2)
EndIf
ClosePack()
MessageRequester("PurePAK",File$+" распакован!",#MB_ICONINFORMATION)
Else
MessageRequester("PurePAK","Ошибка!Не могу создать Pak-файл",#MB_ICONERROR)
EndIf
EndIf
ProcedureReturn 1
EndProcedure
If OpenWindow(0,250,100,250,70,"PurePAK",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ButtonGadget(#Pack,10,10,80,25,"Упаковать")
ButtonGadget(#Unpack,100,10,80,25,"Распаковать")
Repeat
EventID = WindowEvent() ; This time we use the WindowEvent(), non-blocking command to allow time refreshing
If EventID = #PB_Event_Gadget
Select EventGadget()
Case #Pack
PackFile()
Case #Unpack
UnPackFile()
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
EndIf