mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
786 lines
19 KiB
786 lines
19 KiB
'***********************************************************************
|
|
'* RPC SDK Install
|
|
'* Copyright (C) - 1992 by Microsoft
|
|
'*
|
|
'* Written By - Steven Zeck
|
|
'**************************************************************************
|
|
|
|
'$define DEBUG
|
|
|
|
'$INCLUDE 'setupapi.inc'
|
|
'$INCLUDE 'msdetect.inc'
|
|
|
|
CONST TRUE = -1
|
|
CONST FALSE = 0
|
|
|
|
''Dialog ID's
|
|
CONST ASKQUIT = 200
|
|
CONST DlgGetPath = 310
|
|
CONST HlpGetPath = 311
|
|
CONST DlgRegPath = 1700
|
|
CONST HlpRegPath = 1701
|
|
CONST DlgDosPath = 2000
|
|
CONST HlpDosPath = 2001
|
|
CONST EXITFAILURE = 400
|
|
CONST EXITQUIT = 600
|
|
|
|
' Conditionaly set the dialogs for full SDK versus runtime only.
|
|
|
|
CONST DlgWelcome = 100
|
|
CONST DlgInstallOptions = 800
|
|
CONST HlpInstallOptions = 801
|
|
CONST DlgNSInstallOptions = 802
|
|
CONST HlpNSInstallOptions = 803
|
|
CONST EXITSUCCESS = 700
|
|
|
|
CONST DlgSdkOption = 1200
|
|
CONST HlpSdkOption = 1201
|
|
CONST DlgRuntimeOption = 1400
|
|
CONST HlpRuntimeOption = 1401
|
|
CONST DlgTransport = 1600
|
|
CONST HlpTransport = 1601
|
|
CONST DlgNetBiosOptions = 2200
|
|
CONST HlpNetBiosOptions = 2201
|
|
CONST DlgNetBiosProtocols = 2300
|
|
CONST HlpNetBiosProtocols = 2301
|
|
CONST DlgNewProtocol = 2100
|
|
CONST HlpNewProtocol = 2101
|
|
CONST DlgNewNS = 2150
|
|
CONST DlgAutoPath = 2400
|
|
CONST HlpAutoPath = 2401
|
|
CONST BADPATH = 6400
|
|
|
|
CONST DlgDosSdkPath = 3000
|
|
CONST DlgDosSdkPathHelp = 3001
|
|
|
|
CONST DlgMacSdkPath = 3100
|
|
CONST DlgMacSdkPathHelp = 3101
|
|
|
|
CONST DlgWinSdkPath = 3200
|
|
CONST DlgWinSdkPathHelp = 3201
|
|
|
|
''Bitmap ID
|
|
CONST LOGO = 1
|
|
|
|
CONST LanType_LANMAN = 6
|
|
|
|
Type LAN_DETECT
|
|
iType As Integer
|
|
iMajor As Integer
|
|
iMinor As Integer
|
|
iRev As Integer
|
|
fEnhance As Integer
|
|
End Type
|
|
|
|
GLOBAL BasePath$ ''Default destination directory.
|
|
GLOBAL WinIncPath$
|
|
GLOBAL WinLibPath$
|
|
GLOBAL BaseWPath$ ''Default destination directory.
|
|
GLOBAL DosIncPath$
|
|
Global DosLibPath$
|
|
Global DosExePath$
|
|
GLOBAL Base2Path$ ''Default destination directory.
|
|
Global MacIncPath$
|
|
Global MacLibPath$
|
|
|
|
GLOBAL RegPath$ ''Default destination directory.
|
|
GLOBAL DosPath$ ''Default destination directory.
|
|
Global CustomInstall ''Custom install option
|
|
Global SrcDir$
|
|
Global MSDOSSDK
|
|
Global MSDOSIncSDK
|
|
Global MSDOSLibSDK
|
|
|
|
Global WindowsSDK
|
|
Global WindowsIncSDK
|
|
Global WindowsLibSDK
|
|
|
|
Global MacSDK
|
|
Global MacIncSDK
|
|
Global MacLibSDK
|
|
|
|
GLOBAL CUIDLL$
|
|
GLOBAL HELPPROC$
|
|
Global ThreeEightySixEnh
|
|
Global ThreeEightySixEnhStr$
|
|
Global TCP
|
|
|
|
DECLARE Function GetPath(Dialog%, Path$) AS INTEGER
|
|
DECLARE Function GetDosPath() AS INTEGER
|
|
DECLARE Function GetWinPath() AS INTEGER
|
|
DECLARE Function GetMacPath() AS INTEGER
|
|
DECLARE Sub CopyList(ListIn$, ListOut$, Truncate%)
|
|
DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
|
|
DECLARE FUNCTION GetCheck (index%) AS INTEGER
|
|
DECLARE FUNCTION GetInnerChk (index%) AS INTEGER
|
|
DECLARE FUNCTION BoolToOnOff (Bool%) AS String
|
|
DECLARE FUNCTION GetWinSize () AS String
|
|
DECLARE FUNCTION GetDosSize () AS String
|
|
DECLARE FUNCTION GetMacSize () AS String
|
|
DECLARE FUNCTION FormatSize ()AS String
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' Startup Entry point
|
|
'
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
INIT:
|
|
CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
|
|
HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
|
|
|
|
SetBitmap CUIDLL$, LOGO
|
|
SetTitle "RPC - Software Development Kit Install"
|
|
|
|
szInf$ = GetSymbolValue("STF_SRCINFPATH")
|
|
if szInf$ = "" THEN
|
|
szInf$ = GetSymbolValue("STF_CWDDIR") + "RPCSDK.INF"
|
|
end if
|
|
ReadInfFile szInf$
|
|
SetAbout "RPC SDK Install", "By GregJen - Version 0.20"
|
|
|
|
CustomInstall = FALSE
|
|
MSDOSRuntime = TRUE
|
|
ThreeEightySixEnh = FALSE
|
|
TCP = FALSE
|
|
ThreeEightySixEnhStr$="[386Enh]"
|
|
|
|
|
|
'$ifndef WINDOWS_ONLY
|
|
MSDOSSDK = TRUE
|
|
'$endif
|
|
|
|
'$ifndef MSDOS_ONLY
|
|
WindowsRuntime = TRUE
|
|
'$endif
|
|
|
|
MSDOSIncSDK = TRUE
|
|
MSDOSLibSDK = TRUE
|
|
|
|
WindowsSDK = TRUE
|
|
WindowsIncSDK = TRUE
|
|
WindowsLibSDK = TRUE
|
|
|
|
MacSDK = TRUE
|
|
MacIncSDK = TRUE
|
|
MacLibSDK = TRUE
|
|
|
|
Dim Detect As LAN_DETECT
|
|
BasePath$ = "C:\msvc"
|
|
BaseWPath$ = "C:\msvc"
|
|
Base2Path$ = "C:\msvc20\m68k"
|
|
RegPath$="C:\"
|
|
DosPath$="C:\DOS"
|
|
WinPath$=GetWindowsDir
|
|
SrcDir$ = GetSymbolValue("STF_SRCDIR")
|
|
|
|
' If the path contains lanman, make that the default DOS DLL directory.
|
|
|
|
path$ = Ucase$(GetEnvVariableValue ("PATH"))+";"
|
|
|
|
i% = 1
|
|
while i% < len(path$)
|
|
|
|
iEnd = instr(i%, path$, ";")
|
|
cPath$ = mid$(path, i%, iEnd - i%)
|
|
|
|
if instr (cPath$, "LANMAN") or instr(cPath$, "\NETPROG") then
|
|
DosPath$ = cPath$
|
|
end if
|
|
|
|
if instr (cPath$, "\msvc\") then
|
|
BasePath$ = mid$(cPath$, 1, 1)+":\msvc"
|
|
end if
|
|
|
|
if instr (cPath$, "\msvc20\") then
|
|
Base2Path$ = mid$(cPath$, 1, 1)+":\msvc20\m68k"
|
|
end if
|
|
|
|
i% = iEnd + 1
|
|
wend
|
|
|
|
BaseWPath$ = BasePath$
|
|
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' Welcome dialog box
|
|
'
|
|
'
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
|
|
WELCOME:
|
|
sz$ = UIStartDlg(CUIDLL$, DlgWelcome, "FInfoDlgProc", 0, "")
|
|
if sz$ = "CONTINUE" THEN
|
|
UIPop 1
|
|
else
|
|
GOSUB ASKQUIT
|
|
GOTO WELCOME
|
|
end if
|
|
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' sdk custom install dialog box
|
|
'
|
|
'
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
|
|
SDK_OPTION:
|
|
|
|
RemoveSymbol "CheckItemsState"
|
|
AddListItem "CheckItemsState", BoolToOnOff(MSDOSSDK)
|
|
AddListItem "CheckItemsState", BoolToOnOff(WindowsSDK )
|
|
AddListItem "CheckItemsState", BoolToOnOff(MacSDK )
|
|
|
|
RemoveSymbol "DriveStatusText"
|
|
AddListItem "DriveStatusText", BasePath$
|
|
'AddListItem "EditFocus", "END"
|
|
AddListItem "DriveStatusText", BaseWPath$
|
|
'AddListItem "EditFocus", "END"
|
|
AddListItem "DriveStatusText", Base2Path$
|
|
'AddListItem "EditFocus", "END"
|
|
|
|
RESTART_SDK_OPTION:
|
|
|
|
RemoveSymbol "StatusItemsText"
|
|
CurSize$ = GetDosSize()
|
|
TotalSize = val(CurSize$)
|
|
AddListItem "StatusItemsText", CurSize$
|
|
CurSize$ = GetWinSize()
|
|
TotalSize = TotalSize + val(CurSize$)
|
|
AddListItem "StatusItemsText", CurSize$
|
|
CurSize $= GetMacSize()
|
|
TotalSize = TotalSize + val(CurSize$)
|
|
AddListItem "StatusItemsText", CurSize$
|
|
|
|
TotalSizeStr$ = "Total ="+str$( TotalSize )+"K"
|
|
AddListItem "StatusItemsText", TotalSizeStr$
|
|
|
|
RE_ITERATE:
|
|
sz$ = UIStartDlg(CUIDLL$, DlgSdkOption, "FCustInstDlgProc", HlpSdkOption, HELPPROC$)
|
|
|
|
if sz$ = "CONTINUE" THEN
|
|
UIPop(1)
|
|
|
|
elseif sz$ = "BACK" THEN
|
|
UIPop(1)
|
|
GOTO WELCOME
|
|
|
|
elseif sz$ = "REACTIVATE" THEN
|
|
GOTO RESTART_SDK_OPTION
|
|
|
|
elseif sz$ = "PATH" THEN
|
|
|
|
i% = GetPath(DlgGetPath ,BasePath$)
|
|
ReplaceListItem "DriveStatusText", 1, BasePath$
|
|
GOTO RESTART_SDK_OPTION
|
|
|
|
elseif sz$ = "CHK1" THEN
|
|
|
|
MSDOSSDK = GetCheck(1)
|
|
GOTO RESTART_SDK_OPTION
|
|
|
|
elseif sz$ = "CHK2" THEN
|
|
|
|
WindowsSDK = GetCheck(2)
|
|
GOTO RESTART_SDK_OPTION
|
|
|
|
elseif sz$ = "CHK3" THEN
|
|
|
|
MacSDK = GetCheck(3)
|
|
GOTO RESTART_SDK_OPTION
|
|
|
|
elseif sz$ = "BTN1" THEN
|
|
|
|
'StfApiErr saeInit, "Got sz$", sz$
|
|
i% = GetDosPath()
|
|
ReplaceListItem "DriveStatusText", 1, BasePath$
|
|
GOTO RESTART_SDK_OPTION
|
|
|
|
elseif sz$ = "BTN2" THEN
|
|
|
|
'StfApiErr saeInit, "Got sz$", sz$
|
|
i% = GetWinPath()
|
|
ReplaceListItem "DriveStatusText", 2, BaseWPath$
|
|
GOTO RESTART_SDK_OPTION
|
|
|
|
elseif sz$ = "BTN3" THEN
|
|
|
|
'StfApiErr saeInit, "Got sz$", sz$
|
|
i% = GetMacPath()
|
|
ReplaceListItem "DriveStatusText", 3, Base2Path$
|
|
GOTO RESTART_SDK_OPTION
|
|
|
|
else
|
|
'StfApiErr saeInit, "Got final sz$", sz$
|
|
GOSUB ASKQUIT
|
|
GOTO RESTART_SDK_OPTION
|
|
end if
|
|
|
|
'StfApiErr saeInit, "Got sz$", sz$
|
|
if MSDOSSDK = FALSE and WindowsSDK = FALSE and MacSDK = FALSE then
|
|
goto FullInstall
|
|
|
|
end if
|
|
|
|
FullInstall:
|
|
|
|
group$ = "Microsoft Visual C++"
|
|
|
|
|
|
|
|
if MSDOSSDK or WindowsSDK then
|
|
CreateDir BasePath$, cmoNone
|
|
|
|
CreateDir MakePath(BasePath$, "rpc"), cmoNone
|
|
|
|
' Install the SDK files first.
|
|
|
|
CreateDir MakePath(BasePath$, "include"), cmoNone
|
|
|
|
AddSectionFilesToCopyList "Base", SrcDir$, MakePath(BaseWPath$, "rpc")
|
|
|
|
AddSectionFilesToCopyList "include", SrcDir$, MakePath(BaseWPath$, "include")
|
|
AddSectionFilesToCopyList "binclude", SrcDir$, MakePath(BaseWPath$, "include")
|
|
AddSectionFilesToCopyList "bin", SrcDir$, MakePath(BaseWPath$, "bin")
|
|
endif
|
|
|
|
if WindowsSDK then
|
|
CreateDir BaseWPath$, cmoNone
|
|
|
|
if WindowsIncSDK then
|
|
AddSectionFilesToCopyList "winclude", SrcDir$, MakePath(BaseWPath$, "include\win")
|
|
end if
|
|
|
|
if WindowsLibSDK then
|
|
AddSectionFilesToCopyList "wlib", SrcDir$, MakePath(BaseWPath$, "lib")
|
|
end if
|
|
|
|
|
|
CreateProgmanGroup group$, "", cmoNone
|
|
ShowProgmanGroup group$, 1, cmoNone
|
|
CreateProgmanItem group$, "RPC ReadMe", "notepad "+MakePath(BaseWPath$, "rpc\readme.txt"), "", cmoOverWrite
|
|
|
|
end if
|
|
|
|
if MSDOSSDK then
|
|
if MSDOSIncSDK then
|
|
AddSectionFilesToCopyList "dinclude", SrcDir$, MakePath(BasePath$, "include\dos")
|
|
end if
|
|
if MSDOSLibSDK then
|
|
AddSectionFilesToCopyList "dlib", SrcDir$, MakePath(BasePath$, "lib")
|
|
end if
|
|
end if
|
|
|
|
if MacSDK then
|
|
CreateDir Base2Path$, cmoNone
|
|
|
|
if MacIncSDK then
|
|
AddSectionFilesToCopyList "minclude", SrcDir$, MakePath(Base2Path$, "include")
|
|
AddSectionFilesToCopyList "binclude", SrcDir$, MakePath(Base2Path$, "include")
|
|
end if
|
|
if MacLibSDK then
|
|
AddSectionFilesToCopyList "mlib", SrcDir$, MakePath(Base2Path$, "lib")
|
|
end if
|
|
end if
|
|
|
|
|
|
' DumpCopyList "C:\tmp\t"
|
|
CopyFilesInCopyList
|
|
|
|
|
|
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' QUIT points
|
|
'
|
|
'
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
|
|
|
|
QUIT:
|
|
ON ERROR GOTO ERRQUIT
|
|
OldNetapiPath$ = FindTargetOnEnvVar("netapi.old", "PATH")
|
|
|
|
if OldNetapiPath$ <> "" then
|
|
BackupFile OldNetapiPath$, "netapi.dll"
|
|
end if
|
|
|
|
if ERR = 0 THEN
|
|
dlg% = EXITSUCCESS
|
|
|
|
elseif ERR = STFQUIT THEN
|
|
dlg% = EXITQUIT
|
|
|
|
else
|
|
dlg% = EXITFAILURE
|
|
end if
|
|
|
|
QUITL1:
|
|
while UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "") = "REACTIVATE"
|
|
wend
|
|
|
|
UIPop 1
|
|
|
|
END
|
|
|
|
ERRQUIT:
|
|
i% = DoMsgBox("Setup sources were corrupted, contact technical support", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
|
|
END
|
|
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' quit prompt dialog box subroutine
|
|
'
|
|
'
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
|
|
ASKQUIT:
|
|
sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
|
|
|
|
if sz$ = "EXIT" THEN
|
|
UIPopAll
|
|
ERROR STFQUIT
|
|
elseif sz$ = "REACTIVATE" THEN
|
|
GOTO ASKQUIT
|
|
else
|
|
UIPop 1
|
|
end if
|
|
RETURN
|
|
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' Function GetPath
|
|
'
|
|
'
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
|
|
|
|
Function GetPath(Dialog%, Path$) Static AS INTEGER
|
|
|
|
SetSymbolValue "EditTextIn", Path$
|
|
SetSymbolValue "EditFocus", "END"
|
|
|
|
sz$ = UIStartDlg(CUIDLL$, Dialog%, "FEditDlgProc", Dialog% + 1, HELPPROC$)
|
|
NewPath$ = GetSymbolValue("EditTextOut")
|
|
|
|
GetPath = FALSE
|
|
|
|
if sz$ = "CONTINUE" THEN
|
|
Path$ = NewPath$
|
|
GetPath = TRUE
|
|
end if
|
|
|
|
UIPop (1)
|
|
|
|
end function
|
|
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' Function GetDosPath
|
|
'
|
|
'
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
|
|
|
|
Function GetDosPath() Static AS INTEGER
|
|
|
|
SetSymbolValue "EditTextIn", BasePath$
|
|
SetSymbolValue "EditFocus", "END"
|
|
RemoveSymbol "InnerChkItemsState"
|
|
AddListItem "InnerChkItemsState", BoolToOnOff(MSDOSIncSDK)
|
|
AddListItem "InnerChkItemsState", BoolToOnOff(MSDOSLibSDK)
|
|
|
|
RESTART_DOS_PATH:
|
|
sz$ = UIStartDlg(CUIDLL$,DlgDosSdkPath, "FMyEditDlgProc", DlgDosSdkPathHelp, HELPPROC$)
|
|
NewPath$ = GetSymbolValue("EditTextOut")
|
|
|
|
GetDosPath = FALSE
|
|
|
|
if sz$ = "CONTINUE" THEN
|
|
BasePath$ = NewPath$
|
|
GetDosPath = TRUE
|
|
elseif sz$ = "CHK1" THEN
|
|
MSDOSIncSDK = GetInnerChk(1)
|
|
GOTO RESTART_DOS_PATH
|
|
elseif sz$ = "CHK2" THEN
|
|
MSDOSLibSDK = GetInnerChk(2)
|
|
GOTO RESTART_DOS_PATH
|
|
end if
|
|
|
|
UIPop (1)
|
|
|
|
end function
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' Function GetWinPath
|
|
'
|
|
'
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
|
|
|
|
Function GetWinPath() Static AS INTEGER
|
|
|
|
SetSymbolValue "EditTextIn", BaseWPath$
|
|
SetSymbolValue "EditFocus", "END"
|
|
RemoveSymbol "InnerChkItemsState"
|
|
AddListItem "InnerChkItemsState", BoolToOnOff(WindowsIncSDK)
|
|
AddListItem "InnerChkItemsState", BoolToOnOff(WindowsLibSDK)
|
|
'StfApiErr saeInit, "WindowsIncSDK is", BoolToOnOff(WindowsIncSDK)
|
|
|
|
RESTART_Win_PATH:
|
|
sz$ = UIStartDlg(CUIDLL$,DlgWinSdkPath, "FMyEditDlgProc", DlgWinSdkPathHelp, HELPPROC$)
|
|
NewPath$ = GetSymbolValue("EditTextOut")
|
|
|
|
GetWinPath = FALSE
|
|
|
|
if sz$ = "CONTINUE" THEN
|
|
BaseWPath$ = NewPath$
|
|
GetWinPath = TRUE
|
|
elseif sz$ = "CHK1" THEN
|
|
WindowsIncSDK = GetInnerChk(1)
|
|
GOTO RESTART_Win_PATH
|
|
elseif sz$ = "CHK2" THEN
|
|
WindowsLibSDK = GetInnerChk(2)
|
|
GOTO RESTART_Win_PATH
|
|
end if
|
|
|
|
UIPop (1)
|
|
|
|
end function
|
|
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' Function GetMacPath
|
|
'
|
|
'
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
|
|
|
|
Function GetMacPath() Static AS INTEGER
|
|
|
|
SetSymbolValue "EditTextIn", Base2Path$
|
|
SetSymbolValue "EditFocus", "END"
|
|
RemoveSymbol "InnerChkItemsState"
|
|
AddListItem "InnerChkItemsState", BoolToOnOff(MacIncSDK)
|
|
AddListItem "InnerChkItemsState", BoolToOnOff(MacLibSDK)
|
|
|
|
RESTART_Mac_PATH:
|
|
sz$ = UIStartDlg(CUIDLL$,DlgMacSdkPath, "FMyEditDlgProc", DlgMacSdkPathHelp, HELPPROC$)
|
|
NewPath$ = GetSymbolValue("EditTextOut")
|
|
|
|
GetMacPath = FALSE
|
|
|
|
if sz$ = "CONTINUE" THEN
|
|
Base2Path$ = NewPath$
|
|
GetMacPath = TRUE
|
|
elseif sz$ = "CHK1" THEN
|
|
MacIncSDK = GetInnerChk(1)
|
|
GOTO RESTART_Mac_PATH
|
|
elseif sz$ = "CHK2" THEN
|
|
'StfApiErr saeInit, "Got sz$", sz$
|
|
GOTO RESTART_Mac_PATH
|
|
end if
|
|
|
|
UIPop (1)
|
|
|
|
end function
|
|
|
|
|
|
'**
|
|
'** Purpose:
|
|
'** Appends a file name to the end of a directory path,
|
|
'** inserting a backslash character as needed.
|
|
'** Arguments:
|
|
'** szDir$ - full directory path (with optional ending "\")
|
|
'** szFile$ - filename to append to directory
|
|
'** Returns:
|
|
'** Resulting fully qualified path name.
|
|
'*************************************************************************
|
|
|
|
FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
|
|
if szDir$ = "" THEN
|
|
MakePath = szFile$
|
|
elseif szFile$ = "" THEN
|
|
MakePath = szDir$
|
|
elseif MID$(szDir$, LEN(szDir$), 1) = "\" THEN
|
|
MakePath = szDir$ + szFile$
|
|
else
|
|
MakePath = szDir$ + "\" + szFile$
|
|
end if
|
|
END FUNCTION
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' Function GetCheck
|
|
'
|
|
' returns true if the specified item is checked
|
|
'
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
|
|
FUNCTION GetCheck (index%) STATIC AS INTEGER
|
|
|
|
if GetListItem("CheckItemsState", index%) = "ON" then
|
|
GetCheck = TRUE
|
|
else
|
|
GetCheck = FALSE
|
|
end if
|
|
|
|
END FUNCTION
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' Function GetInnerChk
|
|
'
|
|
' returns true if the specified item is checked
|
|
'
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
|
|
FUNCTION GetInnerChk (index%) STATIC AS INTEGER
|
|
|
|
if GetListItem("InnerChkItemsState", index%) = "ON" then
|
|
GetInnerChk = TRUE
|
|
else
|
|
GetInnerChk = FALSE
|
|
end if
|
|
|
|
END FUNCTION
|
|
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' Sub CopyList
|
|
'
|
|
'
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
|
|
Sub CopyList(ListOut$, ListIn$, Truncate%) static
|
|
|
|
if Truncate% <> 0 then
|
|
RemoveSymbol ListOut$
|
|
end if
|
|
|
|
for i% = 1 to GetListLength(ListIn$) step 1
|
|
AddListItem ListOut$, GetListItem(ListIn$, i%)
|
|
next
|
|
|
|
end sub
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' Function BoolToOnOff
|
|
'
|
|
'
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
|
|
function BoolToOnOff (Bool%) static AS String
|
|
|
|
if Bool% then
|
|
BoolToOnOff$ = "ON"
|
|
else
|
|
BoolToOnOff$ = "OFF"
|
|
end if
|
|
|
|
end function
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' Function FormatSize
|
|
'
|
|
'
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
|
|
function FormatSize () static AS String
|
|
|
|
cbMore& = GetCopyListCost ("", "Cost", "")
|
|
cbSize = val(GetListItem("Cost", asc(BasePath$) - asc("A") + 1)) / 1024
|
|
|
|
if cbSize then
|
|
FormatSize = str$(cbSize)+"K"
|
|
else
|
|
FormatSize = ""
|
|
end if
|
|
|
|
ClearCopyList
|
|
|
|
end function
|
|
|
|
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' Sizing functions
|
|
'
|
|
'
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' Function GetDosSize
|
|
'
|
|
'
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
|
|
function GetDosSize () static AS String
|
|
|
|
if MSDOSSDK then
|
|
|
|
if MSDOSIncSDK then
|
|
AddSectionFilesToCopyList "include", SrcDir$, BasePath$
|
|
AddSectionFilesToCopyList "binclude", SrcDir$, BasePath$
|
|
AddSectionFilesToCopyList "dinclude", SrcDir$, BasePath$
|
|
end if
|
|
|
|
if MSDOSLibSDK then
|
|
AddSectionFilesToCopyList "dlib", SrcDir$, BasePath$
|
|
end if
|
|
|
|
end if
|
|
|
|
GetDosSize = FormatSize()
|
|
|
|
end function
|
|
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' Function GetWinSize
|
|
'
|
|
'
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
|
|
function GetWinSize () static AS String
|
|
|
|
if WindowsSDK then
|
|
if WindowsIncSDK then
|
|
AddSectionFilesToCopyList "include", SrcDir$, BaseWPath$
|
|
AddSectionFilesToCopyList "binclude", SrcDir$, BaseWPath$
|
|
AddSectionFilesToCopyList "winclude", SrcDir$, BaseWPath$
|
|
end if
|
|
|
|
if WindowsLibSDK then
|
|
AddSectionFilesToCopyList "wlib", SrcDir$, BaseWPath$
|
|
end if
|
|
end if
|
|
|
|
GetWinSize = FormatSize()
|
|
|
|
end function
|
|
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' Function GetMacSize
|
|
'
|
|
'
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
|
|
function GetMacSize () static AS String
|
|
|
|
if MacSDK then
|
|
if MacIncSDK then
|
|
AddSectionFilesToCopyList "minclude", SrcDir$, Base2Path$
|
|
AddSectionFilesToCopyList "binclude", SrcDir$, Base2Path$
|
|
end if
|
|
|
|
if MacLibSDK then
|
|
AddSectionFilesToCopyList "mlib", SrcDir$, Base2Path$
|
|
end if
|
|
end if
|
|
|
|
|
|
GetMacSize = FormatSize()
|
|
|
|
end function
|
|
|
|
|
|
|