home *** CD-ROM | disk | FTP | other *** search
/ Pegasus 5 / Pegasus_Vol_5_CD2.iso / lotus / winagent / install.dsk / SETUPAPI.LSS < prev    next >
Text File  |  1995-01-25  |  50KB  |  2,274 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194. USE "RESOURCE"
  195. USE "GLOBALS"
  196. OPTION DECLARE
  197.  
  198.  
  199.  
  200.  
  201. PUBLIC CONST LOGPIXELSY    = 90
  202. PUBLIC CONST SM_CXSCREEN   = 0
  203. PUBLIC CONST SM_CYSCREEN   = 1
  204. PUBLIC CONST WF_80x87      = 1024
  205. PUBLIC CONST WF_CPU186     = 128
  206. PUBLIC CONST WF_CPU286     = 2
  207. PUBLIC CONST WF_CPU386     = 4
  208. PUBLIC CONST WF_CPU486     = 8
  209. PUBLIC CONST WF_STANDARD   = 16
  210. PUBLIC CONST WF_ENHANCED   = 32
  211. PUBLIC CONST USERNAME      = 514
  212. PUBLIC CONST COMPANYNAME   = 515
  213. PUBLIC CONST NULLSTROK     = 0           
  214. PUBLIC CONST INVALIDSTROK  = 0
  215. PUBLIC CONST NULLSTRERR    = 1
  216. PUBLIC CONST INVALIDSTRERR = 1
  217.  
  218.  
  219. PUBLIC CONST HELP_CONTEXT      = 1
  220. PUBLIC CONST HELP_QUIT         = 2
  221. PUBLIC CONST HELP_INDEX        = 3
  222. PUBLIC CONST HELP_CONTENTS     = 3
  223. PUBLIC CONST HELP_HELPONHELP   = 4
  224. PUBLIC CONST HELP_SETINDEX     = 5
  225. PUBLIC CONST HELP_SETCONTENTS  = 5
  226. PUBLIC CONST HELP_CONTEXTPOPUP = 8
  227. PUBLIC CONST HELP_FORCEFILE    = 9
  228. PUBLIC CONST HELP_KEY          = 257   
  229. PUBLIC CONST HELP_COMMAND      = 258   
  230. PUBLIC CONST HELP_PARTIALKEY   = 261   
  231. PUBLIC CONST HELP_MULTIKEY     = 513   
  232. PUBLIC CONST HELP_SETWINPOS    = 515   
  233.  
  234.  
  235. PUBLIC CONST MB_SYSTEMMODAL      = 4096
  236. PUBLIC CONST MB_TASKMODAL        = 8192
  237. PUBLIC CONST MB_OK                   = &H0000
  238. PUBLIC CONST MB_OKCANCEL           = &H0001
  239. PUBLIC CONST MB_ABORTRETRYIGNORE = &H0002
  240. PUBLIC CONST MB_YESNOCANCEL        = &H0003
  241. PUBLIC CONST MB_YESNO               = &H0004
  242. PUBLIC CONST MB_RETRYCANCEL        = &H0005
  243. PUBLIC CONST MB_TYPEMASK           = &H000F
  244.  
  245. PUBLIC CONST MB_ICONHAND           = &H0010
  246. PUBLIC CONST MB_ICONQUESTION        = &H0020
  247. PUBLIC CONST MB_ICONEXCLAMATION    = &H0030
  248. PUBLIC CONST MB_ICONASTERISK        = &H0040
  249. PUBLIC CONST MB_ICONMASK           = &H00F0
  250.  
  251. PUBLIC CONST MB_ICONINFORMATION  = MB_ICONASTERISK
  252. PUBLIC CONST MB_ICONSTOP         = MB_ICONHAND
  253.  
  254. PUBLIC CONST IDYES                  = 6
  255. PUBLIC CONST IDNO                = 7
  256.  
  257.  
  258.  
  259.  
  260.  
  261. PUBLIC CONST cmoVital       = 1
  262. PUBLIC CONST cmoCopy        = 2
  263. PUBLIC CONST cmoUndo        = 4
  264. PUBLIC CONST cmoRoot        = 8
  265. PUBLIC CONST cmoDecompress  = 16
  266. PUBLIC CONST cmoTimeStamp   = 32
  267. PUBLIC CONST cmoReadOnly    = 64
  268. PUBLIC CONST cmoBackup      = 128
  269. PUBLIC CONST cmoForce       = 256
  270. PUBLIC CONST cmoRemove      = 512
  271. PUBLIC CONST cmoOverwrite   = 1024
  272. PUBLIC CONST cmoAppend      = 2048
  273. PUBLIC CONST cmoPrepend     = 4096
  274. PUBLIC CONST cmoNone        = 0
  275. PUBLIC CONST cmoAll         = 65535
  276.  
  277.  
  278.  
  279. PUBLIC CONST femExists     = 0
  280. PUBLIC CONST femRead       = 1
  281. PUBLIC CONST femWrite      = 2
  282. PUBLIC CONST femReadWrite  = 3
  283.  
  284.  
  285.  
  286.  
  287. PUBLIC CONST ynrcNo         = 0
  288. PUBLIC CONST ynrcYes        = 1
  289. PUBLIC CONST ynrcErr1       = 2
  290. PUBLIC CONST ynrcErr2       = 3
  291. PUBLIC CONST ynrcErr3       = 4
  292. PUBLIC CONST ynrcErr4       = 5
  293. PUBLIC CONST ynrcErr5       = 6
  294. PUBLIC CONST ynrcErr6       = 7
  295. PUBLIC CONST ynrcErr7       = 8
  296. PUBLIC CONST ynrcErr8       = 9
  297. PUBLIC CONST ynrcErr9       = 10
  298.  
  299.  
  300. PUBLIC CONST EW_RESTARTWINDOWS = 66 
  301. PUBLIC CONST EW_REBOOTSYSTEM   = 67 
  302.  
  303.  
  304. PUBLIC CONST ADD_GRP = 0
  305.  
  306.  
  307.  
  308. PUBLIC CONST grcOkay       = 0
  309. PUBLIC CONST grcNotOkay    = 1
  310. PUBLIC CONST grcUserQuit   = 48
  311.  
  312.  
  313.  
  314.  
  315.  
  316. PUBLIC CONST cbSymValMax = 512
  317.     
  318.     
  319.     
  320.     
  321.     
  322.     
  323.  
  324.  
  325.  
  326. PUBLIC CONST STFERR      = 1024   
  327. PUBLIC CONST STFQUIT     = 1025   
  328. PUBLIC CONST STFTOGGLE  = 1026   
  329.  
  330. PUBLIC CONST scmOff      = 0
  331. PUBLIC CONST scmOnIgnore = 1
  332. PUBLIC CONST scmOnFatal  = 2
  333.  
  334. PUBLIC CONST REG_SZ&              = 1
  335. PUBLIC CONST HKEY_CLASSES_ROOT&   = 1
  336. PUBLIC CONST ERROR_SUCCESS        = 0
  337. PUBLIC CONST GRC_API_FAILED       = 104
  338.  
  339. PUBLIC CONST LOGO = 2
  340.  
  341.  
  342. PUBLIC CONST SW_HIDE  =  0
  343. PUBLIC CONST SW_SHOW  =  5
  344. PUBLIC CONST SW_SHOWNORMAL = 1
  345. PUBLIC CONST SW_NORMAL = 1
  346. PUBLIC CONST SW_SHOWMINIMIZED= 2
  347. PUBLIC CONST SW_SHOWMAXIMIZED =  3
  348. PUBLIC CONST SW_MAXIMIZE =  3
  349. PUBLIC CONST SW_SHOWNOACTIVATE = 4
  350. PUBLIC CONST SW_MINIMIZE =  6
  351. PUBLIC CONST SW_SHOWMINNOACTIVE = 7
  352. PUBLIC CONST SW_SHOWNA =  8
  353. PUBLIC CONST SW_RESTORE = 9
  354.  
  355.  
  356.  
  357.  
  358.  
  359. DIM    hSetup            AS INTEGER
  360.  
  361.  
  362. DIM     g_strbuf          AS STRING
  363. PUBLIC gStrK         AS STRING
  364. PUBLIC gStrMB        AS STRING
  365.  
  366.  
  367.  
  368.  
  369. DECLARE PUBLIC FUNCTION OpenBookShelfFile LIB "FIXBOOK.DLL" (ByVal bookshelfname$) AS INTEGER
  370. DECLARE PUBLIC FUNCTION CloseBookShelfFile LIB "FIXBOOK.DLL" () AS INTEGER
  371. DECLARE PUBLIC FUNCTION AddBook LIB "FIXBOOK.DLL" (ByVal bookpath$, ByVal bookcaption$) AS INTEGER
  372.  
  373.  
  374. DECLARE PUBLIC FUNCTION BcfMod LIB "BCFMOD.DLL" (ByVal BcfFilepath$, ByVal DNarg$, ByVal DLarg$, ByVal DCarg$, ByVal ACarg$, ByVal DDarg$) AS INTEGER
  375.  
  376. DECLARE PUBLIC FUNCTION FixODBCiniSources LIB "BCFMOD.DLL" (ByVal IniFile$, ByVal Sect1$, ByVal Match1$, ByVal Repl1$, ByVal Sect2$, ByVal Match2$, ByVal Repl2$) AS INTEGER
  377.  
  378.  
  379.  
  380.  
  381. DECLARE PUBLIC FUNCTION FCleanFATPath LIB "lcomstf.dll" (ByVal szPath$) AS INTEGER
  382. DECLARE PUBLIC FUNCTION FLotusInitialize LIB "lcomstf.dll" (ByVal sess&) AS INTEGER 
  383.  
  384.  
  385. DECLARE PUBLIC FUNCTION IsDBCSFirstAtOffset LIB "lcomstf.dll" (ByVal szStr$, ByVal cnt%) AS INTEGER
  386. DECLARE PUBLIC FUNCTION FDBCSCharLen LIB "lcomstf.dll" (ByVal szStr$, ByVal offset%) AS INTEGER
  387.  
  388.  
  389. DECLARE PUBLIC FUNCTION IsShareInstalled LIB "lcomstf.dll" () AS INTEGER
  390. DECLARE PUBLIC FUNCTION ExitWindows LIB "user" (ByVal dwReturnCode%, ByVal wReserved%) AS INTEGER
  391. DECLARE PUBLIC FUNCTION FindWindow LIB "user" (ByVal lpszClassName$, ByVal lpszWindow$) AS INTEGER
  392.  
  393.  
  394. DECLARE PUBLIC FUNCTION ProgmanManageGroup LIB "mscuistf.dll" (ByVal szName$, ByVal fDelete%) AS INTEGER 
  395.  
  396.  
  397.  
  398. DECLARE PUBLIC FUNCTION FDoDialog LIB "msuilstf.dll" (ByVal hwnd%, ByVal szDll$, ByVal Dlg%, ByVal szDlgProc$, ByVal HelpDlg%,_
  399.     ByVal szHelpProc$) AS INTEGER
  400. DECLARE PUBLIC FUNCTION FKillNDialogs LIB "msuilstf.dll" (ByVal n%) AS INTEGER
  401.  
  402.  
  403. DECLARE PUBLIC FUNCTION FCreateDir LIB "msinsstf.dll" (ByVal szDir$, ByVal cmo%) AS INTEGER
  404. DECLARE PUBLIC FUNCTION FRemoveIniSection LIB "msinsstf.dll" (ByVal szFile$, ByVal szSect$, ByVal cmo%) AS INTEGER
  405. DECLARE PUBLIC FUNCTION FCreateIniKeyValue LIB "msinsstf.dll" (ByVal szFile$, ByVal szSect$, ByVal szKey$, ByVal szValue$, ByVal cmo%) AS INTEGER
  406. DECLARE PUBLIC FUNCTION FRemoveIniKey LIB "msinsstf.dll" (ByVal szFile$, ByVal szSect$, ByVal szKey$, ByVal cmo%) AS INTEGER
  407. DECLARE PUBLIC FUNCTION FCreateSysIniKeyValue LIB "msinsstf.dll" (ByVal szFile$, ByVal szSect$, ByVal szKey$, ByVal szValue$, ByVal cmo%) AS INTEGER
  408. DECLARE PUBLIC FUNCTION FCreateProgManGroup LIB "msinsstf.dll" (ByVal szGroup$, ByVal szPath$, ByVal cmo%) AS INTEGER
  409. DECLARE PUBLIC FUNCTION FCreateProgManItem LIB "msinsstf.dll" (ByVal szGroup$, ByVal szItem$, ByVal szCmd$, ByVal cmo%) AS INTEGER
  410. DECLARE PUBLIC FUNCTION FShowProgManGroup LIB "msinsstf.dll" (ByVal szGroup$, ByVal szCmd$, ByVal cmo%) AS INTEGER
  411. DECLARE PUBLIC FUNCTION FStampResource LIB "msinsstf.dll" (ByVal szSect$, ByVal szKey$, ByVal szDst$,_
  412.     ByVal  wResType%, ByVal wResId%, ByVal szData$, ByVal cbData%) AS INTEGER
  413. DECLARE PUBLIC FUNCTION FAddDos5Help LIB "msinsstf.dll" (ByVal szProgName$, ByVal szProgHelp$, ByVal cmo%) AS INTEGER
  414. DECLARE PUBLIC FUNCTION FCopyOneFile LIB "msinsstf.dll" (ByVal szSrc$, ByVal szDest$, ByVal cmo%, ByVal fAppend%) AS INTEGER
  415. DECLARE PUBLIC FUNCTION YnrcRemoveFile LIB "msinsstf.dll" (ByVal szFullPathSrc$, ByVal cmo%) AS INTEGER
  416. DECLARE PUBLIC FUNCTION YnrcBackupFile LIB "msinsstf.dll" (ByVal szFullPath$, ByVal szBackup$, ByVal cmo%) AS INTEGER
  417. DECLARE PUBLIC FUNCTION FInitializeInstall LIB "msinsstf.dll" ( ByVal hinst%, ByVal hwndFrame%) AS INTEGER
  418. DECLARE PUBLIC FUNCTION WFindFileUsingFileOpen LIB "msinsstf.dll" (ByVal szFile$, ByVal szBuf$, ByVal cbBuf%) AS INTEGER
  419. DECLARE PUBLIC FUNCTION FIsDirWritable LIB "msinsstf.dll" (ByVal szDir$) AS INTEGER
  420. DECLARE PUBLIC FUNCTION FIsFileWritable LIB "msinsstf.dll" (ByVal szFile$) AS INTEGER
  421. DECLARE PUBLIC FUNCTION SetDecompMode LIB "msinsstf.dll" (ByVal fMode%) AS INTEGER
  422. DECLARE PUBLIC FUNCTION GetDecompMode LIB "msinsstf.dll" () AS INTEGER
  423. DECLARE PUBLIC FUNCTION FPrependToPath LIB "msinsstf.dll" (ByVal szSrc$, ByVal szDst$, ByVal szDir$, ByVal cmo%) AS INTEGER
  424. DECLARE PUBLIC FUNCTION SetTimeValue LIB "msinsstf.dll" (ByVal usHours%, ByVal usMinutes%, ByVal usSeconds%) AS INTEGER
  425.  
  426. DECLARE PUBLIC FUNCTION HShowWaitCursor LIB "msshlstf.dll" () AS INTEGER
  427. DECLARE PUBLIC FUNCTION FRestoreCursor  LIB "msshlstf.dll" (ByVal hPrev%) AS INTEGER
  428. DECLARE PUBLIC FUNCTION FSetBitmap LIB "msshlstf.dll" (ByVal szDll$, ByVal Bitmap%) AS INTEGER
  429. DECLARE PUBLIC FUNCTION FSetAbout LIB "msshlstf.dll" (ByVal szAbout1$, ByVal szAbout2$) AS INTEGER
  430. DECLARE PUBLIC FUNCTION FSetSymbolValue LIB "msshlstf.dll" (ByVal szSymbol$,ByVal szValue$) AS INTEGER
  431. DECLARE PUBLIC FUNCTION InitializeFrame LIB "msshlstf.dll" (ByVal szCmdLine$) AS INTEGER
  432. DECLARE PUBLIC FUNCTION HwndFrame LIB "msshlstf.dll" () AS INTEGER
  433. DECLARE PUBLIC FUNCTION HinstFrame LIB "msshlstf.dll" () AS INTEGER
  434. DECLARE PUBLIC FUNCTION FWriteToFile LIB "msshlstf.dll" (ByVal szFile$, ByVal sz$) AS INTEGER
  435.  
  436. DECLARE PUBLIC FUNCTION FValidFATDir LIB "mscomstf.dll" (ByVal szDir$) AS INTEGER
  437. DECLARE PUBLIC FUNCTION CchlValidFATSubPath LIB "mscomstf.dll" (ByVal szPath$) AS INTEGER
  438. DECLARE PUBLIC FUNCTION EercErrorHandler LIB "mscomstf.dll" (ByVal grc%,ByVal fVital%,ByVal  sz1$,ByVal  sz2$,ByVal  sz3$) AS INTEGER
  439. DECLARE PUBLIC FUNCTION FValidFATPath LIB "mscomstf.dll" (ByVal szPath$) AS INTEGER
  440. DECLARE PUBLIC FUNCTION FAddSpecialFileToCopyList LIB "mscomstf.dll" (ByVal szSect$, ByVal szKey$, ByVal szSrc$, ByVal szDest$) AS INTEGER
  441. DECLARE PUBLIC FUNCTION FRemoveSymbol LIB "mscomstf.dll" (ByVal szSym$) AS INTEGER
  442. DECLARE PUBLIC FUNCTION CbGetSymbolValue LIB "mscomstf.dll" (ByVal szSymbol$, ByVal szValue$,ByVal Length%) AS INTEGER
  443. DECLARE PUBLIC FUNCTION UsGetListLength LIB "mscomstf.dll" (ByVal szSymbol$) AS INTEGER
  444. DECLARE PUBLIC FUNCTION CbGetListItem LIB "mscomstf.dll" (ByVal szListSymbol$, ByVal n%, ByVal szListItem$, ByVal cbMax%) AS INTEGER
  445. DECLARE PUBLIC FUNCTION FAddListItem LIB "mscomstf.dll" (ByVal szListSymbol$,ByVal szListItem$) AS INTEGER
  446. DECLARE PUBLIC FUNCTION FReplaceListItem LIB "mscomstf.dll" (ByVal szListSymbol$, ByVal n%, ByVal szListItem$) AS INTEGER
  447. DECLARE PUBLIC FUNCTION FOpenLogFile    LIB "mscomstf.dll" (ByVal szFile$, ByVal fAppend%) AS INTEGER
  448. DECLARE PUBLIC FUNCTION FCloseLogFile   LIB "mscomstf.dll" () AS INTEGER
  449. DECLARE PUBLIC FUNCTION FWriteToLogFile LIB "mscomstf.dll" (ByVal sz$, ByVal fRequire%) AS INTEGER
  450. DECLARE PUBLIC FUNCTION DoMsgBox LIB "lcomstf.dll" (ByVal lpText$,ByVal lpCaption$,ByVal wType%) As INTEGER
  451. DECLARE PUBLIC FUNCTION FParseFATPathIntoPieces LIB "mscomstf.dll" (ByVal szPath$, ByVal szVol$,_
  452.     ByVal cbVol%, ByVal szDir$, ByVal cbDir%, ByVal szFile$, ByVal cbFile%) AS INTEGER
  453.  
  454. DECLARE PUBLIC FUNCTION CbGetVersionOfFile LIB "msdetstf.dll" (ByVal szFile$,ByVal  szBuf$,ByVal cbBuf%) AS INTEGER
  455. DECLARE PUBLIC FUNCTION LGetVersionNthField LIB "msdetstf.dll" (ByVal szVersion$,ByVal nField%) AS LONG
  456. DECLARE PUBLIC FUNCTION LcbGetSizeOfFile LIB "msdetstf.dll" (ByVal szFile$) AS LONG
  457. DECLARE PUBLIC FUNCTION FGetValidDrivesList LIB "msdetstf.dll" (ByVal szSymbol$) AS INTEGER
  458. DECLARE PUBLIC FUNCTION FGetLocalHardDrivesList LIB "msdetstf.dll" (ByVal szSymbol$) AS INTEGER
  459. DECLARE PUBLIC FUNCTION FGetRemovableDrivesList LIB "msdetstf.dll" (ByVal szSymbol$) AS INTEGER
  460. DECLARE PUBLIC FUNCTION FGetNetworkDrivesList LIB "msdetstf.dll" (ByVal szSymbol$) AS INTEGER
  461. DECLARE PUBLIC FUNCTION LcbTotalDrive LIB "msdetstf.dll" (ByVal nDrive%) AS LONG
  462. DECLARE PUBLIC FUNCTION LcbFreeDrive LIB "msdetstf.dll" (ByVal nDrive%) AS LONG
  463. DECLARE PUBLIC FUNCTION FIsValidDrive LIB "msdetstf.dll" (ByVal nDrive%) AS INTEGER
  464. DECLARE PUBLIC FUNCTION FIsLocalHardDrive LIB "msdetstf.dll" (ByVal nDrive%) AS INTEGER
  465. DECLARE PUBLIC FUNCTION FIsRemoveDrive LIB "msdetstf.dll" (ByVal nDrive%) AS INTEGER
  466. DECLARE PUBLIC FUNCTION FIsRemoteDrive LIB "msdetstf.dll" (ByVal nDrive%) AS INTEGER
  467. DECLARE PUBLIC FUNCTION FDirExists LIB "msdetstf.dll" (ByVal szDir$) AS INTEGER
  468. DECLARE PUBLIC FUNCTION FDoesFileExist LIB "msdetstf.dll" (ByVal szFileName$, ByVal mode%) AS INTEGER
  469. DECLARE PUBLIC FUNCTION CbGetDateOfFile LIB "msdetstf.dll" (ByVal szFile$, ByVal szBuf$, ByVal cbBuf%) AS INTEGER
  470. DECLARE PUBLIC FUNCTION FDoesIniSectionExist LIB "msdetstf.dll" (ByVal szFile$, ByVal szSect$) AS INTEGER
  471. DECLARE PUBLIC FUNCTION FDoesIniKeyExist LIB "msdetstf.dll" (ByVal szFile$, ByVal szSect$, ByVal szKey$) AS INTEGER
  472. DECLARE PUBLIC FUNCTION CbGetIniKeyString LIB "msdetstf.dll" (ByVal szFile$, ByVal szSect$, ByVal szKey$, ByVal szBuf$, ByVal cbBuf%) AS INTEGER
  473. DECLARE PUBLIC FUNCTION WGetDOSMajorVersion LIB "msdetstf.dll" () AS INTEGER
  474. DECLARE PUBLIC FUNCTION WGetDOSMinorVersion LIB "msdetstf.dll" () AS INTEGER
  475. DECLARE PUBLIC FUNCTION CbGetEnvVariableValue LIB "msdetstf.dll" (ByVal szEnvVar$, ByVal szBuf$, ByVal cbBuf%) AS INTEGER
  476. DECLARE PUBLIC FUNCTION WGetNumWinApps LIB "msdetstf.dll" () AS INTEGER
  477. DECLARE PUBLIC FUNCTION FGetParallelPortsList LIB "msdetstf.dll" (ByVal szSymbol$) AS INTEGER
  478. DECLARE PUBLIC FUNCTION FGetSerialPortsList LIB "msdetstf.dll" (ByVal szSymbol$) AS INTEGER
  479. DECLARE PUBLIC FUNCTION FHas87MathChip LIB "msdetstf.dll" () AS INTEGER
  480. DECLARE PUBLIC FUNCTION FHasMonochromeDisplay LIB "msdetstf.dll" () AS INTEGER
  481. DECLARE PUBLIC FUNCTION FHasMouseInstalled LIB "msdetstf.dll" () AS INTEGER
  482. DECLARE PUBLIC FUNCTION WGetConfigSmartdrvSize LIB "msdetstf.dll" () AS INTEGER
  483. DECLARE PUBLIC FUNCTION WGetConfigRamdriveSize LIB "msdetstf.dll" () AS INTEGER
  484. DECLARE PUBLIC FUNCTION WGetConfigNumBuffers LIB "msdetstf.dll" () AS INTEGER
  485. DECLARE PUBLIC FUNCTION WGetConfigNumFiles LIB "msdetstf.dll" () AS INTEGER
  486. DECLARE PUBLIC FUNCTION WGetConfigLastDrive LIB "msdetstf.dll" () AS INTEGER
  487. DECLARE PUBLIC FUNCTION FIsDriverInConfig LIB "msdetstf.dll" (ByVal szDrv$) AS INTEGER
  488. DECLARE PUBLIC FUNCTION CbFindTargetOnEnvVar LIB "msdetstf.dll" (ByVal szFile$, ByVal szEnvVar$, ByVal szBuf$, ByVal cbBuf%) AS INTEGER
  489. DECLARE PUBLIC FUNCTION CbFindFileInTree LIB "msdetstf.dll" (ByVal szFile$, ByVal szDir$, ByVal szBuf$, ByVal cbBuf%) AS INTEGER
  490. DECLARE PUBLIC FUNCTION GetTypeFaceNameFromTTF LIB "msdetstf.dll" (ByVal szFile$, ByVal szBuf$, ByVal cbBuf%) AS INTEGER
  491. DECLARE PUBLIC FUNCTION GetExistingFOTFileForTTF LIB "msdetstf.dll" (ByVal szFile$, ByVal szBuf$, ByVal cbBuf%) AS INTEGER
  492.  
  493. DECLARE PUBLIC FUNCTION HinstCui LIB "mscuistf.dll" () AS INTEGER
  494.  
  495.  
  496.  
  497. DECLARE PUBLIC FUNCTION SendDlgItemMessage LIB "user" (ByVal hDlg%,ByVal idCtrl%,ByVal msg%,ByVal w%,ByVal l&) AS LONG
  498. DECLARE PUBLIC FUNCTION SendMessage LIB "user" (ByVal hWnd%,ByVal msg%,ByVal w%,ByVal l&) AS LONG
  499. DECLARE PUBLIC FUNCTION GetTickCount LIB "user" () AS LONG
  500. DECLARE PUBLIC FUNCTION GetDC LIB "User" (ByVal hWnd%) As Integer
  501. DECLARE PUBLIC FUNCTION ReleaseDC LIB "User" (ByVal hWnd%, ByVal hDC%) As Integer
  502. DECLARE PUBLIC FUNCTION GetDeviceCaps LIB "GDI" (ByVal hDC%, ByVal nIndex%) As Integer
  503. DECLARE PUBLIC FUNCTION WinHelp LIB "user" (ByVal hwndMain%, ByVal helpfile$, ByVal context%, ByVal ID AS LONG) AS INTEGER
  504. DECLARE PUBLIC FUNCTION WinExec LIB "kernel" (ByVal path$, ByVal data%) AS INTEGER
  505. DECLARE PUBLIC FUNCTION IsDlgbuttonChecked LIB "User" (ByVal hwnd%, ByVal fEnable%) AS INTEGER
  506. DECLARE PUBLIC FUNCTION GetWindowsDirectory LIB "kernel" (ByVal szBuf$,ByVal cbBuf%) AS INTEGER
  507. DECLARE PUBLIC FUNCTION GetSystemDirectory LIB "kernel" (ByVal szBuf$, ByVal cbBuf%) AS INTEGER
  508. DECLARE PUBLIC FUNCTION GetProfileString LIB "kernel" (ByVal szSect$,ByVal szKey$,ByVal  szDefault$,ByVal szBuf$,ByVal cbBuf%) AS INTEGER
  509. DECLARE PUBLIC FUNCTION GetVersion LIB "kernel" () AS INTEGER
  510. DECLARE PUBLIC FUNCTION GetSystemMetrics LIB "user" (ByVal nIndex%) AS INTEGER
  511. DECLARE PUBLIC FUNCTION GetWinFlags LIB "kernel" () AS LONG
  512. DECLARE PUBLIC FUNCTION LoadString LIB "user" (ByVal hinst%,ByVal TextID%, ByVal Textbuf$, ByVal BufSize%) AS INTEGER
  513. DECLARE PUBLIC FUNCTION GetModuleHandle LIB "kernel" (ByVal path$) AS INTEGER
  514. DECLARE PUBLIC FUNCTION GetDlgItem LIB "user" (ByVal hwndDlg%,ByVal idControl%) AS INTEGER
  515. DECLARE PUBLIC FUNCTION IsWindowVisible LIB "user" (ByVal hwndDlg%) AS INTEGER
  516. DECLARE PUBLIC FUNCTION UpdateWindow LIB "user" (ByVal hwndDlg%) AS INTEGER
  517. DECLARE PUBLIC FUNCTION SetFocus LIB "user" (ByVal hwndDlg%) AS INTEGER
  518. DECLARE PUBLIC FUNCTION GetParent LIB "user" (ByVal hwndDlg%) AS INTEGER
  519.  
  520.  
  521. DECLARE PUBLIC SUB      SetWindowText LIB "user" (ByVal hwnd%, ByVal lpString$)
  522. DECLARE PUBLIC FUNCTION EnableWindow LIB "user" (ByVal hwnd%, ByVal fEnable%) AS INTEGER
  523. DECLARE PUBLIC FUNCTION ShowWindow LIB "user" (ByVal hwnd%, ByVal fEnable%) AS INTEGER
  524. DECLARE PUBLIC FUNCTION RegSetValue LIB "shell" (ByVal hKey&, ByVal szSubKey$, ByVal dwType&, ByVal szValue$, ByVal cbValue&) AS LONG
  525. DECLARE PUBLIC FUNCTION RegCloseKey LIB "shell" (ByVal hKey&) AS LONG
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532. DECLARE PUBLIC SUB       CreateIniKeyValue (szFile$, szSect$, szKey$, szValue$, cmo%)
  533.  
  534.  
  535. DECLARE PUBLIC SUB      CreateProgmanGroup (szGroup$, szPath$, cmo%)
  536. DECLARE PUBLIC SUB      CreateProgmanItem (szGroup$, szItem$, szCmd$, szOther$, cmo%)
  537. DECLARE PUBLIC SUB      ShowProgmanGroup (szGroup$, Cmd%, cmo%)
  538.  
  539.  
  540. DECLARE PUBLIC SUB      CopyFile (szFullPathSrc$, szFullPathDst$, cmo%, fAppend%)
  541. DECLARE PUBLIC SUB      RemoveFile (szFullPathSrc$, cmo%)
  542.  
  543.  
  544. DECLARE PUBLIC SUB       InitInstall
  545. DECLARE PUBLIC SUB      OpenLogFile (szFile$, fAppend%)
  546. DECLARE PUBLIC SUB      CloseLogFile
  547. DECLARE PUBLIC SUB      WriteToLogFile (szStr$)
  548.  
  549. DECLARE PUBLIC FUNCTION IsDirWritable (szDir$) AS INTEGER
  550. DECLARE PUBLIC FUNCTION IsFileWritable (szFile$) AS INTEGER
  551.  
  552.  
  553.  
  554. DECLARE PUBLIC SUB      ErrorMsg (nMsg%, szErr$)
  555. DECLARE PUBLIC SUB      FatalErrorMsg (nMsg%, szErr$, nErr%)
  556. DECLARE PUBLIC SUB      ErrorMsgNoDlgExit (nMsg%, szErr$)
  557. DECLARE PUBLIC FUNCTION LdString (TextID%) AS STRING
  558.  
  559.  
  560.  
  561. DECLARE PUBLIC FUNCTION GetWindowsMajorVersion () AS INTEGER
  562. DECLARE PUBLIC FUNCTION GetWindowsMinorVersion () AS INTEGER
  563. DECLARE PUBLIC FUNCTION GetWindowsMode () AS INTEGER
  564. DECLARE PUBLIC FUNCTION GetWindowsDir  () AS STRING
  565. DECLARE PUBLIC FUNCTION GetWindowsSysDir () AS STRING
  566. DECLARE PUBLIC FUNCTION IsWindowsShared () AS INTEGER
  567. DECLARE PUBLIC FUNCTION GetScreenWidth  () AS INTEGER
  568. DECLARE PUBLIC FUNCTION GetScreenHeight () AS INTEGER
  569.  
  570.  
  571.  
  572. DECLARE PUBLIC FUNCTION IsDriveValid (szDrive$) AS INTEGER
  573. DECLARE PUBLIC FUNCTION IsDriveLocalHard (szDrive$) AS INTEGER
  574. DECLARE PUBLIC FUNCTION IsDriveRemovable (szDrive$) AS INTEGER
  575. DECLARE PUBLIC FUNCTION IsDriveNetwork (szDrive$) AS INTEGER
  576. DECLARE PUBLIC SUB      GetValidDrivesList (szSymbol$)
  577. DECLARE PUBLIC SUB      GetLocalHardDrivesList (szSymbol$)
  578. DECLARE PUBLIC SUB      GetRemovableDrivesList (szSymbol$)
  579. DECLARE PUBLIC SUB      GetNetworkDrivesList (szSymbol$)
  580. DECLARE PUBLIC FUNCTION GetTotalSpaceForDrive (szDrive$) AS LONG
  581. DECLARE PUBLIC FUNCTION GetFreeSpaceForDrive (szDrive$) AS LONG
  582.  
  583. DECLARE PUBLIC FUNCTION GetDOSMajorVersion () AS INTEGER
  584. DECLARE PUBLIC FUNCTION GetDOSMinorVersion () AS INTEGER
  585. DECLARE PUBLIC FUNCTION GetEnvVariableValue (szEnvVar$) AS STRING
  586. DECLARE PUBLIC FUNCTION GetNumWinApps () AS INTEGER
  587.  
  588. DECLARE PUBLIC FUNCTION DoesFileExist (szFile$, mode%) AS INTEGER
  589. DECLARE PUBLIC FUNCTION GetDateOfFile (szFile$) AS STRING
  590. DECLARE PUBLIC FUNCTION GetYearFromDate (szDate$) AS INTEGER
  591. DECLARE PUBLIC FUNCTION GetMonthFromDate (szDate$) AS INTEGER
  592. DECLARE PUBLIC FUNCTION GetDayFromDate (szDate$) AS INTEGER
  593. DECLARE PUBLIC FUNCTION GetHourFromDate (szDate$) AS INTEGER
  594. DECLARE PUBLIC FUNCTION GetMinuteFromDate (szDate$) AS INTEGER
  595. DECLARE PUBLIC FUNCTION GetSecondFromDate (szDate$) AS INTEGER
  596. DECLARE PUBLIC FUNCTION GetVersionOfFile (szFile$) AS STRING
  597. DECLARE PUBLIC FUNCTION GetVersionNthField (szVersion$, nField%) AS LONG
  598. DECLARE PUBLIC FUNCTION GetSizeOfFile (szFile$) AS LONG
  599. DECLARE PUBLIC FUNCTION FindTargetOnEnvVar (szFile$, szEnvVar$) AS STRING
  600. DECLARE PUBLIC FUNCTION FindFileInTree (szFile$, szDir$) AS STRING
  601. DECLARE PUBLIC FUNCTION DoesDirExist (szDir$) AS INTEGER
  602.  
  603. DECLARE PUBLIC FUNCTION DoesIniSectionExist (szFile$, szSect$) AS INTEGER
  604. DECLARE PUBLIC FUNCTION DoesIniKeyExist (szFile$, szSect$, szKey$) AS INTEGER
  605. DECLARE PUBLIC FUNCTION GetIniKeyString (szFile$, szSect$, szKey$) AS STRING
  606.  
  607. DECLARE PUBLIC FUNCTION GetConfigSmartdrvSize () AS INTEGER
  608. DECLARE PUBLIC FUNCTION GetConfigRamdriveSize () AS INTEGER
  609. DECLARE PUBLIC FUNCTION GetConfigNumBuffers () AS INTEGER
  610. DECLARE PUBLIC FUNCTION GetConfigNumFiles () AS INTEGER
  611. DECLARE PUBLIC FUNCTION GetConfigLastDrive () AS STRING
  612. DECLARE PUBLIC FUNCTION IsDriverInConfig (szDrv$) AS INTEGER
  613.  
  614. DECLARE PUBLIC FUNCTION GetProcessorType () AS INTEGER
  615. DECLARE PUBLIC SUB      GetParallelPortsList (szSymbol$)
  616. DECLARE PUBLIC SUB      GetSerialPortsList (szSymbol$)
  617. DECLARE PUBLIC FUNCTION Has87MathChip () AS INTEGER
  618. DECLARE PUBLIC FUNCTION HasMonochromeDisplay () AS INTEGER
  619. DECLARE PUBLIC FUNCTION HasMouseInstalled () AS INTEGER
  620. DECLARE PUBLIC SUB      SetBitmap(szDll$, Bitmap%)
  621. DECLARE PUBLIC SUB      SetAbout(szAbout1$, szAbout2$)
  622. DECLARE PUBLIC FUNCTION UIStartDlg(szDll$, Dlg%, szDlgProc$, HelpDlg%, szHelpProc$) AS STRING
  623. DECLARE PUBLIC SUB      UIPop (n%)
  624. DECLARE PUBLIC SUB      UIPopAll
  625. DECLARE PUBLIC SUB      SetTitle (sz$)
  626. DECLARE PUBLIC SUB      SetSymbolValue (szSymbol$, szValue$)
  627. DECLARE PUBLIC SUB      RemoveSymbol (szSym$)
  628. DECLARE PUBLIC FUNCTION GetSymbolValue (szSymbol$) AS STRING
  629. DECLARE PUBLIC FUNCTION GetListLength(szSymbol$) AS INTEGER
  630. DECLARE PUBLIC FUNCTION GetListItem(szSymbol$, n%) AS STRING
  631. DECLARE PUBLIC SUB      AddListItem(szSymbol$, szItem$)
  632. DECLARE PUBLIC SUB      ReplaceListItem(szSymbol$, n%, szItem$)
  633. DECLARE PUBLIC FUNCTION InitFrame (szCmdLine$) AS INTEGER
  634. DECLARE PUBLIC FUNCTION InitSetup (szCmdLine$) AS INTEGER
  635. DECLARE PUBLIC FUNCTION ShowWaitCursor () AS INTEGER
  636. DECLARE PUBLIC SUB      RestoreCursor (hPrev%)
  637. DECLARE PUBLIC FUNCTION WriteToFile(szFile$,sz$)  AS INTEGER
  638.  
  639.  
  640.  
  641. DECLARE PUBLIC FUNCTION Lot_CleanPath (path$) AS INTEGER
  642.  
  643.  
  644.  
  645.  
  646. DECLARE PUBLIC SUB SetListItem (szSymbol$, n%, szListItem$) 
  647.  
  648.  
  649. DECLARE PUBLIC SUB SetUpAPI
  650. DECLARE PUBLIC SUB      ASSERT (assertion%, msg$)
  651.  
  652.  
  653.  
  654.  
  655. PUBLIC FUNCTION InitSetup(szCmdLine$)  AS INTEGER
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.     DIM  i%
  664.  
  665.  
  666.     i% = InitFrame(szCmdLine$)
  667.     InitInstall
  668.  
  669.     InitSetup = i%
  670. END FUNCTION
  671.  
  672.  
  673. PUBLIC FUNCTION InitFrame(szCmdLine$)  AS INTEGER
  674.  
  675.  
  676.  
  677.  
  678.  
  679.       DIM  i%
  680.  
  681.     IF hSetup > 0 THEN
  682.     ELSE
  683.         i% = InitializeFrame(szCmdLine$) 
  684.         IF i% = -1 THEN
  685.  
  686.             ERROR STFQUIT    
  687.         ELSEIF i% = 0 THEN
  688.             END
  689.         ELSE
  690.             InitFrame = i%
  691.         END IF
  692.     END IF
  693. END FUNCTION
  694.  
  695.  
  696. PUBLIC SUB SetBitmap(szDll$, Bitmap%) 
  697.  
  698.  
  699.  
  700.  
  701.     
  702.     IF FSetBitmap(szDll$, Bitmap%) = FALSE THEN
  703.        ASSERT TRUE, ""
  704.     END IF
  705. END SUB
  706.  
  707.  
  708. PUBLIC SUB SetAbout(szAbout1$, szAbout2$) 
  709.  
  710.  
  711.  
  712.  
  713.     IF FSetAbout(szAbout1$, szAbout2$) = FALSE THEN
  714.         ASSERT TRUE, ""
  715.     END IF
  716. END SUB
  717.  
  718.  
  719. PUBLIC SUB SetTitle(sz$) 
  720.  
  721.  
  722.  
  723.  
  724.     SetWindowText HwndFrame(), sz$
  725. END SUB
  726.  
  727.  
  728. PUBLIC FUNCTION UIStartDlg(szDll$, Dlg%, szDlgProc$, HelpDlg%, szHelpProc$)  AS STRING
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.     IF FDoDialog(HwndFrame(), szDll$, Dlg%, szDlgProc$, HelpDlg%, szHelpProc$) = FALSE THEN
  736.         ASSERT TRUE, ""
  737.         ERROR STFQUIT
  738.     ELSE
  739.         UIStartDlg = GetSymbolValue(SYM_DLGEVENT$)
  740.     END IF
  741. END FUNCTION
  742.  
  743.  
  744. PUBLIC SUB UIPop (n%) 
  745.  
  746.  
  747.  
  748.  
  749.     IF FKillNDialogs(n%) = FALSE THEN
  750.         ASSERT TRUE, ""
  751.     END IF
  752. END SUB
  753.  
  754.  
  755. PUBLIC SUB UIPopAll 
  756.  
  757.  
  758.  
  759.  
  760. DIM  notused%
  761.     IF FKillNDialogs(32767) = FALSE THEN
  762.         ASSERT TRUE, ""
  763.     END IF
  764. END SUB
  765.  
  766.  
  767. PUBLIC FUNCTION GetSymbolValue(szSymbol$)  AS STRING
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.     DIM szValue As String : szValue = string$(cbSymValMax,0)
  776.     DIM Length%
  777.  
  778.     Length% = CbGetSymbolValue(szSymbol$, szValue$, cbSymValMax)
  779.     IF Length% >= cbSymValMax THEN
  780.         ErrorMsg SID_ERR_GETSYMBOLVALUE, LSI_INFO(13) & _
  781.                  " : " & LSI_INFO(12) & " : " & LSI_INFO(11)
  782.         ERROR STFQUIT
  783.     ELSEIF (Length% = 0) THEN
  784.         szValue$=""
  785.     END IF
  786.  
  787.     GetSymbolValue = LEFT$ (szValue$, Length%)
  788.    
  789. END FUNCTION
  790.  
  791.  
  792. PUBLIC FUNCTION GetListLength(szSymbol$)  AS INTEGER
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.     GetListLength = UsGetListLength(szSymbol$)
  800.     IF szSymbol$ = "" THEN
  801.         ErrorMsg SID_ERR_GETLISTLENGTH, LSI_INFO(13) & _
  802.                  " : " & LSI_INFO(12) & " : " & LSI_INFO(11) & CHR(10) &_
  803.                  "GetListLength(" & szSymbol$ & ")"
  804.         ERROR STFQUIT
  805.     END IF
  806. END FUNCTION
  807.  
  808.  
  809. PUBLIC FUNCTION GetListItem(szListSymbol$, nItem%)  AS STRING
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.       DIM szListItem$, Length%
  817.  
  818.     szListItem$ = string$(cbSymValMax,0)
  819.     Length% = CbGetListItem(szListSymbol$, nItem%, szListItem$, cbSymValMax)
  820.     GetListItem = szListItem$
  821.     IF Length% >= cbSymValMax THEN
  822.         ErrorMsg SID_ERR_GETLISTITEM, LSI_INFO(13) & _
  823.                  " : " & LSI_INFO(12) & " : " & LSI_INFO(11) & CHR(10) &_
  824.                  "GetListItem(" & szListSymbol$ & ", " & CSTR(nItem%) & ")"
  825.         ERROR STFQUIT
  826.     ELSEIF Length% <= 0 THEN
  827.         szListItem$ = ""
  828.     Length% = 0 
  829.     END IF
  830.     if nItem% <= 0 or nItem% > GetListLength(szListSymbol$) then
  831.         ErrorMsg SID_ERR_GETLISTITEM2, LSI_INFO(13) & _
  832.                  " : " & LSI_INFO(12) & " : " & LSI_INFO(11) & CHR(10) &_
  833.                  "GetListItem(" & szListSymbol$ & ", " & CSTR(nItem%) & ")"
  834.         ERROR STFQUIT
  835.     end if
  836.     GetListItem = LEFT( szListItem$, Length% )
  837. END FUNCTION
  838.  
  839.  
  840. PUBLIC SUB AddListItem(szSymbol$, szItem$) 
  841.  
  842.  
  843.  
  844.  
  845.     IF FAddListItem(ByVal szSymbol$,ByVal  szItem$) = FALSE THEN
  846.         ErrorMsg SID_ERR_ADDLISTITEM,_
  847.                  LSI_INFO(13) & " : " & LSI_INFO(12) & " : " & LSI_INFO(11) 
  848.         ERROR STFQUIT
  849.     END IF
  850. END SUB
  851.  
  852.  
  853. PUBLIC SUB ReplaceListItem(szSymbol$, n%, szItem$) 
  854.  
  855.  
  856.  
  857.  
  858.  
  859.     IF FReplaceListItem(szSymbol$, n%, szItem$) = FALSE THEN
  860.         ErrorMsg SID_ERR_REPLACELISTITEM, _
  861.                  LSI_INFO(13) & " : " & LSI_INFO(12) & " : " & LSI_INFO(11) 
  862.         ERROR STFQUIT
  863.     END IF
  864. END SUB
  865.  
  866.  
  867.  
  868. PUBLIC SUB SetSymbolValue(szSymbol$, szValue$) 
  869.  
  870.  
  871.  
  872.  
  873.     DIM LocalValue$
  874.     LocalValue$ = TRIM$(szValue$)
  875.     IF FSetSymbolValue(szSymbol$, LocalValue$) = FALSE THEN
  876.         ErrorMsg SID_ERR_SETSYMBOLVALUE, _
  877.                  LSI_INFO(13) & " : " & LSI_INFO(12) & " : " & LSI_INFO(11) 
  878.         ERROR STFQUIT
  879.     END IF
  880. END SUB
  881.  
  882.  
  883. PUBLIC SUB RemoveSymbol(szSym$) 
  884.  
  885.  
  886.  
  887.  
  888.     IF FRemoveSymbol(szSym$) = FALSE THEN
  889.         ErrorMsg SID_ERR_REMOVESYMBOL, _
  890.                  LSI_INFO(13) & " : " & LSI_INFO(12) & " : " & LSI_INFO(11) 
  891.         ERROR STFQUIT
  892.     END IF
  893. END SUB
  894.  
  895.  
  896. PUBLIC FUNCTION ShowWaitCursor () AS INTEGER
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.     ShowWaitCursor = HShowWaitCursor()
  904. END FUNCTION
  905.  
  906.  
  907. PUBLIC SUB RestoreCursor (hPrev%) 
  908.  
  909.  
  910.  
  911.  
  912.     DIM i%
  913.  
  914.       i% = FRestoreCursor(hPrev%)
  915.     IF i% = 0 THEN
  916.         ErrorMsg SID_ERR_RESTORECURSOR, ""
  917.         ERROR STFERR
  918.     END IF
  919. END SUB
  920.  
  921.  
  922. PUBLIC SUB InitInstall 
  923.  
  924.  
  925.  
  926.  
  927.     IF hSetup > 0 THEN
  928.     ELSEIF FInitializeInstall(HinstFrame(), HwndFrame()) = FALSE THEN
  929.         END
  930.     END IF
  931. END SUB
  932.  
  933.  
  934. PUBLIC SUB CreateDir (szDir$, cmo%) 
  935.  
  936.  
  937.  
  938.  
  939. DIM logfile$
  940.     logfile$ = GetSymbolValue(SYM_LOGFILE$)
  941.     IF FCreateDir(szDir$, cmo%) = FALSE THEN
  942.         ErrorMsg SID_ERR_CREATEDIR, szDir$ & " " & CStr(cmo%) & CHR(10) &_
  943.                  LSI_INFO(13) & " : " & LSI_INFO(12) & " : " & LSI_INFO(11) 
  944.         ERROR STFQUIT
  945.     END IF
  946.     If logfile$ <> "" THEN 
  947.         OpenLogFile logfile$,1 
  948.         WriteToLogFile  "** Successfully created " + szDir$+ " ;with cmo% = " + CStr(cmo%)
  949.         CloseLogFile
  950.     END IF
  951.  
  952. END SUB
  953.  
  954.  
  955. PUBLIC SUB RemoveIniSection (szFile$, szSect$, cmo%) 
  956.  
  957.  
  958.  
  959.  
  960. DIM logfile$
  961.  
  962.     logfile$ = GetSymbolValue(SYM_LOGFILE$)
  963.     IF FRemoveIniSection(szFile$, szSect$, cmo%) = FALSE THEN
  964.         ErrorMsg SID_ERR_REMOVEINISECTION, "** Failed removing ini entry from " & szFile$ & CHR(10) &_
  965.                  LSI_INFO(13) & " : " & LSI_INFO(12) & " : " & LSI_INFO(11) 
  966.         ERROR STFERR
  967.     END IF
  968.     If logfile$ <> "" THEN 
  969.         OpenLogFile logfile$,1 
  970.         WriteToLogFile  "** Successfully removed from " + szFile$+ " ;with cmo% = " + CStr(cmo%)
  971.         WriteToLogFile  "[" + szSect$ +"]"
  972.         CloseLogFile
  973.     END IF
  974.  
  975. END SUB
  976.  
  977.  
  978. PUBLIC SUB CreateIniKeyValue (szFile$, szSect$, szKey$, szValue$, cmo%) 
  979.  
  980.  
  981.  
  982.  
  983. DIM logfile$
  984.  
  985.     logfile$ = GetSymbolValue(SYM_LOGFILE$)
  986.     IF FCreateIniKeyValue(szFile$, szSect$, szKey$, szValue$, cmo%) = FALSE THEN
  987.         ErrorMsg SID_ERR_CREATEINIKEYVALUE, "** Failed writting to " & szFile$ & CHR(10) & _
  988.                  LSI_INFO(13) & " : " & LSI_INFO(12) & " : " & LSI_INFO(11) 
  989.         ERROR STFQUIT
  990.     END IF
  991.     If logfile$ <> "" THEN 
  992.         OpenLogFile logfile$,1 
  993.         WriteToLogFile  "** Successfully wrote to " + szFile$+ " ;with cmo% = " + CStr(cmo%)
  994.         WriteToLogFile  "[" + szSect$ +"]"
  995.         WriteToLogFile  szKey$ +"="+ szValue$
  996.         CloseLogFile
  997.     END IF
  998. END SUB
  999.  
  1000.  
  1001. PUBLIC SUB RemoveIniKey (szFile$, szSect$, szKey$, cmo%) 
  1002.  
  1003.  
  1004.  
  1005.  
  1006. DIM logfile$
  1007.     logfile$ = GetSymbolValue(SYM_LOGFILE$)
  1008.  
  1009.     IF FRemoveIniKey(szFile$, szSect$, szKey$, cmo%) = FALSE THEN
  1010.         ErrorMsg SID_ERR_REMOVEINIKEY, "** Failed removing ini entry from " & szFile$ & CHR(10) &_
  1011.                  LSI_INFO(13) & " : " & LSI_INFO(12) & " : " & LSI_INFO(11) 
  1012.         ERROR STFERR
  1013.     END IF
  1014.     If logfile$ <> "" THEN 
  1015.         OpenLogFile logfile$,1 
  1016.         WriteToLogFile "** Successfully Removed from " + szFile$+ " ;with cmo% = " + CStr(cmo%)
  1017.         WriteToLogFile "[" + szSect$ +"]"
  1018.         WriteToLogFile szKey$ +"="
  1019.         CloseLogFile
  1020.     END IF
  1021.  
  1022. END SUB
  1023.  
  1024.  
  1025. PUBLIC SUB CreateSysIniKeyValue (szFile$, szSect$, szKey$, szValue$, cmo%) 
  1026.  
  1027.  
  1028.  
  1029.  
  1030. DIM logfile$
  1031.  
  1032.     logfile$ = GetSymbolValue(SYM_LOGFILE$)
  1033.     IF FCreateSysIniKeyValue(szFile$, szSect$, szKey$, szValue$, cmo%) = FALSE THEN
  1034.         ErrorMsg SID_ERR_CREATESYSINIKEYVALUE,  "** Failed writting to " & szFile$ & CHR(10) & _ 
  1035.                  LSI_INFO(13) & " : " & LSI_INFO(12) & " : " & LSI_INFO(11) 
  1036.         ERROR STFQUIT
  1037.     END IF
  1038.     If logfile$ <> "" THEN 
  1039.         OpenLogFile logfile$,1 
  1040.         WriteToLogFile "** Successfully did a CreateSysIniKeyValue to " + szFile$+ " ;with cmo% = " + CStr(cmo%)
  1041.         WriteToLogFile "[" + szSect$ +"]"
  1042.         WriteToLogFile szKey$ +"="+ szValue$
  1043.         CloseLogFile
  1044.     END IF
  1045.  
  1046.  
  1047. END SUB
  1048.  
  1049.  
  1050. PUBLIC SUB CreateProgmanGroup (szGroup$, szPath$, cmo%) 
  1051.  
  1052.  
  1053.  
  1054.  
  1055.     IF FCreateProgManGroup(szGroup$, szPath$, cmo%) = FALSE THEN
  1056.         ErrorMsg SID_ERR_CREATEPROGMANGROUP, szGroup$ & CHR(10) & _
  1057.                  LSI_INFO(13) & " : " & LSI_INFO(12) & " : " & LSI_INFO(11) 
  1058.     END IF
  1059. END SUB
  1060.  
  1061.  
  1062. PUBLIC SUB ShowProgmanGroup (szGroup$, Cmd%, cmo%) 
  1063.  
  1064.  
  1065.  
  1066.  
  1067.     IF FShowProgManGroup(szGroup$, STR$(Cmd%), cmo%) = FALSE THEN
  1068.         ErrorMsg SID_ERR_SHOWPROGMANGROUP, ""
  1069.     END IF
  1070. END SUB
  1071.  
  1072.  
  1073. PUBLIC SUB StampResource (szSect$, szKey$, szDst$, wResType%, wResId%, szData$, cbData%) 
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079.     IF FStampResource (szSect$, szKey$, szDst$, wResType%, wResId%, szData$, cbData%) = FALSE THEN
  1080.         ErrorMsg SID_ERR_STAMPRESOURCE, ""
  1081.         ERROR STFQUIT
  1082.     END IF
  1083. END SUB
  1084.  
  1085.  
  1086.  
  1087. PUBLIC SUB CreateProgmanItem (szGroup$, szItem$, szCmd$, szOther$, cmo%) 
  1088.  
  1089.  
  1090.  
  1091.  
  1092.     DIM szItemNew$
  1093.  
  1094.     szItemNew$ = szItem$
  1095.     IF szOther$ <> "" THEN
  1096.         szItemNew$ = szItem$ + "," + szOther$
  1097.     END IF
  1098.  
  1099.     IF FCreateProgManItem(CHR$(34)+szGroup$+CHR$(34), szItemNew$, szCmd$, cmo%) = FALSE THEN
  1100.         ErrorMsg SID_ERR_CREATEPROGMANITEM, szItemNew$ & CHR(10) & _
  1101.                  LSI_INFO(13) & " : " & LSI_INFO(12) & " : " & LSI_INFO(11) 
  1102.     END IF
  1103.     szItemNew$ = ""
  1104. END SUB
  1105.  
  1106.  
  1107. PUBLIC SUB AddDos5Help (szProgName$, szProgHelp$, cmo%) 
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.     IF FAddDos5Help (szProgName$, szProgHelp$, cmo%) = FALSE THEN
  1115.         ErrorMsg SID_ERR_ADDDOS5HELP, ""
  1116.         ERROR STFQUIT
  1117.     END IF
  1118. END SUB
  1119.  
  1120.  
  1121.  
  1122. PUBLIC SUB CopyFile (szFullPathSrc$, szFullPathDst$, cmo%, fAppend%) 
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.  
  1130.     IF  FCopyOneFile(szFullPathSrc$, szFullPathDst$, (cmo OR cmoCopy), fAppend%) = FALSE THEN
  1131.         ErrorMsg SID_ERR_COPYFILE, szFullPathSrc$ & LdString(SID_TO) & szFullPathDst$ & CHR(10) & _
  1132.                  LSI_INFO(13) & " : " & LSI_INFO(12) & " : " & LSI_INFO(11) 
  1133.         ERROR STFQUIT
  1134.     END IF
  1135. END SUB
  1136.  
  1137.  
  1138. PUBLIC SUB RemoveFile (szFullPathSrc$, cmo%) 
  1139.  
  1140.  
  1141.  
  1142.  
  1143.  
  1144.  
  1145.     IF  YnrcRemoveFile(szFullPathSrc$, cmo%) = ynrcNo THEN
  1146.         
  1147.     END IF
  1148. END SUB
  1149.  
  1150.  
  1151. PUBLIC SUB BackupFile (szFullPath$, szBackup$) 
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.     IF YnrcBackupFile(szFullPath$, szBackup$, cmoNone) = ynrcNo THEN
  1160.         ErrorMsg SID_ERR_BACKUPFILE, szFullPath$ + LdString(SID_TO) + szBackup$
  1161.         ERROR STFQUIT
  1162.     END IF
  1163. END SUB
  1164.  
  1165.  
  1166. PUBLIC SUB RenameFile (szFullPath$, szBackup$) 
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.     IF YnrcBackupFile(szFullPath$, szBackup$, cmoNone) = ynrcNo THEN
  1175.         ErrorMsg SID_ERR_RENAMEFILE, szFullPath$ + LdString(SID_TO) + szBackup$
  1176.         ERROR STFQUIT
  1177.     END IF
  1178. END SUB
  1179.  
  1180.  
  1181.  
  1182.  
  1183. PUBLIC SUB OpenLogFile (szFile$, fAppend%) 
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.     IF FOpenLogFile(szFile$, fAppend%) = FALSE THEN
  1191.         ErrorMsg SID_ERR_OPENLOGFILE, szFile$
  1192.     END IF
  1193. END SUB
  1194.  
  1195.  
  1196. PUBLIC SUB CloseLogFile 
  1197.  
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.     IF FCloseLogFile() = FALSE THEN
  1204.         ErrorMsg SID_ERR_CLOSELOGFILE, ""
  1205.         ERROR STFQUIT
  1206.     END IF
  1207. END SUB
  1208.  
  1209.  
  1210. PUBLIC SUB WriteToLogFile (szStr$) 
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.     IF FWriteToLogFile(szStr$, 1) = FALSE THEN
  1218.         ErrorMsg SID_ERR_WRITETOLOGFILE, szStr$
  1219.         ERROR STFQUIT
  1220.     END IF
  1221. END SUB
  1222.  
  1223.  
  1224. PUBLIC FUNCTION FindFileUsingFileOpen (szFile$)  AS STRING
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.       DIM szBuf$, wRet%
  1232.  
  1233.     szBuf$ = STRING$(512, 32)
  1234.  
  1235.     wRet% = WFindFileUsingFileOpen(szFile$, szBuf$, len(szBuf$))
  1236.     IF wRet% = 0 THEN
  1237.         FindFileUsingFileOpen = LEFT$( szBuf$, INSTR (szBuf$, CHR$(0)) - 1) 
  1238.     ELSEIF wRet% = 1 THEN
  1239.         FindFileUsingFileOpen = ""
  1240.     ELSE
  1241.         ErrorMsg SID_ERR_FINDFILEUSINGFILEOPEN, szFile$
  1242.         ERROR STFQUIT
  1243.     END IF
  1244.  
  1245.     szBuf$ = ""
  1246. END FUNCTION
  1247.  
  1248.  
  1249. PUBLIC FUNCTION IsDirWritable (szDir$)  AS INTEGER
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.     IsDirWritable = FIsDirWritable(szDir$)
  1257. END FUNCTION
  1258.  
  1259.  
  1260. PUBLIC FUNCTION IsFileWritable (szFile$)  AS INTEGER
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.     IsFileWritable = FIsFileWritable(szFile$)
  1268. END FUNCTION
  1269.  
  1270.  
  1271. PUBLIC FUNCTION GetWindowsMajorVersion  AS INTEGER
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.     GetWindowsMajorVersion = GetVersion() MOD 256
  1279. END FUNCTION
  1280.  
  1281.  
  1282. PUBLIC FUNCTION GetWindowsMinorVersion  AS INTEGER
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.     GetWindowsMinorVersion = GetVersion() / 256
  1290. END FUNCTION
  1291.  
  1292.  
  1293. PUBLIC FUNCTION GetWindowsMode  AS INTEGER
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.       DIM longTmp&
  1301.  
  1302.     GetWindowsMode = 0
  1303.     longTmp& = GetWinFlags()
  1304.     IF longTmp& AND WF_STANDARD THEN
  1305.         GetWindowsMode = 1
  1306.     ELSEIF longTmp& AND WF_ENHANCED THEN
  1307.         GetWindowsMode = 2
  1308.     END IF
  1309. END FUNCTION
  1310.  
  1311.  
  1312. PUBLIC FUNCTION GetWindowsDir  AS STRING
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.    DIM szBufAl$, cbBuf%, szBuf$, rv%
  1320.  
  1321.    szBufAl$ = string$(256, 0)  
  1322.    cbBuf%   = GetWindowsDirectory(szBufAl$, 256) 
  1323.  
  1324.    IF cbBuf% = 0 THEN
  1325.       GetWindowsDir = ""
  1326.       ErrorMsg SID_ERR_GETWINDOWSDIR, ""
  1327.       ERROR STFQUIT
  1328.    ELSE
  1329.        IF cbBuf% > 255 THEN
  1330.          ErrorMsg SID_ERR_GETWINDOWSDIR2, ""
  1331.          ERROR STFQUIT
  1332.         END IF
  1333.         szBuf$ = LEFT$(szBufAl$, INSTR (szBufAl$, CHR$(0)) - 1) 
  1334.       IF MID$(szBuf$, 1, 1) = "\" THEN
  1335.          szBuf$ = MID$(GetWindowsSysDir(), 1, 2) + szBuf$
  1336.       ELSEIF MID$(szBuf$, 2, 1) <> ":" THEN
  1337.          szBuf$ = MID$(GetWindowsSysDir(), 1, 3) + szBuf$
  1338.       END IF
  1339.       rv% = Lot_CleanPath(szBuf$)
  1340.       IF rv% = FALSE THEN
  1341.          ErrorMsg SID_ERR_GETWINDOWSDIR2, ""
  1342.          ERROR STFQUIT
  1343.       END IF
  1344.         GetWindowsDir = szBuf$ 
  1345.    END IF
  1346.  
  1347. END FUNCTION
  1348.  
  1349.  
  1350. PUBLIC FUNCTION GetWindowsSysDir()  AS STRING
  1351.  
  1352.  
  1353.  
  1354.  
  1355.  
  1356.  
  1357.    DIM szBufAl$, cbBuf%, szBuf$, rv%
  1358.  
  1359.    szBufAl$ = string$(256, 0)
  1360.    cbBuf%   = GetSystemDirectory(szBufAl$, 256)
  1361.  
  1362.    IF cbBuf% = 0 THEN
  1363.       ErrorMsg SID_ERR_GETWINDOWSSYSDIR, ""
  1364.       ERROR STFQUIT
  1365.    ELSE
  1366.       IF cbBuf% > 255 THEN
  1367.          ErrorMsg SID_ERR_GETWINDOWSSYSDIR2, ""
  1368.          ERROR STFQUIT
  1369.       END IF
  1370.         szBuf$ = LEFT$(szBufAl$, INSTR(szBufAl$, CHR$(0)) - 1)
  1371.       IF MID$(szBuf$, 1, 1) = "\" THEN
  1372.          szBuf$ = MID$(CURDIR$, 1, 2) + szBuf$
  1373.       ELSEIF MID$(szBuf$, 2, 1) <> ":" THEN
  1374.          szBuf$ = MID$(CURDIR$, 1, 3) + szBuf$
  1375.       END IF
  1376.       rv% = Lot_CleanPath(szBuf$)
  1377.       IF rv% = FALSE THEN
  1378.          ErrorMsg SID_ERR_GETWINDOWSSYSDIR2, ""
  1379.          ERROR STFQUIT
  1380.       END IF
  1381.       GetWindowsSysDir = szBuf$
  1382.     END IF
  1383.  
  1384. END FUNCTION
  1385.  
  1386.  
  1387. PUBLIC FUNCTION IsWindowsShared  AS INTEGER
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394.    DIM szWin$, szSys$
  1395.  
  1396.    szWin$ = GetWindowsDir()
  1397.    szSys$ = GetWindowsSysDir()
  1398.  
  1399.    IF LEN(szWin$) = 0 THEN
  1400.       ErrorMsg SID_ERR_ISWINDOWSSHARED, ""
  1401.       ERROR STFQUIT
  1402.    END IF
  1403.  
  1404.    IF LEN(szSys$) <= LEN(szWin$) THEN
  1405.       IsWindowsShared = TRUE
  1406.    ELSE
  1407.       szSys$ = MID$(szSys$, 1, LEN(szWin$))
  1408.       IF szWin$ = szSys$ THEN
  1409.          IsWindowsShared = FALSE
  1410.       ELSE
  1411.          IsWindowsShared = TRUE
  1412.       END IF
  1413.    END IF
  1414.  
  1415. END FUNCTION
  1416.  
  1417.  
  1418. PUBLIC FUNCTION GetScreenWidth  AS INTEGER
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.     GetScreenWidth = GetSystemMetrics(SM_CXSCREEN)
  1426. END FUNCTION
  1427.  
  1428.  
  1429. PUBLIC FUNCTION GetScreenHeight  AS INTEGER
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.     GetScreenHeight = GetSystemMetrics(SM_CYSCREEN)
  1437. END FUNCTION
  1438.  
  1439.  
  1440. PUBLIC SUB PrependToPath (szSrc$, szDst$, szDir$, cmo%) 
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.     IF FPrependToPath (szSrc$, szDst$, szDir$, cmo%) = FALSE THEN
  1450.         ErrorMsg SID_ERR_PREPENDTOPATH, _
  1451.                  szSrc$ & " : " & szDst$ & " : " & szDir$
  1452.         ERROR STFQUIT
  1453.     END IF
  1454. END SUB
  1455.  
  1456.  
  1457.  
  1458.  
  1459.  
  1460.  
  1461. PUBLIC SUB SetRegKeyValue(szKey$, szValue$) 
  1462.  
  1463.  
  1464.  
  1465.  
  1466.  
  1467.  
  1468.     DIM phKey AS LONG, i%, logfile$
  1469.  
  1470.     logfile$ = GetSymbolValue(SYM_LOGFILE$)
  1471.  
  1472.     IF RegSetValue(HKEY_CLASSES_ROOT, szKey$, REG_SZ,  szValue$, len(szKey$)) > ERROR_SUCCESS THEN
  1473.         i% = EercErrorHandler(GRC_API_FAILED, 1, "SetRegKeyValue", "", "")
  1474.         ErrorMsg SID_ERR_SETREGKEYVALUE, szKey$ + LdString(SID_TO) + szValue$
  1475.         
  1476.     END IF
  1477.  
  1478.     If logfile$ <> "" THEN 
  1479.         OpenLogFile logfile$,1 
  1480.         WriteToLogFile "** Successfully SetRegKeyValue " + szKey$+ ", "+ szValue$
  1481.         CloseLogFile
  1482.     END IF
  1483.  
  1484. END SUB
  1485.  
  1486.  
  1487.  
  1488.  
  1489. PUBLIC FUNCTION IsDriveValid (szDrive$)  AS INTEGER
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.     IsDriveValid = FIsValidDrive(ASC(UCASE$(szDrive$)) - ASC("A") + 1)
  1497. END FUNCTION
  1498.  
  1499.  
  1500. PUBLIC FUNCTION IsDriveLocalHard (szDrive$)  AS INTEGER
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.     IsDriveLocalHard = FIsLocalHardDrive(ASC(UCASE$(szDrive$)) - ASC("A") + 1)
  1508. END FUNCTION
  1509.  
  1510.  
  1511. PUBLIC FUNCTION IsDriveRemovable (szDrive$)  AS INTEGER
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.     IsDriveRemovable = FIsRemoveDrive(ASC(UCASE$(szDrive$)) - ASC("A") + 1)
  1519. END FUNCTION
  1520.  
  1521.  
  1522. PUBLIC FUNCTION IsDriveNetwork (szDrive$)  AS INTEGER
  1523.  
  1524.  
  1525.  
  1526.  
  1527.  
  1528.  
  1529.     IsDriveNetwork = FIsRemoteDrive(ASC(UCASE$(szDrive$)) - ASC("A") + 1)
  1530. END FUNCTION
  1531.  
  1532.  
  1533. PUBLIC FUNCTION GetTotalSpaceForDrive (szDrive$)  AS LONG
  1534.  
  1535.  
  1536.  
  1537.  
  1538.  
  1539.  
  1540.     GetTotalSpaceForDrive = LcbTotalDrive(ASC(UCASE$(szDrive$)) - ASC("A") + 1)
  1541. END FUNCTION
  1542.  
  1543.  
  1544. PUBLIC FUNCTION GetFreeSpaceForDrive (szDrive$)  AS LONG
  1545.  
  1546.  
  1547.  
  1548.  
  1549.  
  1550.  
  1551.     GetFreeSpaceForDrive = LcbFreeDrive(ASC(UCASE$(szDrive$)) - ASC("A") + 1)
  1552. END FUNCTION
  1553.  
  1554.  
  1555. PUBLIC SUB GetValidDrivesList (szSymbol$) 
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.     if FGetValidDrivesList(szSymbol$) = FALSE then
  1563.         ErrorMsg SID_ERR_GETVALIDDRIVESLIST, ""
  1564.         ERROR STFQUIT
  1565.     end if
  1566. END SUB
  1567.  
  1568.  
  1569. PUBLIC SUB GetLocalHardDrivesList (szSymbol$) 
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.     if FGetLocalHardDrivesList(szSymbol$) = FALSE then
  1577.         ErrorMsg SID_ERR_GETLOCALHARDDRIVESLIST, ""
  1578.         ERROR STFQUIT
  1579.     end if
  1580. END SUB
  1581.  
  1582.  
  1583. PUBLIC SUB GetRemovableDrivesList (szSymbol$) 
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.     if FGetRemovableDrivesList(szSymbol$) = FALSE then
  1591.         ErrorMsg SID_ERR_GETREMOVABLEDRIVESLIST, ""
  1592.         ERROR STFQUIT
  1593.     end if
  1594. END SUB
  1595.  
  1596.  
  1597. PUBLIC SUB GetNetworkDrivesList (szSymbol$) 
  1598.  
  1599.  
  1600.  
  1601.  
  1602.  
  1603.  
  1604.     if FGetNetworkDrivesList(szSymbol$) = FALSE then
  1605.         ErrorMsg SID_ERR_GETNETWORKDRIVESLIST, ""
  1606.         ERROR STFQUIT
  1607.     end if
  1608. END SUB
  1609.  
  1610.  
  1611. PUBLIC FUNCTION GetDOSMajorVersion () AS INTEGER
  1612.  
  1613.  
  1614.  
  1615.  
  1616.  
  1617.  
  1618.     GetDOSMajorVersion = WGetDOSMajorVersion()
  1619. END FUNCTION
  1620.  
  1621.  
  1622. PUBLIC FUNCTION GetDOSMinorVersion () AS INTEGER
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.     GetDOSMinorVersion = WGetDOSMinorVersion()
  1630. END FUNCTION
  1631.  
  1632.  
  1633. PUBLIC FUNCTION GetEnvVariableValue (szEnvVar$)  AS STRING
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.     DIM cb%, szBuf$, cbRet%
  1641.  
  1642.     cb% = 1024
  1643.     szBuf$ = STRING$(cb%, 32)
  1644.     cbRet% = CbGetEnvVariableValue(szEnvVar$, szBuf$, cb%)
  1645.     szBuf$ = LEFT$ (szBuf$, INSTR (szBuf$, CHR$(0)) - 1) 
  1646.     GetEnvVariableValue = szBuf$
  1647.     szBuf$ = ""
  1648. END FUNCTION
  1649.  
  1650.  
  1651. PUBLIC FUNCTION GetNumWinApps () AS INTEGER
  1652.  
  1653.  
  1654.  
  1655.  
  1656.  
  1657.  
  1658.     GetNumWinApps = WGetNumWinApps()
  1659. END FUNCTION
  1660.  
  1661.  
  1662. PUBLIC FUNCTION DoesFileExist (szFileName$, mode%)  AS INTEGER
  1663.  
  1664.  
  1665.  
  1666.  
  1667.  
  1668.  
  1669.     DoesFileExist = FDoesFileExist(szFileName$, mode%)
  1670. END FUNCTION
  1671.  
  1672.  
  1673. PUBLIC FUNCTION GetDateOfFile (szFile$)  AS STRING
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.     DIM cb%, szBuf$, cbRet%
  1681.  
  1682.     cb% = 20
  1683.     szBuf$ = STRING$(cb%, 32)
  1684.     cbRet% = CbGetDateOfFile(szFile$, szBuf$, cb%)
  1685.      GetDateOfFile = LEFT$ (szBuf$, INSTR (szBuf$, CHR$(0)) - 1)
  1686.  
  1687.     szBuf$ = ""
  1688. END FUNCTION
  1689.  
  1690.  
  1691. PUBLIC FUNCTION GetYearFromDate (szDate$)  AS INTEGER
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.     GetYearFromDate = VAL(MID$(szDate$, 1, 4))
  1699. END FUNCTION
  1700.  
  1701.  
  1702. PUBLIC FUNCTION GetMonthFromDate (szDate$)  AS INTEGER
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.     GetMonthFromDate = VAL(MID$(szDate$, 6, 2))
  1710. END FUNCTION
  1711.  
  1712.  
  1713. PUBLIC FUNCTION GetDayFromDate (szDate$)  AS INTEGER
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720.     GetDayFromDate = VAL(MID$(szDate$, 9, 2))
  1721. END FUNCTION
  1722.  
  1723.  
  1724. PUBLIC FUNCTION GetHourFromDate (szDate$)  AS INTEGER
  1725.  
  1726.  
  1727.  
  1728.  
  1729.  
  1730.  
  1731.     GetHourFromDate = VAL(MID$(szDate$, 12, 2))
  1732. END FUNCTION
  1733.  
  1734.  
  1735. PUBLIC FUNCTION GetMinuteFromDate (szDate$)  AS INTEGER
  1736.  
  1737.  
  1738.  
  1739.  
  1740.  
  1741.  
  1742.     GetMinuteFromDate = VAL(MID$(szDate$, 15, 2))
  1743. END FUNCTION
  1744.  
  1745.  
  1746. PUBLIC FUNCTION GetSecondFromDate (szDate$)  AS INTEGER
  1747.  
  1748.  
  1749.  
  1750.  
  1751.  
  1752.  
  1753.     GetSecondFromDate = VAL(MID$(szDate$, 18, 2))
  1754. END FUNCTION
  1755.  
  1756.  
  1757. PUBLIC FUNCTION GetVersionOfFile (szFile$)  AS STRING
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.     DIM cb%, szBuf$, cbRet%
  1765.  
  1766.     cb% = 30
  1767.     szBuf$ = STRING$(cb%, 32) 
  1768.     cbRet% = CbGetVersionOfFile(szFile$, szBuf$, cb%)
  1769.     GetVersionOfFile = LEFT$ (szBuf$, INSTR (szBuf$, CHR$(0)) - 1) 
  1770.     szBuf$ = ""
  1771. END FUNCTION
  1772.  
  1773.  
  1774. PUBLIC FUNCTION GetVersionNthField (szVersion$, nField%)  AS LONG
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780.  
  1781.     GetVersionNthField = LGetVersionNthField(szVersion$, nField%)
  1782. END FUNCTION
  1783.  
  1784.  
  1785. PUBLIC FUNCTION GetSizeOfFile (szFile$)  AS LONG
  1786.  
  1787.  
  1788.  
  1789.  
  1790.  
  1791.  
  1792.     GetSizeOfFile = LcbGetSizeOfFile(szFile$)
  1793. END FUNCTION
  1794.  
  1795.  
  1796. PUBLIC FUNCTION FindTargetOnEnvVar (szFile$, szEnvVar$)  AS STRING
  1797.  
  1798.  
  1799.  
  1800.  
  1801.  
  1802.  
  1803.     DIM cb%, szBuf$, cbret% 
  1804.  
  1805.     cb% = 512
  1806.     szBuf$ = STRING$(cb%, 32)    
  1807.     cbRet% = CbFindTargetOnEnvVar(szFile$, szEnvVar$, szBuf$, cb%)
  1808.     IF cbRet% >= cb% THEN
  1809.         ErrorMsg SID_ERR_FINDTARGETONENVVAR, ""
  1810.         ERROR STFQUIT
  1811.     END IF
  1812.     szBuf$ = LEFT$ (szBuf$, INSTR (szBuf$, CHR$(0)) - 1) 
  1813.     IF MID$(szBuf$, 1, 1) = "\" THEN
  1814.        szBuf$ = MID$(CURDIR$, 1, 2) + szBuf$
  1815.     ELSEIF Len(szBuf$) > 0 AND MID$(szBuf$, 2, 1) <> ":" THEN
  1816.        szBuf$ = MID$(CURDIR$, 1, 3) + szBuf$
  1817.     END IF
  1818.     FindTargetOnEnvVar = szBuf$
  1819.     szBuf$ = ""
  1820. END FUNCTION
  1821.  
  1822.  
  1823. PUBLIC FUNCTION FindFileInTree (szFile$, szDir$)  AS STRING
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830.       DIM cb%, szBuf$, cbret% 
  1831.  
  1832.     cb% = 512
  1833.     szBuf$ = STRING$(cb%, 32)
  1834.     cbRet% = CbFindFileInTree(szFile$, szDir$, szBuf$, cb%)
  1835.     FindFileInTree = LEFT$ (szBuf$, INSTR (szBuf$, CHR$(0)) - 1) 
  1836.  
  1837.     szBuf$ = ""
  1838. END FUNCTION
  1839.  
  1840.  
  1841. PUBLIC FUNCTION GetConfigSmartdrvSize () AS INTEGER
  1842.  
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.     GetConfigSmartdrvSize = WGetConfigSmartdrvSize()
  1849. END FUNCTION
  1850.  
  1851.  
  1852. PUBLIC FUNCTION GetConfigRamdriveSize () AS INTEGER
  1853.  
  1854.  
  1855.  
  1856.  
  1857.  
  1858.  
  1859.     GetConfigRamdriveSize = WGetConfigRamdriveSize ()
  1860. END FUNCTION
  1861.  
  1862.  
  1863. PUBLIC FUNCTION GetConfigNumBuffers () AS INTEGER
  1864.  
  1865.  
  1866.  
  1867.  
  1868.  
  1869.  
  1870.     GetConfigNumBuffers = WGetConfigNumBuffers()
  1871. END FUNCTION
  1872.  
  1873.  
  1874. PUBLIC FUNCTION GetConfigNumFiles () AS INTEGER
  1875.  
  1876.  
  1877.  
  1878.  
  1879.  
  1880.  
  1881.     GetConfigNumFiles = WGetConfigNumFiles()
  1882. END FUNCTION
  1883.  
  1884.  
  1885. PUBLIC FUNCTION GetConfigLastDrive () AS STRING
  1886.  
  1887.  
  1888.  
  1889.  
  1890.  
  1891.  
  1892.     DIM chRet%
  1893.  
  1894.     chRet% = WGetConfigLastDrive()
  1895.     if chRet% = 0 then
  1896.         GetConfigLastDrive = ""
  1897.     else
  1898.         GetConfigLastDrive = CHR$(chRet%)
  1899.     end if
  1900. END FUNCTION
  1901.  
  1902.  
  1903. PUBLIC FUNCTION IsDriverInConfig (szDrv$)  AS INTEGER
  1904.  
  1905.  
  1906.  
  1907.  
  1908.  
  1909.  
  1910.     IsDriverInConfig = FIsDriverInConfig(szDrv$)
  1911. END FUNCTION
  1912.  
  1913.  
  1914. PUBLIC FUNCTION GetProcessorType () AS INTEGER
  1915.  
  1916.  
  1917.  
  1918.  
  1919.  
  1920.  
  1921.     DIM longTmp&
  1922.  
  1923.     GetProcessorType = 0
  1924.     longTmp& = GetWinFlags()
  1925.     IF longTmp& AND WF_CPU486 THEN
  1926.         GetProcessorType = 4
  1927.     ELSEIF longTmp& AND WF_CPU386 THEN
  1928.         GetProcessorType = 3
  1929.     ELSEIF longTmp& AND WF_CPU286 THEN
  1930.         GetProcessorType = 2
  1931.     ELSEIF longTmp& AND WF_CPU186 THEN
  1932.         GetProcessorType = 1
  1933.     END IF
  1934. END FUNCTION
  1935.  
  1936.  
  1937. PUBLIC SUB GetParallelPortsList (szSymbol$) 
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.     if FGetParallelPortsList(szSymbol$) = FALSE then
  1945.         ErrorMsg SID_ERR_GETPARALLELPORTSLIST, ""
  1946.         ERROR STFQUIT
  1947.     end if
  1948. END SUB
  1949.  
  1950.  
  1951. PUBLIC SUB GetSerialPortsList (szSymbol$) 
  1952.  
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958.     if FGetSerialPortsList(szSymbol$) = FALSE then
  1959.         ErrorMsg SID_ERR_GETSERIALPORTSLIST, ""
  1960.         ERROR STFQUIT
  1961.     end if
  1962. END SUB
  1963.  
  1964.  
  1965. PUBLIC FUNCTION Has87MathChip () AS INTEGER
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.     Has87MathChip = FHas87MathChip()
  1973. END FUNCTION
  1974.  
  1975.  
  1976. PUBLIC FUNCTION HasMonochromeDisplay () AS INTEGER
  1977.  
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.     HasMonochromeDisplay = FHasMonochromeDisplay()
  1984. END FUNCTION
  1985.  
  1986.  
  1987. PUBLIC FUNCTION HasMouseInstalled () AS INTEGER
  1988.  
  1989.  
  1990.  
  1991.  
  1992.  
  1993.  
  1994.     HasMouseInstalled = FHasMouseInstalled()
  1995. END FUNCTION
  1996.  
  1997.  
  1998. PUBLIC FUNCTION DoesDirExist (szDir$)  AS INTEGER
  1999.  
  2000.  
  2001.  
  2002.  
  2003.  
  2004.  
  2005.     DoesDirExist = FDirExists(szDir$)
  2006. END FUNCTION
  2007.  
  2008.  
  2009. PUBLIC FUNCTION DoesIniSectionExist (szFile$, szSect$)  AS INTEGER
  2010.  
  2011.  
  2012.  
  2013.  
  2014.  
  2015.  
  2016.     DoesIniSectionExist = FDoesIniSectionExist(szFile$, szSect$)
  2017. END FUNCTION
  2018.  
  2019.  
  2020. PUBLIC FUNCTION DoesIniKeyExist (szFile$, szSect$, szKey$)  AS INTEGER
  2021.  
  2022.  
  2023.  
  2024.  
  2025.  
  2026.  
  2027.  
  2028.     DoesIniKeyExist = FDoesIniKeyExist(szFile$, szSect$, szKey$)
  2029. END FUNCTION
  2030.  
  2031.  
  2032. PUBLIC FUNCTION GetIniKeyString (szFile$, szSect$, szKey$)  AS STRING
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043.  
  2044.       DIM cb%, szBuf$, cbRet%
  2045.  
  2046.     cb% = 512
  2047.     szBuf$ = STRING$(cb%, 0)
  2048.     cbRet% = CbGetIniKeyString(szFile$, szSect$, szKey$, szBuf$, cb%)
  2049.  
  2050.     GetIniKeyString = LEFT$ (szBuf$, INSTR (szBuf$, CHR$(0)) - 1)
  2051.  
  2052.     szBuf$ = ""
  2053. END FUNCTION
  2054.  
  2055.  
  2056. PUBLIC SUB SetListItem (szSymbol$, n%, szListItem$) 
  2057.  
  2058.  
  2059.  
  2060.  
  2061.   DIM ListLen%, i%
  2062.     ListLen% = GetListLength(szSymbol)
  2063.     IF n% < 0 THEN
  2064.        ErrorMsg SID_ERR_GETLISTITEM2, LSI_INFO(13) & _
  2065.                  " : " & LSI_INFO(12) & " : " & LSI_INFO(11)
  2066.        ERROR STFQUIT
  2067.     ELSEIF n% <= ListLen% THEN
  2068.         ReplaceListItem szSymbol$, n%, szListItem$
  2069.     ELSE
  2070.         FOR i% = ListLen%+1 TO n%-1 STEP 1
  2071.         AddListItem szSymbol$, ""
  2072.         NEXT
  2073.         AddListItem szSymbol$, szListItem$
  2074.     END IF
  2075. END SUB
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083.  
  2084.  
  2085.  
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.  
  2093. PUBLIC SUB ErrorMsg (nMsg%, szErr$)
  2094.  
  2095.    DIM sz$, notused%
  2096.  
  2097.    IF nMsg% <> 0 THEN
  2098.       sz$ = LdString(nMsg%)
  2099.       IF szErr$ <> "" THEN sz$ = sz$ + " " + szErr$
  2100.    ELSE
  2101.       sz$ = szErr$
  2102.    END IF
  2103.    
  2104.    notused = DoMsgBox (sz$, LdString(SID_TKT_STD_TITLE) , MB_OK + MB_ICONEXCLAMATION)
  2105.  
  2106. END SUB
  2107.  
  2108.  
  2109.  
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117.  
  2118.  
  2119.  
  2120.  
  2121.  
  2122.  
  2123.  
  2124. PUBLIC SUB FatalErrorMsg (nMsg%, szErr$, nErr%)
  2125.  
  2126.    ErrorMsg nMsg%, szErr$
  2127.    ERROR nErr%
  2128.  
  2129. END SUB
  2130.  
  2131.  
  2132.  
  2133.  
  2134.  
  2135.  
  2136.  
  2137.  
  2138.  
  2139.  
  2140.  
  2141.  
  2142.  
  2143.  
  2144.  
  2145.  
  2146.  
  2147.  
  2148.  
  2149. PUBLIC SUB ErrorMsgNoDlgExit (nMsg%, szErr$)
  2150.  
  2151.    ErrorMsg nMsg%, szErr$
  2152.    SetListItem "__LASTSTATUS", 1, "Q"
  2153.  
  2154. END SUB
  2155.  
  2156. PUBLIC FUNCTION LdString (TextID%) AS STRING
  2157.  
  2158.  
  2159.  
  2160.  
  2161.  
  2162.  
  2163.    DIM rc%
  2164.  
  2165.    g_strbuf$ = string(256,0)
  2166.     rc% = LoadString(HinstCui(), TextID%, g_strbuf$, 256-1)
  2167.   ASSERT rc% <> 0, "String " + STR(TextID%) + " Not Found"
  2168.   LdString = LEFT$(g_strbuf$, rc%)
  2169.  
  2170.    g_strbuf$ = ""
  2171.  
  2172. END FUNCTION
  2173.  
  2174.  
  2175.  
  2176.  
  2177.  
  2178.  
  2179.  
  2180.  
  2181.  
  2182.  
  2183. PUBLIC FUNCTION Lot_CleanPath (path$) AS INTEGER
  2184.  
  2185.    DIM rv%
  2186.  
  2187.    rv% = FCleanFatPath(path$)
  2188.    IF rv% <> FALSE THEN
  2189.       rv% = INSTR(path$,CHR$(0))
  2190.       IF (rv% > 0) THEN path$ = LEFT$(path$, rv% - 1)
  2191.       IF RIGHT$(path$, 1) <> "\" OR IsDBCSFirstAtOffset(path$, LEN(path$) - 1) = 1 THEN path$ = path$ + "\"
  2192.       path$ = LCASE$(path$)
  2193.       Lot_CleanPath = TRUE
  2194.    ELSE
  2195.       Lot_CleanPath = FALSE
  2196.    END IF
  2197.  
  2198. END FUNCTION
  2199.  
  2200.  
  2201.  
  2202.  
  2203.  
  2204.  
  2205.  
  2206.  
  2207. DIM gDEBUG%
  2208. PUBLIC SUB SetUpAPI 
  2209.  
  2210.  
  2211.  
  2212.  
  2213.  
  2214.  
  2215.  
  2216.  
  2217.   DIM cuidll$, gCursorSave%, notused%
  2218.  
  2219.   gCursorSave% = ShowWaitCursor()
  2220.   hSetup = InitSetup(COMMAND$)
  2221.  
  2222.   IF ENVIRON$(gLOTUS_DEBUG) <> "" THEN
  2223.       gDEBUG%=TRUE
  2224.   ELSE
  2225.       gDEBUG%=FALSE
  2226.   END IF
  2227.  
  2228.  
  2229.  
  2230.  
  2231.   cuidll$ = GetIniKeyString(GetSymbolValue(SYM_STF_CWDDIR$)+gINSTALLINI$,_
  2232.                     "TOOLKIT", SYM_CUIDLL$)
  2233.   If cuidll$ = "" Then
  2234.         cuidll$ = "MSCUISTF.DLL"
  2235.   End If
  2236.   SetSymbolValue SYM_CUIDLL$, cuidll$
  2237.   SetBitmap cuidll$, LOGO
  2238.   notused% = FLotusInitialize (LSI_INFO(4))
  2239.  
  2240.   
  2241.   gStrK$  = LdString(SID_KBYTE_CHAR)
  2242.   gStrMB$ = LdString(SID_MBYTE_CHAR)
  2243.  
  2244. END SUB
  2245.  
  2246. PUBLIC SUB      ASSERT (assertion%, msg$)
  2247.    DIM notused%
  2248.    If assertion% = FALSE Then
  2249.       If gDEBUG% = TRUE Then
  2250.          notused% = DoMsgBox (LSI_INFO(13) & " : " & LSI_INFO(12) & " : " & _
  2251.               LSI_INFO(11) + CHR(10) + msg$ , _
  2252.               "ASSERT!!", MB_OK + MB_ICONEXCLAMATION )
  2253.  
  2254.          
  2255.               
  2256.               
  2257.          ERROR STFQUIT
  2258.       End If
  2259.    End If
  2260.  
  2261. END SUB
  2262.  
  2263. PUBLIC FUNCTION WriteToFile(szFile$,sz$)  AS INTEGER
  2264.  
  2265.  
  2266.  
  2267.  
  2268.  
  2269.  
  2270.     WriteToFile = FWriteToFile(szFile$,sz$)
  2271. END FUNCTION
  2272.  
  2273.  
  2274.