Sysram1.sisPC_BAR.sisdPack.opo!:\system\opm\dPack.opmDisclaimer.txt Ivo Woltring - dPack \epoc32\release\MARM\rel\Sysram1.opx!:\System\OPX\Sysram1.opxSysram1 OPX Symbian Ltdy Sound Z:\SYSTEM\PROGRAMS\.EXE ::Main ApMIME EUSER[100000c1].DLL OPLR[10000077].DLL APGRFX[1000011b].DLL BAFL[1000004e].DLL EDBMS[100000df].DLL EFSRV[100000bd].DLL CONE[1000004d].DLL APPARC[100000de].DLL APFILE[1000013f].DLL WS32[1000017d].DLL 000D0T0`0l0x0 0 ;$;,;\?`? 2$2P2 3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|3 5$505<5H5T5`5l5x5 6 6,686D6P6\6h6t6 7(747@7L7X7d7p7|7 8$808<8H8T8`8l8x8 9 9,989D9P9\9h9t9 D:\System\OPM\pc_bar.opm!:\System\OPM\PC_Bar.opmProgress bar OPM7 $D:\Development\OPM\pc_bar\pc_bar.pre! PC_BAR_VERSION% Progress bar module 1999/2000 SymbianK( This module can only be usedO within an OPL applicationO _PC_FONTSIZE& REVOC[ _PC_BAR_INITIALISE& _PC_DESTROY_STRUCT O?8`[ _PC_BAR_INITIALISE& _PC_DESTROY_STRUCT _PC_IFREVO% _PC_BAR_INITIALISE& _PC_COLOUR _PC_DESTROY_STRUCT _PC_DESTROY_STRUCT {IWCO _PC_DESTROY_STRUCT {IWCO _PC_DESTROY_STRUCT {IWCO _PC_COLOUR {IWCO {IWCO |VWB}O PC_MAIN9 _PC_DESTROY_STRUCT _PC_BAR_INITIALISE&! _PC_FONTSIZE& _PC_COLOUR# _PC_IFREVO%_ PC_FREEBAR& PC_GIBAR& PC_ALERTBAR& PC_DESTROY_FREEBARt PC_DESTROY_GIBAR PC_DESTROY_ALERTBAR. PC_BAR_UPDATE% PC_BAR_VERSION%t SYSTEM\ c:\v1\dPack.opl DPACKVERSION$ +5'dPack' is an OPM and not designed to run stand-aloneO Author ( Ivo Woltring Version:S E-mail:+ ivo.psion@hetnet.nl( ++dPack Procedures are called by applicationsO +6Use LOADM "dPack.opm" to make the Procedures availableO +"Select item for usage information:+=Pack:,UnPack%:,dPackVersion$:,dPackCallBack:,Used error codes CancelO `h+ ProcedureO informationKO +=Usage: Ratio = Pack:(FileIn$,FileOut$,ShowProgress%,UIDAddr&) +M Packs FileIn$ to FileOut$ and returns the packing percentage to Ratio. Ratio +.* Floating point end percentage if succesfull. +@* Errorcode (<0.0) if error occurred or operation was cancelled. +B Cancelling an operation is only possible when ShowProgress% = 2. ShowProgress% * 0 = no progress indicator + * 1 = default progress indicator +V* 2 = personalized progress indicator. This option need 'dPackCallback%:()' Procedure. +K see 'dPackCallback%:' information for info on how to use this option. UIDAddr& +#* &0 = implement no UID information +N* If you do want to implement UID info, define a variable in your own app like +Q 'Global UID&(4)' and fill it with the appropriate uid header (4 long integers). +( Then call Pack like this addr(UID&()). +N* NOTE: adding a epoc header costs you 16 bites. The header can not be packed. +BUsage: ret% = UnPack%:(FileIn$,FileOut$,ShowProgress%,WithHeader%) += UnPacks FileIn$ to FileOut$ and returns status to ret% * 0 if no error +A* errorcode (< 0) if error occurred or an operation was cancelled +B Cancelling an operation is only possible when ShowProgress% = 2. ShowProgress% * 0 = no progress indicator + * 1 = default progress indicator +V* 2 = personalized progress indicator. This option need 'dPackCallback%:()' Procedure. +K see 'dPackCallback%:' information for info on how to use this option. WithHeader% +U* Ktrue% if FileIn$ contains Epoc header info. UnPack will ignore the first 16 bytes. +2* KFalse% if FileIn$ contains no Epoc header info. Usage: ret$ = dPackVersion$: +T 'dPackVersion$:' returns the string representative of the OPM version to ret$ +*Usefull when your app is version specific. +:Usage: When ShowProgress = 2 in either 'Pack' or 'UnPack'. +/* Define the following Proc in your own code... +:__________________________________________________________ +.Proc dPackCallback%:(Progress&,ratio,PackInd%) +H IF (PackInd% AND 1) > 0 REM *** If callback was called by 'Pack'. +' rem Your Pack progress code here. +J ELSEIF (PackInd% AND 2) > 0 REM *** If callback was called by 'UnPack'. +) rem your UnPack Progress code here. ENDIF +L RETURN Ktrue% REM Ktrue% continues operation; KFalse% cancels operation. +:__________________________________________________________ +4Progress& = The Progress ratio INT(%) of the FileIn$ +, used in both 'Pack' and 'UnPack' +-Ratio = The Pack ratio FLT(%) of FileOut$ +$ Only returned by 'Pack'. ++PackInd% = 1 if callback is done by 'Pack' +- 2 if callback is done by 'UnPack' Used error codes... +8The errorcodes below are codes that are used explicetly. +>Of course in extreme situations other codes will be generated. * 0 = No error * -2 = Invalid arguments * -10 = Underflow error * -20 = Corrupt * -33 = File does not exist * -35 = Read failed +D* -67 = User abandoned. (Generated if operation is canceled by user) PREFIX% SUFFIX% CODE% NEWENTRIES% NUMENTRIES% USED% INBUFFER& IADDRESS& IENDADDRESS& OUTBUFFER& OADDRESS& OENDADDRESS& CODESIZE% CURRENTBIT% CHAR& BYTESOUT& SHIFT& MAXCODES% INFILE$ HANDLEIN% OUTFILE$ HANDLEOUT% FILELENGTH& CURRENTLOC& STARTCODE% NEXTCODE% MAXCODE% PRINTCOUNTER& INDEX% FOUND% OFFSET% GETBYTE% SHOW% BYTESIN& PROGRESSBAR& PACKBAR& WINID% UIDADDR& DOLZINIT% DOPACK% DOLZFINISH% OPENFILE% CREATEFILE% WRITEHEADER CLEARTABLE OPM_LOADMODULE PC_FREEBAR& INFILE$ FILELENGTH& HANDLEIN% OUTFILE$ HANDLEOUT% UIDADDR& SHIFT& MAXCODES% INBUFFER& OUTBUFFER& OADDRESS& OENDADDRESS& CURRENTLOC& STARTCODE% NEXTCODE% MAXCODE% CODESIZE% CURRENTBIT% CHAR& SHOW% WINID% PROGRESSBAR& PACKBAR& .pckK pc_barO Progress...( + Pack %... PC_DESTROY_FREEBAR OPM_UNLOADMODULE INBUFFER& OUTBUFFER& HANDLEOUT% HANDLEIN% SHOW% PROGRESSBAR& PACKBAR& WINID% pc_barO GETBYTE PUTCODE PC_BAR_UPDATE% DPACKCALLBACK% REBUILDTABLE CLEARTABLE GETBYTE% SHOW% WINID% CURRENTLOC& FILELENGTH& HANDLEOUT% OUTBUFFER& OADDRESS& PACKBAR& OUTFILE$ PROGRESSBAR& INDEX% FOUND% CODE% USED% PREFIX% SUFFIX% NEXTCODE% NEWENTRIES% STARTCODE% CODESIZE% MAXCODE% PRINTCOUNTER& BYTESOUT& Od{Od{ Od{A[P Od{Od{ Od{ j Od{A[Y Od{ j +BdPackCallback%:(Progress&,ratio,PackInd%) not (correctly) defined! +:ShowProgress indicator set to zero%; Pack will continue... FOUND% INDEX% OFFSET% CODE% PREFIX% SUFFIX% Hash: NEWENTRIES% NUMENTRIES% CODE% USED% PREFIX% SUFFIX% STARTCODE% INDEX% 8@9[Q PREFIX% SUFFIX% OUTCODE% USED% >f INBUFFER& IADDRESS& IENDADDRESS& OUTBUFFER& OADDRESS& OENDADDRESS& INFILE$ OUTFILE$ HANDLEIN% HANDLEOUT% BYTESIN& FILELENGTH& SHOW% POWERS% LONGPOWERS& MASKS% CODESIZE% TEMPCHAR% BITSLEFT% FREECODE% STARTCODE% CODE% CURCODE% OLDCODE% FINCHAR% NEWENTRIES% IGNORENEXT% INCODE% OUTCOUNT% GETBIT% GETBYTE% GETDATA% GETCODE% PROGRESSBAR& EPOCHEADER% DELZINIT% DOUNPACK% DELZFINISH% RAISETOPOWER& OPENFILE% CREATEFILE% GETCODE PUTBYTE OPM_LOADMODULE PC_ALERTBAR& INFILE$ OUTFILE$ POWERS% LONGPOWERS& MASKS% INBUFFER& OUTBUFFER& OADDRESS& OENDADDRESS& BYTESIN& HANDLEIN% EPOCHEADER% HANDLEOUT% FREECODE% STARTCODE% CODESIZE% CODE% GETCODE% CURCODE% OLDCODE% FINCHAR% FILELENGTH& SHOW% PROGRESSBAR& .pckC[ .pckC[ pc_barO UnPacking...O PC_DESTROY_ALERTBAR OPM_UNLOADMODULE INBUFFER& OUTBUFFER& HANDLEOUT% HANDLEIN% SHOW% PROGRESSBAR& pc-barO PC_BAR_UPDATE% DPACKCALLBACK% GETCODE DELZREBUILDTABLE GETCODE% PUTBYTE SHOW% PROGRESSBAR& BYTESIN& FILELENGTH& CODE% GETCODE% HANDLEOUT% OUTBUFFER& OADDRESS& CODESIZE% NEWENTRIES% FREECODE% STARTCODE% CURCODE% OLDCODE% FINCHAR% IGNORENEXT% INCODE% USED% OUTCODE% OUTCOUNT% SUFFIX% PREFIX% Od@[ Od{ d Od@[6 Od{ d +BdPackCallback%:(Progress&,ratio,PackInd%) not (correctly) defined! +