home *** CD-ROM | disk | FTP | other *** search
/ On Hand / On_Hand_From_Softbank_1994_Release_2_Disc_1_1994.iso / 00004 / s / trial / disk1 / myob.in_ / myob.bin
Text File  |  1992-05-14  |  20KB  |  582 lines

  1. DECLARE FUNCTION LcbGetSizeOfFile LIB "msdetstf.dll" (szFile$) AS LONG
  2. DECLARE FUNCTION FDoesFileExist LIB "msdetstf.dll" (szFileName$, mode%) AS INTEGER
  3. DECLARE FUNCTION FInitializeInstall LIB "msinsstf.dll" (hinst%, hwndFrame%) AS INTEGER
  4. DECLARE FUNCTION InitializeFrame LIB "msshlstf.dll" (szCmdLine$) AS INTEGER
  5. DECLARE FUNCTION FRestoreCursor  LIB "msshlstf.dll" (hPrev%) AS INTEGER
  6. DECLARE FUNCTION HShowWaitCursor LIB "msshlstf.dll" AS INTEGER
  7. DECLARE FUNCTION FAddSectionKeyFileToCopyList LIB "mscomstf.dll" (szSect$, szKey$, szSrc$, szDest$) AS INTEGER
  8. DECLARE FUNCTION FAddSpecialFileToCopyList LIB "mscomstf.dll" (szSect$, szKey$, szSrc$, szDest$) AS INTEGER
  9. DECLARE FUNCTION FAddSectionFilesToCopyList LIB "mscomstf.dll" (szSect$, szSrc$, szDest$) AS INTEGER
  10. DECLARE FUNCTION FIsDirWritable LIB "msinsstf.dll" (szDir$) AS INTEGER
  11. DECLARE FUNCTION FSetSymbolValue LIB "msshlstf.dll" (szSymbol$, szValue$) AS INTEGER
  12. DECLARE FUNCTION FExitExecRestart LIB "msinsstf.dll" AS INTEGER
  13. DECLARE FUNCTION FSetBitmap LIB "msshlstf.dll" (szDll$, Bitmap%) AS INTEGER
  14. DECLARE FUNCTION HwndFrame LIB "msshlstf.dll" AS INTEGER
  15. DECLARE FUNCTION LcbFreeDrive LIB "msdetstf.dll" (nDrive%) AS LONG
  16. DECLARE FUNCTION GetVersion LIB "kernel" AS INTEGER
  17. DECLARE FUNCTION CbGetSymbolValue LIB "mscomstf.dll" (szSymbol$, szValue$, Length%) AS INTEGER
  18. DECLARE FUNCTION CbGetInfSectionKeyField LIB "mscomstf.dll" (szSect$, szKey$, iField%, szBuf$, cbBuf%) AS INTEGER
  19. DECLARE FUNCTION FOpenInf LIB "mscomstf.dll" (szFile$, fCheck%, fCheckSyms%) AS INTEGER
  20. DECLARE FUNCTION FKillNDialogs LIB "msuilstf.dll" (n%) AS INTEGER
  21. DECLARE FUNCTION CbGetListItem LIB "mscomstf.dll" (szListSymbol$, n%, szListItem$, cbMax%) AS INTEGER
  22. DECLARE FUNCTION UsGetListLength LIB "mscomstf.dll" (szSymbol$) AS INTEGER
  23. DECLARE FUNCTION GetSystemDirectory LIB "kernel" (szBuf$, cbBuf%) AS INTEGER
  24. DECLARE FUNCTION GetWindowsDirectory LIB "kernel" (szBuf$, cbBuf%) AS INTEGER
  25. DECLARE FUNCTION FCreateDir LIB "msinsstf.dll" (szDir$, cmo%) AS INTEGER
  26. DECLARE FUNCTION FAddListItem LIB "mscomstf.dll" (szListSymbol$, szListItem$) AS INTEGER
  27. DECLARE FUNCTION FReplaceListItem LIB "mscomstf.dll" (szListSymbol$, n%, szListItem$) AS INTEGER
  28. DECLARE FUNCTION FDoDialog LIB "msuilstf.dll" (hwnd%, szDll$, Dlg%, szDlgProc$, HelpDlg%, szHelpProc$) AS INTEGER
  29. DECLARE FUNCTION FClearBillboardList LIB "msinsstf.dll" AS INTEGER
  30. DECLARE FUNCTION FAddToBillboardList LIB "msinsstf.dll" (szDll$, idDlg%, szProc$, lTicks&) AS INTEGER
  31. DECLARE FUNCTION GrcCopyFilesInCopyList LIB "msinsstf.dll" (hInstance%) AS INTEGER
  32. DECLARE FUNCTION HinstFrame LIB "msshlstf.dll" AS INTEGER
  33. DECLARE FUNCTION FCreateProgManGroup LIB "msinsstf.dll" (szGroup$, szPath$, cmo%) AS INTEGER
  34. DECLARE FUNCTION FCreateProgManItem LIB "msinsstf.dll" (szGroup$, szItem$, szCmd$, cmo%) AS INTEGER
  35. DECLARE FUNCTION FShowProgManGroup LIB "msinsstf.dll" (szGroup$, szCmd$, cmo%) AS INTEGER
  36. DECLARE FUNCTION FRestartListEmpty LIB "msinsstf.dll" AS INTEGER
  37. DECLARE FUNCTION DoMsgBox LIB "mscomstf.dll" (lpText$,lpCaption$,wType%) As INTEGER
  38. DECLARE FUNCTION FSetRestartDir LIB "msinsstf.dll" (szDir$) AS INTEGER
  39. DECLARE FUNCTION FSetSymbolToListOfInfKeys LIB "mscomstf.dll" (szSym$, szSect$, fNulls%) AS INTEGER
  40. DECLARE SUB ResetCopyList LIB "msinsstf.dll"
  41. DECLARE SUB SetWindowText LIB "User" (hwnd%, lpString$)
  42. DECLARE SUB ProSetPos LIB "msinsstf.dll" (x%, y%)
  43.  
  44. DECLARE FUNCTION ExitExecRestart AS INTEGER
  45. DECLARE FUNCTION GetFreeSpaceForDrive (szDrive$) AS LONG
  46. DECLARE FUNCTION GetListItem(szSymbol$, n%) AS STRING
  47. DECLARE FUNCTION GetSizeOfFile (szFile$) AS LONG
  48. DECLARE FUNCTION GetListLength(szSymbol$) AS INTEGER
  49. DECLARE FUNCTION GetSectionKeySize (szSect$, szKey$) AS LONG
  50. DECLARE FUNCTION DoesFileExist (szFile$, mode%) AS INTEGER
  51. DECLARE FUNCTION GetSymbolValue (szSymbol$) AS STRING
  52. DECLARE FUNCTION GetWindowsMajorVersion AS INTEGER
  53. DECLARE FUNCTION GetWindowsMinorVersion AS INTEGER
  54. DECLARE FUNCTION ShowWaitCursor AS INTEGER
  55. DECLARE FUNCTION GetWindowsDir    AS STRING
  56. DECLARE FUNCTION GetSectionKeyFilename (szSect$, szKey$) AS STRING
  57. DECLARE FUNCTION GetWindowsSysDir AS STRING
  58. DECLARE FUNCTION RestartListEmpty AS INTEGER
  59. DECLARE FUNCTION IsDirWritable (szDir$) AS INTEGER
  60. DECLARE FUNCTION UIStartDlg(szDll$, Dlg%, szDlgProc$, HelpDlg%, szHelpProc$) AS STRING
  61. DECLARE SUB AddListItem(szSymbol$, szItem$)
  62. DECLARE SUB AddToBillboardList (szDll$, idDlg%, szProc$, lTicks&)
  63. DECLARE SUB AddSectionKeyFileToCopyList (szSect$, szKey$, szSrc$, szDest$)
  64. DECLARE SUB AddSpecialFileToCopyList (szSect$, szKey$, szSrc$, szDest$)
  65. DECLARE SUB AddSectionFilesToCopyList (szSect$, szSrc$, szDest$)
  66. DECLARE SUB ClearBillboardList
  67. DECLARE SUB ClearCopyList
  68. DECLARE SUB CopyFilesInCopyList
  69. DECLARE SUB CreateDir (szDir$, cmo%)
  70. DECLARE SUB CreateProgmanGroup (szGroup$, szPath$, cmo%)
  71. DECLARE SUB SetSymbolValue (szSymbol$, szValue$)
  72. DECLARE SUB CreateProgmanItem (szGroup$, szItem$, szCmd$, szOther$, cmo%)
  73. DECLARE SUB ShowProgmanGroup (szGroup$, Cmd%, cmo%)
  74. DECLARE SUB MakeListFromSectionKeys (szSymbol$, szSection$)
  75. DECLARE SUB RestoreCursor (hPrev%)
  76. DECLARE SUB ReplaceListItem(szSymbol$, n%, szItem$)
  77. DECLARE SUB ReadInfFile (szFile$)
  78. DECLARE SUB SetBitmap(szDll$, Bitmap%)
  79. DECLARE SUB SetRestartDir(szDir$)
  80. DECLARE SUB SetTitle (sz$)
  81. DECLARE SUB SetCopyGaugePosition (x%, y%)
  82. DECLARE SUB UIPop (n%)
  83. DECLARE SUB UIPopAll
  84.  
  85.  
  86. DECLARE FUNCTION InitFrame (szCmdLine$) AS INTEGER
  87. DECLARE FUNCTION InitSetup (szCmdLine$) AS INTEGER
  88. DECLARE SUB InitInstall
  89.  
  90.  
  91. ''ON ERROR Error Codes
  92. CONST STFERR      = 1024   ''setup system error
  93. CONST STFQUIT     = 1025   ''user quit
  94.  
  95. CONST scmOff      = 0
  96. CONST scmOnIgnore = 1
  97. CONST scmOnFatal  = 2
  98.  
  99. CONST SM_CXSCREEN = 0
  100. CONST SM_CYSCREEN = 1
  101.  
  102. CONST WF_80x87    = 1024
  103. CONST WF_CPU186   =  128
  104. CONST WF_CPU286   =    2
  105. CONST WF_CPU386   =    4
  106. CONST WF_CPU486   =    8
  107. CONST WF_STANDARD =   16
  108. CONST WF_ENHANCED =   32
  109.  
  110.  
  111.  
  112. '' DoMsgBox Flags
  113. CONST MB_OK            = 0
  114. CONST MB_OKCANCEL        = 1
  115. CONST MB_ICONHAND        = 16
  116. CONST MB_ICONINFORMATION    = 64
  117. CONST MB_TASKMODAL        = 8192
  118. CONST IDOK            = 1
  119. CONST IDCANCEL            = 2
  120.  
  121. CONST cbSymValMax = 512
  122.  
  123. ''Command Option Flags
  124. CONST cmoVital         = 1
  125. CONST cmoCopy        = 2
  126. CONST cmoUndo        = 4
  127. CONST cmoRoot        = 8
  128. CONST cmoDecompress  = 16
  129. CONST cmoTimeStamp   = 32
  130. CONST cmoReadOnly    = 64
  131. CONST cmoBackup      = 128
  132. CONST cmoForce       = 256
  133. CONST cmoRemove      = 512
  134. CONST cmoOverwrite   = 1024
  135. CONST cmoAppend      = 2048
  136. CONST cmoPrepend     = 4096
  137. CONST cmoNone        = 0
  138. CONST cmoAll         = 65535
  139.  
  140.  
  141. ''File Exist Modes
  142. CONST femExists     = 0
  143. CONST femRead       = 1
  144. CONST femWrite      = 2
  145. CONST femReadWrite  = 3
  146.  
  147.  
  148. ''Read-Only Return Code
  149. CONST ynrcNo         = 0
  150. CONST ynrcYes        = 1
  151. CONST ynrcErr1       = 2
  152. CONST ynrcErr2       = 3
  153. CONST ynrcErr3       = 4
  154. CONST ynrcErr4       = 5
  155. CONST ynrcErr5       = 6
  156. CONST ynrcErr6       = 7
  157. CONST ynrcErr7       = 8
  158. CONST ynrcErr8       = 9
  159. CONST ynrcErr9       = 10
  160.  
  161.  
  162. ''General Return Codes
  163. CONST grcOkay        = 0
  164. CONST grcNotOkay    = 1
  165. CONST grcUserQuit   = 48
  166.  
  167. GLOBAL hSetup AS INTEGER
  168. GLOBAL fFrameInit AS INTEGER
  169. GLOBAL fInstallInit AS INTEGER
  170.  
  171.  
  172. '*************************************************************************
  173. '*****************  Setup Basic Wrapper Definitions  *********************
  174. '*************************************************************************
  175. FUNCTION InitSetup(szCmdLine$) STATIC AS INTEGER
  176.     fFrameInit = 0
  177.     fInstallInit = 0
  178.  
  179.     IF hSetup > 0 THEN
  180.     END IF
  181.  
  182.     i% = InitFrame(szCmdLine$)
  183.     fFrameInit = 1
  184.  
  185.     InitInstall
  186.     fInstallInit = 1
  187.  
  188.     InitSetup = i%
  189. END FUNCTION
  190.  
  191.  
  192.  
  193. '**************************************************************************
  194. FUNCTION InitFrame(szCmdLine$) STATIC AS INTEGER
  195.     i% = InitializeFrame(szCmdLine$)
  196.     IF i% = -1 THEN
  197.     END   '' NOT an error - Usage (/?) or Command line copy operation
  198.     ELSEIF i% = 0 THEN
  199.     END
  200.     ELSE
  201.     InitFrame = i%
  202.     END IF
  203. END FUNCTION
  204.  
  205. '*************************************************************************
  206. SUB InitInstall STATIC
  207.     IF FInitializeInstall(HinstFrame(), HwndFrame()) = 0 THEN
  208.     END
  209.     END IF
  210. END SUB
  211.  
  212.  
  213. '*************************************************************************
  214. FUNCTION GetFreeSpaceForDrive (szDrive$) STATIC  AS LONG
  215.     GetFreeSpaceForDrive = LcbFreeDrive(ASC(UCASE$(szDrive$)) - ASC("A") + 1)
  216. END FUNCTION
  217.  
  218.  
  219. '**************************************************************************
  220. SUB SetBitmap(szDll$, Bitmap%) STATIC
  221.     IF FSetBitmap(szDll$, Bitmap%) = 0 THEN
  222.     ERROR STFERR
  223.     END IF
  224. END SUB
  225.  
  226. '*************************************************************************
  227. SUB SetTitle(sz$) STATIC
  228.     SetWindowText HwndFrame(), sz$
  229. END SUB
  230.  
  231. ''' -1 in either parameter will mean 'center in frame client area'
  232. '*************************************************************************
  233. SUB SetCopyGaugePosition (x%, y%) STATIC
  234.     ProSetPos x%, y%
  235. END SUB
  236.  
  237.  
  238. '*************************************************************************
  239. FUNCTION GetWindowsMajorVersion STATIC AS INTEGER
  240.     GetWindowsMajorVersion = GetVersion() MOD 256
  241. END FUNCTION
  242.  
  243.  
  244. '*************************************************************************
  245. FUNCTION GetWindowsMinorVersion STATIC AS INTEGER
  246.     GetWindowsMinorVersion = GetVersion() / 256
  247. END FUNCTION
  248.  
  249. '*************************************************************************
  250. FUNCTION GetSymbolValue(szSymbol$) STATIC AS STRING
  251.     szValue$ = string$(cbSymValMax,32)
  252.     Length% = CbGetSymbolValue(szSymbol$, szValue$, cbSymValMax)
  253.     GetSymbolValue = szValue$
  254.     IF Length% >= cbSymValMax THEN
  255.     ERROR STFERR
  256.     END IF
  257.     IF szSymbol$ = "" THEN
  258.     ERROR STFERR
  259.     END IF
  260.     szValue$ = ""
  261. END FUNCTION
  262.  
  263. '*************************************************************************
  264. SUB ReadInfFile (szFile$) STATIC
  265.     IF FOpenInf(szFile$, 1, 0) = 0 THEN
  266.     ERROR STFERR
  267.     END IF
  268. END SUB
  269.  
  270. '*************************************************************************
  271. FUNCTION GetWindowsDir STATIC AS STRING
  272.     szBuf$ = string$(256, 32)
  273.     cbBuf% = GetWindowsDirectory(szBuf$, 256)
  274.  
  275.     IF cbBuf% = 0 THEN
  276.         GetWindowsDir = ""
  277.     ERROR STFERR
  278.     ELSE
  279.         IF cbBuf% > 255 THEN
  280.         ERROR STFERR
  281.         END IF
  282.         szBuf$ = RTRIM$(szBuf$)
  283.         IF MID$(szBuf$, 1, 1) = "\" THEN
  284.         szBuf$ = MID$(GetWindowsSysDir, 1, 2) + szBuf$
  285.         ELSEIF MID$(szBuf$, 2, 1) <> ":" THEN
  286.             szBuf$ = MID$(GetWindowsSysDir, 1, 3) + szBuf$
  287.         END IF
  288.         IF MID$(szBuf$, LEN(szBuf$), 1) <> "\" THEN
  289.             szBuf$ = szBuf$ + "\"
  290.         END IF
  291.         GetWindowsDir = szBuf$
  292.     END IF
  293.  
  294.     szBuf$ = ""
  295. END FUNCTION
  296.  
  297. '*************************************************************************
  298. FUNCTION GetWindowsSysDir STATIC AS STRING
  299.     szBuf$ = string$(256, 32)
  300.     cbBuf% = GetSystemDirectory(szBuf$, 256)
  301.  
  302.     IF cbBuf% = 0 THEN
  303.     ERROR STFERR
  304.     ELSE
  305.         IF cbBuf% > 255 THEN
  306.         ERROR STFERR
  307.         END IF
  308.         szBuf$ = RTRIM$(szBuf$)
  309.         IF MID$(szBuf$, 1, 1) = "\" THEN
  310.             szBuf$ = MID$(CURDIR$, 1, 2) + szBuf$
  311.         ELSEIF MID$(szBuf$, 2, 1) <> ":" THEN
  312.             szBuf$ = MID$(CURDIR$, 1, 3) + szBuf$
  313.         END IF
  314.         IF MID$(szBuf$, LEN(szBuf$), 1) <> "\" THEN
  315.             szBuf$ = szBuf$ + "\"
  316.         END IF
  317.         GetWindowsSysDir = szBuf$
  318.     END IF
  319.  
  320.     szBuf$ = ""
  321. END FUNCTION
  322.  
  323. '*************************************************************************
  324. SUB AddListItem(szSymbol$, szItem$) STATIC
  325.     IF FAddListItem(szSymbol$, szItem$) = 0 THEN
  326.     ERROR STFERR
  327.     END IF
  328. END SUB
  329.  
  330. '*************************************************************************
  331. SUB ReplaceListItem(szSymbol$, n%, szItem$) STATIC
  332.     IF FReplaceListItem(szSymbol$, n%, szItem$) = 0 THEN
  333.     ERROR STFERR
  334.     END IF
  335. END SUB
  336.  
  337. '*************************************************************************
  338. FUNCTION GetSectionKeySize (szSect$, szKey$) STATIC AS LONG
  339.     szBuf$ = string$(128, 32)
  340.     Length% = CbGetInfSectionKeyField(szSect$, szKey$, 15, szBuf$, 128)
  341.     IF Length% >= 128 THEN
  342.     ERROR STFERR
  343.     END IF
  344.  
  345.     IF Length% = -1 THEN
  346.     ERROR STFERR
  347.     END IF
  348.  
  349.     GetSectionKeySize = VAL(szBuf$)
  350.     szBuf$ = ""
  351. END FUNCTION
  352.  
  353. '*************************************************************************
  354. FUNCTION UIStartDlg(szDll$, Dlg%, szDlgProc$, HelpDlg%, szHelpProc$) STATIC AS STRING
  355.     IF FDoDialog(HwndFrame(), szDll$, Dlg%, szDlgProc$, HelpDlg%, szHelpProc$) = 0 THEN
  356.     ERROR STFERR
  357.     ELSE
  358.         UIStartDlg = GetSymbolValue("DLGEVENT")
  359.     END IF
  360. END FUNCTION
  361.  
  362. '*************************************************************************
  363. FUNCTION GetListLength(szSymbol$) STATIC AS INTEGER
  364.     GetListLength = UsGetListLength(szSymbol$)
  365.     IF szSymbol$ = "" THEN
  366.         ERROR STFERR
  367.     END IF
  368. END FUNCTION
  369.  
  370. '*************************************************************************
  371. FUNCTION GetListItem(szListSymbol$, nItem%) STATIC AS STRING
  372.     szListItem$ = string$(cbSymValMax,32)
  373.     Length% = CbGetListItem(szListSymbol$, nItem%, szListItem$, cbSymValMax)
  374.     GetListItem = szListItem$
  375.     IF Length% >= cbSymValMax THEN
  376.     ERROR STFERR
  377.     END IF
  378.     IF szListSymbol$ = "" THEN
  379.         ERROR STFERR
  380.     END IF
  381.     if nItem% <= 0 or nItem% > GetListLength(szListSymbol$) then
  382.         ERROR STFERR
  383.     end if
  384.     szListItem$ = ""
  385. END FUNCTION
  386.  
  387. '*************************************************************************
  388. SUB UIPop (n%) STATIC
  389.     IF FKillNDialogs(n%) = 0 THEN
  390.     ERROR STFERR
  391.     END IF
  392. END SUB
  393.  
  394.  
  395. '*************************************************************************
  396. SUB UIPopAll STATIC
  397.     IF FKillNDialogs(65535) = 0 THEN
  398.     ERROR STFERR
  399.     END IF
  400. END SUB
  401.  
  402. '*************************************************************************
  403. SUB ClearCopyList STATIC
  404.     ResetCopyList
  405. END SUB
  406.  
  407. '*************************************************************************
  408. SUB CreateDir (szDir$, cmo%) STATIC
  409.     IF FCreateDir(szDir$, cmo%) = 0 THEN
  410.     ERROR STFERR
  411.     END IF
  412. END SUB
  413.  
  414. '*************************************************************************
  415. SUB ClearBillboardList STATIC
  416.     IF FClearBillboardList = 0 THEN
  417.     ERROR STFERR
  418.     END IF
  419. END SUB
  420.  
  421. '*************************************************************************
  422. SUB AddToBillboardList (szDll$, idDlg%, szProc$, lTicks&) STATIC
  423.     IF FAddToBillboardList(szDll$, idDlg%, szProc$, lTicks&) = 0 THEN
  424.     ERROR STFERR
  425.     END IF
  426. END SUB
  427.  
  428. '*************************************************************************
  429. SUB CopyFilesInCopyList STATIC
  430.     grc% = GrcCopyFilesInCopyList (HinstFrame())
  431.  
  432.     IF grc% = grcUserQuit THEN
  433.         ERROR STFQUIT
  434.     ELSEIF grc% > 0 THEN
  435.     ERROR STFERR
  436.     END IF
  437. END SUB
  438.  
  439. '*************************************************************************
  440. SUB CreateProgmanGroup (szGroup$, szPath$, cmo%) STATIC
  441.     IF FCreateProgManGroup(szGroup$, szPath$, cmo%) = 0 THEN
  442.     ERROR STFERR
  443.     END IF
  444. END SUB
  445.  
  446.  
  447. '*************************************************************************
  448. SUB ShowProgmanGroup (szGroup$, Cmd%, cmo%) STATIC
  449.     IF FShowProgManGroup(szGroup$, STR$(Cmd%), cmo%) = 0 THEN
  450.     ERROR STFERR
  451.     END IF
  452. END SUB
  453.  
  454. '*************************************************************************
  455. SUB CreateProgmanItem (szGroup$, szItem$, szCmd$, szOther$, cmo%) STATIC
  456.     szItemNew$ = szItem$
  457.     IF szOther$ <> "" THEN
  458.         szItemNew$ = szItem$ + "," + szOther$
  459.     END IF
  460.  
  461.     IF FCreateProgManItem(szGroup$, szItemNew$, szCmd$, cmo%) = 0 THEN
  462.     ERROR STFERR
  463.     END IF
  464.     szItemNew$ = ""
  465. END SUB
  466.  
  467. '*************************************************************************
  468. FUNCTION RestartListEmpty STATIC AS INTEGER
  469.     IF FRestartListEmpty() = 0 THEN
  470.         RestartListEmpty = 0
  471.     ELSE
  472.         RestartListEmpty = 1
  473.     END IF
  474. END FUNCTION
  475.  
  476. '*************************************************************************
  477. SUB SetRestartDir (szDir$) STATIC
  478.     IF FSetRestartDir(szDir$) = 0 THEN
  479.     ERROR STFERR
  480.     END IF
  481. END SUB
  482.  
  483. '*************************************************************************
  484. FUNCTION ExitExecRestart STATIC AS INTEGER
  485.     ExitExecRestart = FExitExecRestart
  486. END FUNCTION
  487.  
  488. '*************************************************************************
  489. SUB SetSymbolValue(szSymbol$, szValue$) STATIC
  490.     IF FSetSymbolValue(szSymbol$, szValue$) = 0 THEN
  491.     ERROR STFERR
  492.     END IF
  493. END SUB
  494.  
  495. '*************************************************************************
  496. FUNCTION IsDirWritable (szDir$) STATIC AS INTEGER
  497.     IsDirWritable = FIsDirWritable(szDir$)
  498. END FUNCTION
  499.  
  500. '*************************************************************************
  501. SUB AddSectionFilesToCopyList (szSect$, szSrc$, szDest$) STATIC
  502.     IF FAddSectionFilesToCopyList (szSect$, szSrc$, szDest$) = 0 THEN
  503.     ERROR STFERR
  504.     END IF
  505. END SUB
  506.  
  507. '*************************************************************************
  508. SUB AddSpecialFileToCopyList (szSect$, szKey$, szSrc$, szDest$) STATIC
  509.     IF FAddSpecialFileToCopyList (szSect$, szKey$, szSrc$, szDest$) = 0 THEN
  510.     ERROR STFERR
  511.     END IF
  512. END SUB
  513.  
  514. '*************************************************************************
  515. FUNCTION GetSectionKeyFilename (szSect$, szKey$) STATIC AS STRING
  516.     szBuf$ = string$(128, 32)
  517.     Length% = CbGetInfSectionKeyField(szSect$, szKey$, 1, szBuf$, 128)
  518.     IF Length% >= 128 THEN
  519.         res% = DoMsgBox("Buffer Overflow", "MS-Setup Error", MB_ICONHAND+MB_OK)
  520.         ERROR STFERR
  521.     END IF
  522.  
  523.     IF Length% = -1 THEN
  524.     ERROR STFERR
  525.     END IF
  526.  
  527.     GetSectionKeyFilename = szBuf$
  528.     szBuf$ = ""
  529. END FUNCTION
  530.  
  531. '*************************************************************************
  532. SUB AddSectionKeyFileToCopyList (szSect$, szKey$, szSrc$, szDest$) STATIC
  533.     IF FAddSectionKeyFileToCopyList (szSect$, szKey$, szSrc$, szDest$) = 0 THEN
  534.     ERROR STFERR
  535.     END IF
  536. END SUB
  537.  
  538. '*************************************************************************
  539. FUNCTION ShowWaitCursor STATIC AS INTEGER
  540.     ShowWaitCursor = HShowWaitCursor
  541. END FUNCTION
  542.  
  543. '*************************************************************************
  544. SUB RestoreCursor (hPrev%) STATIC
  545.     i% = FRestoreCursor(hPrev%)
  546.     IF i% = 0 THEN
  547.     ERROR STFERR
  548.     END IF
  549. END SUB
  550.  
  551. '*************************************************************************
  552. FUNCTION DoesFileExist (szFileName$, mode%) STATIC  AS INTEGER
  553.     DoesFileExist = FDoesFileExist(szFileName$, mode%)
  554. END FUNCTION
  555.  
  556. '*************************************************************************
  557. FUNCTION GetSizeOfFile (szFile$) STATIC  AS LONG
  558.     GetSizeOfFile = LcbGetSizeOfFile(szFile$)
  559. END FUNCTION
  560.  
  561. '**************************************************************************
  562. SUB MakeListFromSectionKeys(szSymbol$, szSect$) STATIC
  563.     IF FSetSymbolToListOfInfKeys(szSymbol$, szSect$, 1) = 0 THEN
  564.     ERROR STFERR
  565.     END IF
  566. END SUB
  567.  
  568.  
  569.  
  570.  
  571. '*************************************************************************
  572. '           M A I N
  573. '*************************************************************************
  574.  
  575. TRAP CleanupTrap From "MSSHLSTF.DLL"
  576.  
  577. End Trap
  578.  
  579. hSetup = InitSetup(COMMAND$)
  580.  
  581. ON ERROR GOTO QUIT
  582.