home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 19 / CD_ASCQ_19_010295.iso / win / prg / zs20 / zip.ba_ / ZIP.BAS
BASIC Source File  |  1994-11-21  |  20KB  |  325 lines

  1. '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  2. '//
  3. '//             Zip Studio 2.0 COPYRIGHT 1993, 1994 HEXANET - Written By Denis CHEVRON - All rights reserved
  4. '//
  5. '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  6. '//
  7. '//             Zip functions declarations header file for Basic and Basic like languages
  8. '//
  9. '//             To use the Zip VBX, put ZDLL20A.DLL, ZDLL20B.DLL and UZDLL20.DLL in your application directory
  10. '//             or into the Windows/System directory.
  11. '//             Also, don' t forget to redistribute the ZIPSTD20.VBX with your application...
  12. '//
  13. '//             If you choose the DLLs functions instead of the VBX interface:
  14. '//              ->To Zip, Put ZDLL20A.DLL and ZDLL20B.DLL in the current dir and define _GOZIP.
  15. '//             ->To UnZip, Put UZDLL20.DLL in the current dir and define _GOUNZIP.
  16. '//
  17. '//             The [2.0] means the routine is new.
  18. '//
  19. '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  20. '//
  21. '//             To get more informations, have a look at ZIP.H.
  22. '//
  23. '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  24.  
  25. '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  26. '//
  27. '//             Zip functions
  28. '//
  29. '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  30.  
  31. '/* Errors constants */
  32. Global Const ZERROR_OK = 0              ' No error
  33. Global Const ZERROR_WARNING = 1         ' Just a warning (not an error)
  34. Global Const ZERROR_DESTFILE = 2        ' Destfile ( *.ZIP ) error
  35. Global Const ZERROR_INTERNAL = 3        ' Internal error
  36. Global Const ZERROR_FORMAT = 4          ' Not a Zip file
  37. Global Const ZERROR_NOMEM = 5           ' Not enough memory
  38. Global Const ZERROR_NOFILE = 6          ' Nothing to do ( can be just a warning )
  39. Global Const ZERROR_NODLL = 7           ' Can' t find required DLLs
  40. Global Const ZERROR_COMMENT = 8         ' Comment missing or NULL
  41. Global Const ZERROR_NOCRYPT = 9         ' Can' t encrypt the file [2.0]
  42.  
  43.  
  44. '/* Overwrite mode */
  45. Global Const OVERWRITE_ALWAYS = 0       ' Always overwrite ( always zip files ) (default)
  46. Global Const OVERWRITE_NEVER = 1        ' Never overwrite
  47. Global Const OVERWRITE_PROMPT = 2       ' Ask the user
  48. Global Const OVERWRITE_UPDATE = 3       ' Overwrite if external file is newer
  49.  
  50.  
  51. '/* Language mode ( for the replace dialog box )*/
  52. Global Const LANGUAGE_FRENCH = 0        ' French mode
  53. Global Const LANGUAGE_ENGLISH = 1       ' US Mode ( default )
  54. Global Const LANGUAGE_GERMAN = 2        ' German mode '** NEW! **
  55. Global Const LANGUAGE_NONE = 3          ' No language (used with ZN_REPLACE) '** NEW! **
  56.  
  57. '/* More easy to use with AddFileToZip */
  58. Global Const STOREPATH_NO = 0           ' Don' t store paths
  59. Global Const STOREPATH_YES = 1          ' Store paths
  60. Global Const RECURSE_NO = 0             ' Don' t recurse sub dirs
  61. Global Const RECURSE_YES = 1            ' Recurse sub dirs
  62.  
  63.  
  64. '/* Notification messages */
  65. 'Global Const ZN_ZIPPING        =WM_USER + 46   ' Zipping a file, WP = compressed size in K, LP = current file name
  66. 'Global Const ZN_FILEZIPPED     =WM_USER + 45   ' File is zipped, WP = compress rate, LP = file name
  67. 'Global Const ZN_WRITING        =WM_USER + 48   ' Replace the Zip file, LP = zip file name
  68. 'Global Const ZN_DELETING       =WM_USER + 47   ' Delete a file , LP = current file name
  69. 'Global Const ZN_REPARING       =WM_USER + 49   ' Repare a Zip file, WP = (int)state
  70.                         ' step =  1 : Read / Write ,  LP = current file name
  71.                         ' step = 3 : Checking zip file, LP = zip file name
  72. 'Global Const ZN_COMPUTE        =WM_USER + 52   ' Before zip read, WP = zip files ( over 500, computing can be very long )
  73. 'Global Const ZN_REPLACE        =WM_USER + 53   ' The replace dialog box is opened ** NEW! **
  74. 'Global Const ZN_ENCRYPT        =WM_USER + 66   ' Encrypt a file, WP= RATE, LP = filename [2.0]
  75. 'Global Const ZN_NETREAD        =WM_USER + 67   ' Reading a file from the network, WP = rate, LP = file name [2.0]
  76. 'Global Const ZN_NETWRITE       =WM_USER + 68   ' Writing the ZIP file to the network, WP = rate, LP = file name [2.0]
  77.  
  78.  
  79. '/* Main functions */
  80. Declare Sub ZipInit Lib "ZDLL20A.DLL" (ByVal szYourName$, ByVal szPassword$)                            'Init the Zip DLL
  81. Declare Function AddFileToZip Lib "ZDLL20A.DLL" (ByVal szZipFile$, ByVal szMask$, ByVal OverwriteMode%, ByVal bStorePath%, ByVal bRecurse%, ByVal hParentWnd%, ByVal szPassword$) As Integer    'Zip a file [2.0]
  82. Declare Function ZipDeleteFiles Lib "ZDLL20A.DLL" (ByVal szZipFile$, ByVal szFiles$, ByVal hParentWnd%) As Integer                      'Delete files in a Zip
  83. Declare Function ZipRepare Lib "ZDLL20A.DLL" (ByVal szZipFile$, ByVal hParentWnd%) As Integer           'Recreate the Zip file
  84. Declare Function ZipSetComment Lib "ZDLL20A.DLL" (ByVal szZipFile$, ByVal szComment$, ByVal hParentWnd%) As Integer                     'Set the Zip Comment
  85.                   
  86.  
  87. '/* Helpers */
  88. Declare Function ZipSetLanguage Lib "ZDLL20A.DLL" (ByVal cZipLanguage%) As Integer                      'Set the Language
  89. Declare Function ZipGetReplaceFlag Lib "ZDLL20A.DLL" () As Integer                                      'Return the current overwrite mode
  90. Declare Function ZipSetReplaceText Lib "ZDLL20A.DLL" (ByVal szDialogTitle$, ByVal szDialogText$, ByVal szYesBtn$, ByVal szNoBtn$, ByVal szAlwaysBtn$, ByVal szNeverBtn$) As Integer
  91.          'Set the replace dialog box labels, used with the LANGUAGE_NONE mode and the ZN_REPLACE notification message.. ** NEW! **
  92.  
  93.  
  94. '/* New routines [2.0]*/
  95. Global Const ZMODE_NORMAL = 0
  96. Global Const ZMODE_FAST = 1
  97. Global Const ZMODE_SLOW = 2
  98. Global Const ZMODE_STORE = 3
  99. Declare Function ZipSetMode Lib "ZDLL20A.DLL" (ByVal zMode%) As Integer                 '// [2.0] Specify the compression method (ZMODE_..)
  100. Declare Sub ZipCancel Lib "ZDLL20A.DLL" (ByVal bCancel%)                        '// [2.0] Stop the current Zip action ASAP
  101.  
  102.  
  103. '/* Split [2.0] */
  104. Declare Function ZipSplit Lib "ZDLL20A.DLL" (ByVal hParent%, ByVal szZipName$, ByVal szDestDir$, ByVal lFirstSize As Long, ByVal lNextSize As Long, ByVal bDiskettePause%, ByVal szTitle$, ByVal szMsg$) As Integer   ' [2.0] Split an existing Zip file
  105.  
  106. Global Const SPLIT_OK = 0                       '// ZipSplit result [2.0]
  107. Global Const SPLIT_NOFILE = 1
  108. Global Const SPLIT_NOMEM = 2
  109. Global Const SPLIT_IOERROR = 3
  110. Global Const SPLIT_TOOBIG = 4
  111. Global Const SPLIT_ACCESSDENIED = 5
  112. Global Const SPLIT_USERABORT = 6
  113. Global Const SPLIT_FILETOOSMALL = 7
  114.         
  115. 'Global Const ZN_SPLITTING      =WM_USER + 61   '// Splitting in process, wp = size (kb), lp = piece name [2.0]
  116. 'Global Const ZN_SPLITTED       =WM_USER + 62   '// A zip part is done, wp = part number,  lp = size ( in bytes ) [2.0]
  117.  
  118.  
  119. '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  120. '//
  121. '//             UnZip functions
  122. '//
  123. '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  124.  
  125.  
  126. '/* Initialisation function */
  127. Declare Sub UnzipInit Lib "UZDLL20.DLL" (ByVal szYourName$, ByVal szPassword$)          'required, if you are not a registered user szYourName = "TEST"
  128.  
  129.  
  130. '/* Interface constants --- Already defined*/
  131. 'Global Const LANGUAGE_FRENCH           =0      ' french language will be used in the replace dialog box
  132. 'Global Const LANGUAGE_ENGLISH          =1      ' English language will be used in the replace dialog box ( default )
  133. 'Global Const LANGUAGE_GERMAN           =2      ' German mode '** NEW! **
  134. 'Global Const LANGUAGE_NONE             =3      ' No language (used with ZN_REPLACE) '** NEW! **
  135.  
  136.  
  137. '/* Interface setting functions */
  138. Declare Function UnzipSetMsgBoxTitle Lib "UZDLL20.DLL" (ByVal szNewTitle$) As Integer   'Set the replace dialog box title ( default = "Replace...");
  139. Declare Sub UnzipSetLanguage Lib "UZDLL20.DLL" (ByVal iLanguage%)                       'Set the language for the replace dialog box
  140. Declare Function UnzipSetReceivingWindow Lib "UZDLL20.DLL" (ByVal hWnd%) As Integer     'Set the window for notification messages
  141. Declare Sub UnzipSetBackgroundMode Lib "UZDLL20.DLL" (ByVal bBackGroundMode%)           'if TRUE, activate the multitask mode ( default )
  142. Declare Function UnzipSetReplaceText Lib "UZDLL20.DLL" (ByVal szDialogTitle$, ByVal szDialogText$, ByVal szYesBtn$, ByVal szNoBtn$, ByVal szAlwaysBtn$, ByVal szNeverBtn$) As Integer
  143.          'Set the replace dialog box labels, used with the LANGUAGE_NONE mode and the ZN_REPLACE notification message.. ** NEW! **
  144.  
  145.  
  146. '/* Zip method constants */
  147. Global Const ZMETHOD_STORED = 0
  148. Global Const ZMETHOD_SHRUNK = 1
  149. Global Const ZMETHOD_REDUCE1 = 2
  150. Global Const ZMETHOD_REDUCE2 = 3
  151. Global Const ZMETHOD_REDUCE3 = 4
  152. Global Const ZMETHOD_REDUCE4 = 5
  153. Global Const ZMETHOD_IMPLODE = 6
  154. Global Const ZMETHOD_TOKEN = 7
  155. Global Const ZMETHOD_DEFLATE = 8
  156. Global Const ZMETHOD_UNKNOWN = 9
  157. Global Const ZMETHOD_ERROR = 10
  158.  
  159.  
  160. '/* Information functions ( Zip ) */
  161. Declare Function IsFileInZip Lib "UZDLL20.DLL" (ByVal szZIPFileName$, ByVal szFileName$) As Integer             'Return true (-1) if the file is in the ZIP file ** NEW! **
  162. Declare Function CountFileInZip Lib "UZDLL20.DLL" (ByVal szFileName$) As Integer                                'Return number of files in this Zip File
  163. ' ** NEW! ** As a VB user, you must call this patch function instead of GetFileNameFromZIP:
  164. Declare Sub VBGetFileNameFromZIP Lib "UZDLL20.DLL" (ByVal szFileName$, ByVal iFileNumber%, ByVal szResult$)
  165. 'Declare Function GetFileNameFromZIP    Lib "UZDLL20.DLL"( ByVal szFileName$, ByVal iFileNumber% ) As String    'Return the name of the iFileNumber file in this Zip File
  166. Declare Function GetZFileOriginalSize Lib "UZDLL20.DLL" (ByVal szZIPFileName$, ByVal szFileName$) As Long       'Return the not compressed size of szFileName in octets.
  167. Declare Function GetZFileCompressedSize Lib "UZDLL20.DLL" (ByVal szZIPFileName$, ByVal szFileName$) As Long     'Return the compressed size of szFileName in octets.
  168. ' ** NEW! ** As a VB user, you must call this patch function instead of GetFileNameFromZIP:
  169. Declare Sub VBGetZFileDate Lib "UZDLL20.DLL" (ByVal szZIPFileName$, ByVal szFileName$, ByVal szResult$)
  170. 'Declare Function GetZFileDate          Lib "UZDLL20.DLL"( ByVal szZIPFileName$, ByVal szFileName$ ) As String  'Return the date of a file in a Zip
  171. ' ** NEW! ** As a VB user, you must call this patch function instead of GetFileNameFromZIP:
  172. Declare Sub VBGetZFileTime Lib "UZDLL20.DLL" (ByVal szZIPFileName$, ByVal szFileName$, ByVal szResult$)
  173. Declare Function GetZFileTime Lib "UZDLL20.DLL" (ByVal szZIPFileName$, ByVal szFileName$) As String             'Return the time of a file in a Zip
  174. Declare Function GetZCompressMethod Lib "UZDLL20.DLL" (ByVal szZIPFileName$, ByVal szFileName$) As Integer      'Return the Zip method for a file ( ZMETHOD_* )
  175. Declare Function GetZFullInfos Lib "UZDLL20.DLL" (ByVal szZIPFileName$, ByVal szFileName$, ByVal szResult$) As Integer                  'Fill <szResult> with all informations ** NEW! **
  176. Declare Function GetZFileIsDir Lib "UZDLL20.DLL" (ByVal szZIPFileName$, ByVal szFileName$) As Integer                                   'TRUE is the file is a directory specification ** NEW! **
  177. Declare Function GetZFileIsEncrypted Lib "UZDLL20.DLL" (ByVal szZIPFileName$, ByVal szFileName$) As Integer                             'TRUE if the file is encrypted [2.0]
  178. Declare Function IsThisFileAZipFile Lib "UZDLL20.DLL" (ByVal szFileName$, ByVal bQuickTest%) As Integer         'Return TRUE if this file seems to be a zip file [2.0]
  179. Declare Function IsFileUnzipable Lib "UZDLL20.DLL" (ByVal szFileName$) As Integer                               'Return TRUE if this file name can be reproduce under DOS
  180. Declare Function GetZipCommentLength Lib "UZDLL20.DLL" (ByVal szFileName$) As Integer                           'Return the size of the zip file comment in octets
  181. Declare Function GetZipComment Lib "UZDLL20.DLL" (ByVal szFileName$, ByVal szBuffer$) As Integer                        'Put the zip comment in buffer
  182.  
  183.  
  184. '/* Information functions ( General ) */
  185. Declare Function bDoesFileExist Lib "UZDLL20.DLL" (ByVal szFileName$) As Integer                                'True if this file exists
  186. Declare Function GetShortFileName Lib "UZDLL20.DLL" (ByVal szFileName$) As String                               'Return filename without any path
  187. Declare Function GetPathFromFileName Lib "UZDLL20.DLL" (ByVal szFileName$) As String                            'Return the path without the file name
  188. Declare Function IsFileNameInFilter Lib "UZDLL20.DLL" (ByVal szFileName$, ByVal szMask$) As Integer             'Return TRUE if filename is in specified filter
  189.  
  190.  
  191. '/* Extraction function result constants */
  192. Global Const ZEXTRACT_OK = 0
  193. Global Const ZEXTRACT_INTERNALERROR = 1
  194. Global Const ZEXTRACT_FILENOTFOUND = 2
  195. Global Const ZEXTRACT_CORRUPTED = 3
  196. Global Const ZEXTRACT_EMPTY = 4
  197. Global Const ZEXTRACT_ERRORINZIPFILE = 5
  198. Global Const ZEXTRACT_NOMEM = 6
  199. Global Const ZEXTRACT_DISKFULL = 8
  200. Global Const ZEXTRACT_WARNING = 10
  201.  
  202.  
  203. '/* Helper constants */
  204. Global Const OVERWRITE_FALSE = 0
  205. Global Const OVERWRITE_TRUE = 1
  206. Global Const OVERWRITE_QUERY = 2
  207. Global Const CREATEDIR_FALSE = 0
  208. Global Const CREATEDIR_TRUE = 1
  209.  
  210.  
  211. '/* Extraction functions */
  212. Declare Function ExtractZipFiles Lib "UZDLL20.DLL" (ByVal szFileName$, ByVal szMask$, ByVal szDestDir$, ByVal bOverwrite%, ByVal bCreateDir%) As Integer
  213. Declare Function GetQueryFlag Lib "UZDLL20.DLL" () As Integer                                                   'Return the overwrite mode the user asked for
  214.  
  215.  
  216. '/* Notification messages for UNZIP and VIEW*/
  217. 'Global Const ZN_OPENFILE       =WM_USER + 38   ' Open a file, WP = TRUE if Ok, LP = filename
  218. 'Global Const ZN_EXPANDING      =WM_USER + 39   ' Unzipping a file, WP = file current rate, LP = filename
  219. 'Global Const ZN_CLOSEFILE      =WM_USER + 40   ' Close a file, WP = TRUE if Ok, LP = filename
  220. 'Global Const ZN_REPLACE        =WM_USER + 53   ' Send when the replace dialog box is opened ** NEW! **
  221. 'Global Const ZN_NEWPASSWORD    =WM_USER + 65   ' A new password is required, WP= 0, LP = filename + tab key + current password [2.0]
  222. 'Global Const ZN_TEST           =WM_USER + 69   ' Send by IsThisFile..., WP = TRUE if ok, LP = tested file name [2.0]
  223.  
  224. '/* View function */
  225. Declare Function ViewFileFromZip Lib "UZDLL20.DLL" (ByVal szZipFile$, ByVal szMask$, ByVal bTextOnly%) As Integer                               'View one or several files in a Zip
  226.  
  227. '/* ZIP files list [2.0]*/
  228.  
  229. Type ZIPITEM                                    '// A Zip file item [2.0]
  230.     szName          As String * 50          '// The file name without any path
  231.     szDir           As String * 260         '// The relative directory
  232.     bIsDir          As Integer              '// TRUE if this item specifies a directory
  233.     bIsEncrypted    As Integer              '// TRUE if this item is encrypted
  234.     iMethod         As Integer              '// The compression method
  235.     iDay            As Integer              '// Date: The Day
  236.     iMonth          As Integer              '// Date: The month
  237.     iYear           As Integer              '// Date: The year (no century specification)
  238.     iHour           As Integer              '// Time: The hour
  239.     iMin            As Integer              '// Time: The minutes
  240.     lOriginalSize   As Long                 '// The original size in bytes
  241.     iRate           As Integer              '// The compression rate
  242. End Type
  243. Global zItem As ZIPITEM
  244.  
  245.                 
  246. Global Const ZSORT_BYFULLNAME = 0               '// The files list sort method [2.0]
  247. Global Const ZSORT_BYNAME = 1
  248. Global Const ZSORT_BYDIR = 2
  249. Global Const ZSORT_BYDATE = 3
  250. Global Const ZSORT_BYSIZE = 4
  251. Global Const ZSORT_BYRATE = 5
  252. Global Const ZSORT_NONE = 6
  253.         
  254. Declare Function GetZList Lib "UZDLL20.DLL" (ByVal szZipName$, ByVal hListWnd%, ByVal iFrom%, ByVal iSortMode%, ByVal bBackGnd%) As Integer                     '// Build the files list
  255. Declare Function GetZipItem Lib "UZDLL20.DLL" (ByVal hListWnd%, ByVal iIndex%, zItem As ZIPITEM) As Integer                                         '// Retrieve an item from this list
  256. Declare Function UnzipSortZList Lib "UZDLL20.DLL" (ByVal hListWnd%, ByVal iSortMode%, ByVal bBackGnd%) As Integer                                       '// Sort the list again
  257.         
  258.  
  259. '/* New routines [2.0] */
  260. Declare Function UnzipSetPassword Lib "UZDLL20.DLL" (ByVal szPassword$) As Integer              '// Specify the password to use to extract the encrypted file(s) [2.0]
  261. Declare Sub SetAskPassword Lib "UZDLL20.DLL" (ByVal bAsk%)                                              '// TRUE if you want Zip Studio asks the user for a password [2.0]
  262. Declare Function UnzipSetPasswordText Lib "UZDLL20.DLL" (ByVal szDialogTitle$, ByVal szDialogText$, ByVal szPasswordLabel$, ByVal szYesBtn$, ByVal szNoBtn$, ByVal szNeverBtn$) As Integer
  263.                                     '// Set the password dialog box labels, used with ZN_NEWPASSWORD [2.0]
  264. Declare Sub UnzipCancel Lib "UZDLL20.DLL" (ByVal bCancel%)                                              '// Set or Reset the Cancel flag for the UNZIP process:
  265.                                     '// You must reset this flag before you call any UNZIP function:
  266.                                     '// (eg UnzipCancel(FALSE) ... ) [2.0]
  267.  
  268. '/* Join function [2.0] */
  269. Declare Function ZipJoin Lib "UZDLL20.DLL" (ByVal hParent%, ByVal szName$, ByVal szDestDir$, ByVal bSendMsg%, ByVal szTitle$, ByVal szMsg$) As Integer                  '// Join a splitted Zip file [2.0]
  270.                                 
  271. Global Const JOIN_OK = 0                        '// ZipJoin result code [2.0]
  272. Global Const JOIN_NOFILE = 1
  273. Global Const JOIN_NOMEM = 2
  274. Global Const JOIN_IOERROR = 3
  275. Global Const JOIN_ACCESSDENIED = 4
  276. Global Const JOIN_USERABORT = 5
  277. Global Const JOIN_NOTASPLITTEDFILE = 7
  278. Global Const JOIN_ZIPEXIST = 8
  279.         
  280. 'Global Const ZN_JOINING        =WM_USER + 41   '// Split in process, wp = size in Kbytes, lp = file name
  281. 'Global Const ZN_JOINED         =WM_USER + 42   '// A zip part is done, wp = part number,  lp = size ( in bytes )
  282. 'Global Const ZN_JOINDONESIZE   =WM_USER + 43   '// Split is done for all the ZIP files, lp = total size in bytes
  283. 'Global Const ZN_JOINDONENAME   =WM_USER + 44   '// Split is done for all the ZIP files, lp = zip name
  284.  
  285.  
  286.  
  287.  
  288. '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  289. '//
  290. '//             ZIPSTD13.VBX Contants
  291. '//
  292. '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  293.  
  294. '---------------------------------
  295. 'For the <Action> special property
  296. Global Const ACTION_NONE = 0
  297. Global Const ACTION_ZIP = 1
  298. Global Const ACTION_DELETE = 2
  299. Global Const ACTION_UNZIP = 3
  300. Global Const ACTION_VIEW = 4
  301. Global Const ACTION_REPARE = 5
  302. Global Const ACTION_DELETECOMMENT = 6
  303. Global Const ACTION_SETCOMMENT = 13          'for actionresult only, do not use with <Action>! [2.0]
  304. Global Const ACTION_BUILDZIPLIST = 7          '[2.0]
  305. Global Const ACTION_SORT = 8                 '[2.0]
  306. Global Const ACTION_CANCEL = 9               '[2.0]
  307. Global Const ACTION_JOIN = 10                '[2.0]
  308. Global Const ACTION_SPLIT = 11               '[2.0]
  309. Global Const ACTION_TEST = 12                '[2.0]
  310.  
  311.  
  312. '---------------------------------
  313. 'For the <OverwriteMode> property
  314. Global Const VBXOVERWRITE_PROMPT = 0
  315. Global Const VBXOVERWRITE_ALWAYS = 1
  316. Global Const VBXOVERWRITE_NEVER = 2
  317. Global Const VBXOVERWRITE_UPDATE = 3
  318.  
  319.  
  320.  
  321.         
  322. '/* ---------------------------------------- End of file ------------------------------------------*/
  323.             
  324.  
  325.