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
Wrap
Text File
|
1992-05-14
|
20KB
|
582 lines
DECLARE FUNCTION LcbGetSizeOfFile LIB "msdetstf.dll" (szFile$) AS LONG
DECLARE FUNCTION FDoesFileExist LIB "msdetstf.dll" (szFileName$, mode%) AS INTEGER
DECLARE FUNCTION FInitializeInstall LIB "msinsstf.dll" (hinst%, hwndFrame%) AS INTEGER
DECLARE FUNCTION InitializeFrame LIB "msshlstf.dll" (szCmdLine$) AS INTEGER
DECLARE FUNCTION FRestoreCursor LIB "msshlstf.dll" (hPrev%) AS INTEGER
DECLARE FUNCTION HShowWaitCursor LIB "msshlstf.dll" AS INTEGER
DECLARE FUNCTION FAddSectionKeyFileToCopyList LIB "mscomstf.dll" (szSect$, szKey$, szSrc$, szDest$) AS INTEGER
DECLARE FUNCTION FAddSpecialFileToCopyList LIB "mscomstf.dll" (szSect$, szKey$, szSrc$, szDest$) AS INTEGER
DECLARE FUNCTION FAddSectionFilesToCopyList LIB "mscomstf.dll" (szSect$, szSrc$, szDest$) AS INTEGER
DECLARE FUNCTION FIsDirWritable LIB "msinsstf.dll" (szDir$) AS INTEGER
DECLARE FUNCTION FSetSymbolValue LIB "msshlstf.dll" (szSymbol$, szValue$) AS INTEGER
DECLARE FUNCTION FExitExecRestart LIB "msinsstf.dll" AS INTEGER
DECLARE FUNCTION FSetBitmap LIB "msshlstf.dll" (szDll$, Bitmap%) AS INTEGER
DECLARE FUNCTION HwndFrame LIB "msshlstf.dll" AS INTEGER
DECLARE FUNCTION LcbFreeDrive LIB "msdetstf.dll" (nDrive%) AS LONG
DECLARE FUNCTION GetVersion LIB "kernel" AS INTEGER
DECLARE FUNCTION CbGetSymbolValue LIB "mscomstf.dll" (szSymbol$, szValue$, Length%) AS INTEGER
DECLARE FUNCTION CbGetInfSectionKeyField LIB "mscomstf.dll" (szSect$, szKey$, iField%, szBuf$, cbBuf%) AS INTEGER
DECLARE FUNCTION FOpenInf LIB "mscomstf.dll" (szFile$, fCheck%, fCheckSyms%) AS INTEGER
DECLARE FUNCTION FKillNDialogs LIB "msuilstf.dll" (n%) AS INTEGER
DECLARE FUNCTION CbGetListItem LIB "mscomstf.dll" (szListSymbol$, n%, szListItem$, cbMax%) AS INTEGER
DECLARE FUNCTION UsGetListLength LIB "mscomstf.dll" (szSymbol$) AS INTEGER
DECLARE FUNCTION GetSystemDirectory LIB "kernel" (szBuf$, cbBuf%) AS INTEGER
DECLARE FUNCTION GetWindowsDirectory LIB "kernel" (szBuf$, cbBuf%) AS INTEGER
DECLARE FUNCTION FCreateDir LIB "msinsstf.dll" (szDir$, cmo%) AS INTEGER
DECLARE FUNCTION FAddListItem LIB "mscomstf.dll" (szListSymbol$, szListItem$) AS INTEGER
DECLARE FUNCTION FReplaceListItem LIB "mscomstf.dll" (szListSymbol$, n%, szListItem$) AS INTEGER
DECLARE FUNCTION FDoDialog LIB "msuilstf.dll" (hwnd%, szDll$, Dlg%, szDlgProc$, HelpDlg%, szHelpProc$) AS INTEGER
DECLARE FUNCTION FClearBillboardList LIB "msinsstf.dll" AS INTEGER
DECLARE FUNCTION FAddToBillboardList LIB "msinsstf.dll" (szDll$, idDlg%, szProc$, lTicks&) AS INTEGER
DECLARE FUNCTION GrcCopyFilesInCopyList LIB "msinsstf.dll" (hInstance%) AS INTEGER
DECLARE FUNCTION HinstFrame LIB "msshlstf.dll" AS INTEGER
DECLARE FUNCTION FCreateProgManGroup LIB "msinsstf.dll" (szGroup$, szPath$, cmo%) AS INTEGER
DECLARE FUNCTION FCreateProgManItem LIB "msinsstf.dll" (szGroup$, szItem$, szCmd$, cmo%) AS INTEGER
DECLARE FUNCTION FShowProgManGroup LIB "msinsstf.dll" (szGroup$, szCmd$, cmo%) AS INTEGER
DECLARE FUNCTION FRestartListEmpty LIB "msinsstf.dll" AS INTEGER
DECLARE FUNCTION DoMsgBox LIB "mscomstf.dll" (lpText$,lpCaption$,wType%) As INTEGER
DECLARE FUNCTION FSetRestartDir LIB "msinsstf.dll" (szDir$) AS INTEGER
DECLARE FUNCTION FSetSymbolToListOfInfKeys LIB "mscomstf.dll" (szSym$, szSect$, fNulls%) AS INTEGER
DECLARE SUB ResetCopyList LIB "msinsstf.dll"
DECLARE SUB SetWindowText LIB "User" (hwnd%, lpString$)
DECLARE SUB ProSetPos LIB "msinsstf.dll" (x%, y%)
DECLARE FUNCTION ExitExecRestart AS INTEGER
DECLARE FUNCTION GetFreeSpaceForDrive (szDrive$) AS LONG
DECLARE FUNCTION GetListItem(szSymbol$, n%) AS STRING
DECLARE FUNCTION GetSizeOfFile (szFile$) AS LONG
DECLARE FUNCTION GetListLength(szSymbol$) AS INTEGER
DECLARE FUNCTION GetSectionKeySize (szSect$, szKey$) AS LONG
DECLARE FUNCTION DoesFileExist (szFile$, mode%) AS INTEGER
DECLARE FUNCTION GetSymbolValue (szSymbol$) AS STRING
DECLARE FUNCTION GetWindowsMajorVersion AS INTEGER
DECLARE FUNCTION GetWindowsMinorVersion AS INTEGER
DECLARE FUNCTION ShowWaitCursor AS INTEGER
DECLARE FUNCTION GetWindowsDir AS STRING
DECLARE FUNCTION GetSectionKeyFilename (szSect$, szKey$) AS STRING
DECLARE FUNCTION GetWindowsSysDir AS STRING
DECLARE FUNCTION RestartListEmpty AS INTEGER
DECLARE FUNCTION IsDirWritable (szDir$) AS INTEGER
DECLARE FUNCTION UIStartDlg(szDll$, Dlg%, szDlgProc$, HelpDlg%, szHelpProc$) AS STRING
DECLARE SUB AddListItem(szSymbol$, szItem$)
DECLARE SUB AddToBillboardList (szDll$, idDlg%, szProc$, lTicks&)
DECLARE SUB AddSectionKeyFileToCopyList (szSect$, szKey$, szSrc$, szDest$)
DECLARE SUB AddSpecialFileToCopyList (szSect$, szKey$, szSrc$, szDest$)
DECLARE SUB AddSectionFilesToCopyList (szSect$, szSrc$, szDest$)
DECLARE SUB ClearBillboardList
DECLARE SUB ClearCopyList
DECLARE SUB CopyFilesInCopyList
DECLARE SUB CreateDir (szDir$, cmo%)
DECLARE SUB CreateProgmanGroup (szGroup$, szPath$, cmo%)
DECLARE SUB SetSymbolValue (szSymbol$, szValue$)
DECLARE SUB CreateProgmanItem (szGroup$, szItem$, szCmd$, szOther$, cmo%)
DECLARE SUB ShowProgmanGroup (szGroup$, Cmd%, cmo%)
DECLARE SUB MakeListFromSectionKeys (szSymbol$, szSection$)
DECLARE SUB RestoreCursor (hPrev%)
DECLARE SUB ReplaceListItem(szSymbol$, n%, szItem$)
DECLARE SUB ReadInfFile (szFile$)
DECLARE SUB SetBitmap(szDll$, Bitmap%)
DECLARE SUB SetRestartDir(szDir$)
DECLARE SUB SetTitle (sz$)
DECLARE SUB SetCopyGaugePosition (x%, y%)
DECLARE SUB UIPop (n%)
DECLARE SUB UIPopAll
DECLARE FUNCTION InitFrame (szCmdLine$) AS INTEGER
DECLARE FUNCTION InitSetup (szCmdLine$) AS INTEGER
DECLARE SUB InitInstall
''ON ERROR Error Codes
CONST STFERR = 1024 ''setup system error
CONST STFQUIT = 1025 ''user quit
CONST scmOff = 0
CONST scmOnIgnore = 1
CONST scmOnFatal = 2
CONST SM_CXSCREEN = 0
CONST SM_CYSCREEN = 1
CONST WF_80x87 = 1024
CONST WF_CPU186 = 128
CONST WF_CPU286 = 2
CONST WF_CPU386 = 4
CONST WF_CPU486 = 8
CONST WF_STANDARD = 16
CONST WF_ENHANCED = 32
'' DoMsgBox Flags
CONST MB_OK = 0
CONST MB_OKCANCEL = 1
CONST MB_ICONHAND = 16
CONST MB_ICONINFORMATION = 64
CONST MB_TASKMODAL = 8192
CONST IDOK = 1
CONST IDCANCEL = 2
CONST cbSymValMax = 512
''Command Option Flags
CONST cmoVital = 1
CONST cmoCopy = 2
CONST cmoUndo = 4
CONST cmoRoot = 8
CONST cmoDecompress = 16
CONST cmoTimeStamp = 32
CONST cmoReadOnly = 64
CONST cmoBackup = 128
CONST cmoForce = 256
CONST cmoRemove = 512
CONST cmoOverwrite = 1024
CONST cmoAppend = 2048
CONST cmoPrepend = 4096
CONST cmoNone = 0
CONST cmoAll = 65535
''File Exist Modes
CONST femExists = 0
CONST femRead = 1
CONST femWrite = 2
CONST femReadWrite = 3
''Read-Only Return Code
CONST ynrcNo = 0
CONST ynrcYes = 1
CONST ynrcErr1 = 2
CONST ynrcErr2 = 3
CONST ynrcErr3 = 4
CONST ynrcErr4 = 5
CONST ynrcErr5 = 6
CONST ynrcErr6 = 7
CONST ynrcErr7 = 8
CONST ynrcErr8 = 9
CONST ynrcErr9 = 10
''General Return Codes
CONST grcOkay = 0
CONST grcNotOkay = 1
CONST grcUserQuit = 48
GLOBAL hSetup AS INTEGER
GLOBAL fFrameInit AS INTEGER
GLOBAL fInstallInit AS INTEGER
'*************************************************************************
'***************** Setup Basic Wrapper Definitions *********************
'*************************************************************************
FUNCTION InitSetup(szCmdLine$) STATIC AS INTEGER
fFrameInit = 0
fInstallInit = 0
IF hSetup > 0 THEN
END IF
i% = InitFrame(szCmdLine$)
fFrameInit = 1
InitInstall
fInstallInit = 1
InitSetup = i%
END FUNCTION
'**************************************************************************
FUNCTION InitFrame(szCmdLine$) STATIC AS INTEGER
i% = InitializeFrame(szCmdLine$)
IF i% = -1 THEN
END '' NOT an error - Usage (/?) or Command line copy operation
ELSEIF i% = 0 THEN
END
ELSE
InitFrame = i%
END IF
END FUNCTION
'*************************************************************************
SUB InitInstall STATIC
IF FInitializeInstall(HinstFrame(), HwndFrame()) = 0 THEN
END
END IF
END SUB
'*************************************************************************
FUNCTION GetFreeSpaceForDrive (szDrive$) STATIC AS LONG
GetFreeSpaceForDrive = LcbFreeDrive(ASC(UCASE$(szDrive$)) - ASC("A") + 1)
END FUNCTION
'**************************************************************************
SUB SetBitmap(szDll$, Bitmap%) STATIC
IF FSetBitmap(szDll$, Bitmap%) = 0 THEN
ERROR STFERR
END IF
END SUB
'*************************************************************************
SUB SetTitle(sz$) STATIC
SetWindowText HwndFrame(), sz$
END SUB
''' -1 in either parameter will mean 'center in frame client area'
'*************************************************************************
SUB SetCopyGaugePosition (x%, y%) STATIC
ProSetPos x%, y%
END SUB
'*************************************************************************
FUNCTION GetWindowsMajorVersion STATIC AS INTEGER
GetWindowsMajorVersion = GetVersion() MOD 256
END FUNCTION
'*************************************************************************
FUNCTION GetWindowsMinorVersion STATIC AS INTEGER
GetWindowsMinorVersion = GetVersion() / 256
END FUNCTION
'*************************************************************************
FUNCTION GetSymbolValue(szSymbol$) STATIC AS STRING
szValue$ = string$(cbSymValMax,32)
Length% = CbGetSymbolValue(szSymbol$, szValue$, cbSymValMax)
GetSymbolValue = szValue$
IF Length% >= cbSymValMax THEN
ERROR STFERR
END IF
IF szSymbol$ = "" THEN
ERROR STFERR
END IF
szValue$ = ""
END FUNCTION
'*************************************************************************
SUB ReadInfFile (szFile$) STATIC
IF FOpenInf(szFile$, 1, 0) = 0 THEN
ERROR STFERR
END IF
END SUB
'*************************************************************************
FUNCTION GetWindowsDir STATIC AS STRING
szBuf$ = string$(256, 32)
cbBuf% = GetWindowsDirectory(szBuf$, 256)
IF cbBuf% = 0 THEN
GetWindowsDir = ""
ERROR STFERR
ELSE
IF cbBuf% > 255 THEN
ERROR STFERR
END IF
szBuf$ = RTRIM$(szBuf$)
IF MID$(szBuf$, 1, 1) = "\" THEN
szBuf$ = MID$(GetWindowsSysDir, 1, 2) + szBuf$
ELSEIF MID$(szBuf$, 2, 1) <> ":" THEN
szBuf$ = MID$(GetWindowsSysDir, 1, 3) + szBuf$
END IF
IF MID$(szBuf$, LEN(szBuf$), 1) <> "\" THEN
szBuf$ = szBuf$ + "\"
END IF
GetWindowsDir = szBuf$
END IF
szBuf$ = ""
END FUNCTION
'*************************************************************************
FUNCTION GetWindowsSysDir STATIC AS STRING
szBuf$ = string$(256, 32)
cbBuf% = GetSystemDirectory(szBuf$, 256)
IF cbBuf% = 0 THEN
ERROR STFERR
ELSE
IF cbBuf% > 255 THEN
ERROR STFERR
END IF
szBuf$ = RTRIM$(szBuf$)
IF MID$(szBuf$, 1, 1) = "\" THEN
szBuf$ = MID$(CURDIR$, 1, 2) + szBuf$
ELSEIF MID$(szBuf$, 2, 1) <> ":" THEN
szBuf$ = MID$(CURDIR$, 1, 3) + szBuf$
END IF
IF MID$(szBuf$, LEN(szBuf$), 1) <> "\" THEN
szBuf$ = szBuf$ + "\"
END IF
GetWindowsSysDir = szBuf$
END IF
szBuf$ = ""
END FUNCTION
'*************************************************************************
SUB AddListItem(szSymbol$, szItem$) STATIC
IF FAddListItem(szSymbol$, szItem$) = 0 THEN
ERROR STFERR
END IF
END SUB
'*************************************************************************
SUB ReplaceListItem(szSymbol$, n%, szItem$) STATIC
IF FReplaceListItem(szSymbol$, n%, szItem$) = 0 THEN
ERROR STFERR
END IF
END SUB
'*************************************************************************
FUNCTION GetSectionKeySize (szSect$, szKey$) STATIC AS LONG
szBuf$ = string$(128, 32)
Length% = CbGetInfSectionKeyField(szSect$, szKey$, 15, szBuf$, 128)
IF Length% >= 128 THEN
ERROR STFERR
END IF
IF Length% = -1 THEN
ERROR STFERR
END IF
GetSectionKeySize = VAL(szBuf$)
szBuf$ = ""
END FUNCTION
'*************************************************************************
FUNCTION UIStartDlg(szDll$, Dlg%, szDlgProc$, HelpDlg%, szHelpProc$) STATIC AS STRING
IF FDoDialog(HwndFrame(), szDll$, Dlg%, szDlgProc$, HelpDlg%, szHelpProc$) = 0 THEN
ERROR STFERR
ELSE
UIStartDlg = GetSymbolValue("DLGEVENT")
END IF
END FUNCTION
'*************************************************************************
FUNCTION GetListLength(szSymbol$) STATIC AS INTEGER
GetListLength = UsGetListLength(szSymbol$)
IF szSymbol$ = "" THEN
ERROR STFERR
END IF
END FUNCTION
'*************************************************************************
FUNCTION GetListItem(szListSymbol$, nItem%) STATIC AS STRING
szListItem$ = string$(cbSymValMax,32)
Length% = CbGetListItem(szListSymbol$, nItem%, szListItem$, cbSymValMax)
GetListItem = szListItem$
IF Length% >= cbSymValMax THEN
ERROR STFERR
END IF
IF szListSymbol$ = "" THEN
ERROR STFERR
END IF
if nItem% <= 0 or nItem% > GetListLength(szListSymbol$) then
ERROR STFERR
end if
szListItem$ = ""
END FUNCTION
'*************************************************************************
SUB UIPop (n%) STATIC
IF FKillNDialogs(n%) = 0 THEN
ERROR STFERR
END IF
END SUB
'*************************************************************************
SUB UIPopAll STATIC
IF FKillNDialogs(65535) = 0 THEN
ERROR STFERR
END IF
END SUB
'*************************************************************************
SUB ClearCopyList STATIC
ResetCopyList
END SUB
'*************************************************************************
SUB CreateDir (szDir$, cmo%) STATIC
IF FCreateDir(szDir$, cmo%) = 0 THEN
ERROR STFERR
END IF
END SUB
'*************************************************************************
SUB ClearBillboardList STATIC
IF FClearBillboardList = 0 THEN
ERROR STFERR
END IF
END SUB
'*************************************************************************
SUB AddToBillboardList (szDll$, idDlg%, szProc$, lTicks&) STATIC
IF FAddToBillboardList(szDll$, idDlg%, szProc$, lTicks&) = 0 THEN
ERROR STFERR
END IF
END SUB
'*************************************************************************
SUB CopyFilesInCopyList STATIC
grc% = GrcCopyFilesInCopyList (HinstFrame())
IF grc% = grcUserQuit THEN
ERROR STFQUIT
ELSEIF grc% > 0 THEN
ERROR STFERR
END IF
END SUB
'*************************************************************************
SUB CreateProgmanGroup (szGroup$, szPath$, cmo%) STATIC
IF FCreateProgManGroup(szGroup$, szPath$, cmo%) = 0 THEN
ERROR STFERR
END IF
END SUB
'*************************************************************************
SUB ShowProgmanGroup (szGroup$, Cmd%, cmo%) STATIC
IF FShowProgManGroup(szGroup$, STR$(Cmd%), cmo%) = 0 THEN
ERROR STFERR
END IF
END SUB
'*************************************************************************
SUB CreateProgmanItem (szGroup$, szItem$, szCmd$, szOther$, cmo%) STATIC
szItemNew$ = szItem$
IF szOther$ <> "" THEN
szItemNew$ = szItem$ + "," + szOther$
END IF
IF FCreateProgManItem(szGroup$, szItemNew$, szCmd$, cmo%) = 0 THEN
ERROR STFERR
END IF
szItemNew$ = ""
END SUB
'*************************************************************************
FUNCTION RestartListEmpty STATIC AS INTEGER
IF FRestartListEmpty() = 0 THEN
RestartListEmpty = 0
ELSE
RestartListEmpty = 1
END IF
END FUNCTION
'*************************************************************************
SUB SetRestartDir (szDir$) STATIC
IF FSetRestartDir(szDir$) = 0 THEN
ERROR STFERR
END IF
END SUB
'*************************************************************************
FUNCTION ExitExecRestart STATIC AS INTEGER
ExitExecRestart = FExitExecRestart
END FUNCTION
'*************************************************************************
SUB SetSymbolValue(szSymbol$, szValue$) STATIC
IF FSetSymbolValue(szSymbol$, szValue$) = 0 THEN
ERROR STFERR
END IF
END SUB
'*************************************************************************
FUNCTION IsDirWritable (szDir$) STATIC AS INTEGER
IsDirWritable = FIsDirWritable(szDir$)
END FUNCTION
'*************************************************************************
SUB AddSectionFilesToCopyList (szSect$, szSrc$, szDest$) STATIC
IF FAddSectionFilesToCopyList (szSect$, szSrc$, szDest$) = 0 THEN
ERROR STFERR
END IF
END SUB
'*************************************************************************
SUB AddSpecialFileToCopyList (szSect$, szKey$, szSrc$, szDest$) STATIC
IF FAddSpecialFileToCopyList (szSect$, szKey$, szSrc$, szDest$) = 0 THEN
ERROR STFERR
END IF
END SUB
'*************************************************************************
FUNCTION GetSectionKeyFilename (szSect$, szKey$) STATIC AS STRING
szBuf$ = string$(128, 32)
Length% = CbGetInfSectionKeyField(szSect$, szKey$, 1, szBuf$, 128)
IF Length% >= 128 THEN
res% = DoMsgBox("Buffer Overflow", "MS-Setup Error", MB_ICONHAND+MB_OK)
ERROR STFERR
END IF
IF Length% = -1 THEN
ERROR STFERR
END IF
GetSectionKeyFilename = szBuf$
szBuf$ = ""
END FUNCTION
'*************************************************************************
SUB AddSectionKeyFileToCopyList (szSect$, szKey$, szSrc$, szDest$) STATIC
IF FAddSectionKeyFileToCopyList (szSect$, szKey$, szSrc$, szDest$) = 0 THEN
ERROR STFERR
END IF
END SUB
'*************************************************************************
FUNCTION ShowWaitCursor STATIC AS INTEGER
ShowWaitCursor = HShowWaitCursor
END FUNCTION
'*************************************************************************
SUB RestoreCursor (hPrev%) STATIC
i% = FRestoreCursor(hPrev%)
IF i% = 0 THEN
ERROR STFERR
END IF
END SUB
'*************************************************************************
FUNCTION DoesFileExist (szFileName$, mode%) STATIC AS INTEGER
DoesFileExist = FDoesFileExist(szFileName$, mode%)
END FUNCTION
'*************************************************************************
FUNCTION GetSizeOfFile (szFile$) STATIC AS LONG
GetSizeOfFile = LcbGetSizeOfFile(szFile$)
END FUNCTION
'**************************************************************************
SUB MakeListFromSectionKeys(szSymbol$, szSect$) STATIC
IF FSetSymbolToListOfInfKeys(szSymbol$, szSect$, 1) = 0 THEN
ERROR STFERR
END IF
END SUB
'*************************************************************************
' M A I N
'*************************************************************************
TRAP CleanupTrap From "MSSHLSTF.DLL"
End Trap
hSetup = InitSetup(COMMAND$)
ON ERROR GOTO QUIT