home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 1998 April A
/
Pcwk4a98.iso
/
Lotus
/
Notes46
/
INSTALL.DSK
/
REGISTER.LSS
< prev
next >
Wrap
Text File
|
1995-07-31
|
70KB
|
1,768 lines
USE "SETUPAPI"
'********************** Product Registration Subroutines ****************
DECLARE PUBLIC SUB Reg_RegisterProductNames(Acronym$,Full_Name$)
DECLARE PUBLIC SUB Reg_SetSupportedInstallTypes(ProdNo%,Complete%,Custom%,Laptop%)
DECLARE PUBLIC SUB Reg_SetSelectedInstallType(ProdNo%,TypeSelected$)
DECLARE PUBLIC SUB Reg_SetProdSizes(ProdNo%,FullSize&,MinSize&)
DECLARE PUBLIC SUB Reg_SetUIInOrOut(ProdNo%,Flag%)
DECLARE PUBLIC SUB Reg_SetAllowUserToPickInSuite(ProdNo%,Flag%)
DECLARE PUBLIC SUB Reg_SetShareFlags(ProdNo%,Share%,DLens%,SQL%,Paradox%)
DECLARE PUBLIC SUB Reg_SetShare32Flag(ProdNo%,Share32%)
DECLARE PUBLIC SUB Reg_SetCDOption(ProdNo%,Inst%,CDOptStr$)
DECLARE PUBLIC SUB Reg_SetCDOptionSelected(ProdNo%,Inst%,Selection%)
DECLARE PUBLIC SUB Reg_ReSetCDOptionSelected(ProdNo%,Inst%,Selection%)
DECLARE PUBLIC SUB Reg_ReSetCDOptionSelectedToDefault(ProdNo%,Inst%)
DECLARE PUBLIC SUB Reg_ReSetAllCDOptsSelToDefaults(ProdNo%)
DECLARE PUBLIC SUB Reg_SetNodeOption(ProdNo%,Inst%,NodeOptStr$)
DECLARE PUBLIC SUB Reg_SetNodeOptionSelected(ProdNo%,Inst%,Selection%)
DECLARE PUBLIC SUB Reg_ReSetNodeOptionSelected(ProdNo%,Inst%,Selection%)
DECLARE PUBLIC SUB Reg_ReSetNodeOptionSelectedToDefault(ProdNo%,Inst%)
DECLARE PUBLIC SUB Reg_ReSetAllNodeOptsSelToDefaults(ProdNo%)
DECLARE PUBLIC SUB Reg_SetSrvSupport(ProdNo%,SrvFlag%)
DECLARE PUBLIC SUB Reg_SetDistSupport(ProdNo%,DistFlag%)
DECLARE PUBLIC SUB Reg_SetExtraProdDirsNum(ProdNo%,DirsNum%)
DECLARE PUBLIC SUB Reg_SetLicenseSupport(ProdNo%,LicFlag%)
DECLARE PUBLIC SUB Reg_SetLicenseSelected(ProdNo%,LicFlag%)
DECLARE PUBLIC SUB Reg_SetCountDirectory(ProdNo%,CountDir$)
DECLARE PUBLIC SUB Reg_SetATMSupport(ProdNo%,ATMFlag%)
DECLARE PUBLIC SUB Reg_SetProgManagerGroup(ProdNo%,GroupName$)
DECLARE PUBLIC SUB Reg_SetSystemFileSize(ProdNo%,Size&)
DECLARE PUBLIC SUB Reg_SetBillboardNumber(ProdNo%,BBNum%)
DECLARE PUBLIC SUB Reg_SetSHAREEXESupport(ProdNo%,Flag%)
DECLARE PUBLIC SUB Reg_SetNotesSupport(ProdNo%,Flag%)
DECLARE PUBLIC SUB Reg_SetPreviousVersion(ProdNo%,prev$)
DECLARE PUBLIC SUB Reg_SetMoreDirsData(ProdNo%,CBName$,DialogID%,HelpID&)
DECLARE PUBLIC SUB Reg_SetObsFiles(ProdNo%,support%)
'********************** Product Registration Functions ****************
DECLARE PUBLIC FUNCTION Reg_GetNumberOfProducts() AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetProductNo(ProdAcronym$) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetProductAcronym(ProdNo%) AS STRING
DECLARE PUBLIC FUNCTION Reg_GetProdSupportForFullInstall(ProdNo%) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetProdSupportForCustInstall(ProdNo%) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetProdSupportForMinInstall(ProdNo%) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetProdSelectedInstallType(ProdNo%) AS STRING
DECLARE PUBLIC FUNCTION Reg_GetProdFullSize(ProdNo%) AS LONG
DECLARE PUBLIC FUNCTION Reg_GetProdMinSize(ProdNo%) AS LONG
DECLARE PUBLIC FUNCTION Reg_GetProdSupportForShare(ProdNo%) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetProdSupportForShare32(ProdNo%) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetProdSupportForDataLens(ProdNo%) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetProdSupportForSQL(ProdNo%) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetProdSupportForParadox(ProdNo%) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetCDOptionStr(ProdNo%,Inst%) AS STRING
DECLARE PUBLIC FUNCTION Reg_GetNodeOptionStr(ProdNo%,Inst%) AS STRING
DECLARE PUBLIC FUNCTION Reg_GetNumOfCDOptions(ProdNo%) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetNumOfNodeOptions(ProdNo%) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetProdSupportForSrv(ProdNo%) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetProdSupportForDist(ProdNo%) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetProdSupportForExtraProdDirs(ProdNo%) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetProdSupportForLicense(ProdNo%) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_IsLicenseSelected(ProdNo%) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetCountDirectory(ProdNo%) AS STRING
DECLARE PUBLIC FUNCTION Reg_GetProdSupportForATM(ProdNo%) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetDirSymbolList(ProdNo%) AS STRING
DECLARE PUBLIC FUNCTION Reg_GetProgManagerGroupName(ProdNo%) AS STRING
DECLARE PUBLIC FUNCTION Reg_GetNumOfDirectories(ProdNo%) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetSystemFileSize(ProdNo%) AS LONG
DECLARE PUBLIC FUNCTION Reg_IsCDOptionSelected(ProdNo%,Inst%) AS STRING
DECLARE PUBLIC FUNCTION Reg_IsCDOptionDefaultSelected(ProdNo%,Inst%) AS STRING
DECLARE PUBLIC FUNCTION Reg_IsNodeOptionSelected(ProdNo%,Inst%) AS STRING
DECLARE PUBLIC FUNCTION Reg_IsNodeOptionDefaultSelected(ProdNo%,Inst%) AS STRING
DECLARE PUBLIC FUNCTION Reg_GetBillboardNumber(ProdNo%) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetProductName(ProdNo%) AS STRING
DECLARE PUBLIC FUNCTION Reg_GetUIInOrOut(ProdNo%) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetAllowUserToPickInSuite(ProdNo%) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetSHAREEXESupport(ProdNo%) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetNotesSupport(ProdNo%) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetPreviousVersion(ProdNo%) AS STRING
DECLARE PUBLIC FUNCTION Reg_GetMoreDirsCBName(ProdNo%) AS STRING
DECLARE PUBLIC FUNCTION Reg_GetMoreDirsDlgID(ProdNo%) AS INTEGER
DECLARE PUBLIC FUNCTION Reg_GetMoreDirsHlpID(ProdNo%) AS LONG
DECLARE PUBLIC FUNCTION Reg_GetObsFiles(ProdNo%) AS INTEGER
'** Win95 program folder functions
DECLARE PUBLIC SUB Reg_SetSelectedFolder(ProdNo%,s$)
DECLARE PUBLIC SUB Reg_SetRootFolder(s$)
DECLARE PUBLIC FUNCTION Reg_GetSelectedFolder(ProdNo%) AS STRING
DECLARE PUBLIC FUNCTION Reg_GetRootFolder() AS STRING
DECLARE PUBLIC FUNCTION Lot_GetProgFolder(ProdNo%) AS STRING
DECLARE PUBLIC FUNCTION Lot_AddLinkToFolder(prodno%, szProgPath$, szLinkName$, szDesc$, szArgument$, szWorkingDir$) AS INTEGER
DECLARE PUBLIC FUNCTION Lot_AddLinkIconToFolder(prodno%, szProgPath$, szLinkName$, szDesc$, szArgument$, szWorkingDir$, szIconpath$, Icon&) AS INTEGER
DECLARE PUBLIC FUNCTION FGetRootFolder LIB "mscuistf.dll" ALIAS "_FGetRootFolder@0" () AS STRING
'******************** Product Registration struc, array and count *********
PUBLIC TYPE PRODINFO
Acronym AS STRING
Name AS STRING
Complete AS INTEGER
Custom AS INTEGER
Laptop AS INTEGER
SelectedType AS STRING
UIInOrOut AS INTEGER
AllowUserToPickInSuite AS INTEGER
FullSize AS LONG
MinSize AS LONG
Share AS INTEGER
Share32 AS INTEGER
DataLens AS INTEGER
SQL AS INTEGER
Paradox AS INTEGER
CDOpt AS STRING
CDOptSelected AS STRING
CDOptDefaultSelected AS STRING
NodeOpt AS STRING
NodeOptSelected AS STRING
NodeOptDefaultSelected AS STRING
Srv AS INTEGER
Dist AS INTEGER
ExtraProdDirsNum AS INTEGER
License AS INTEGER
LicenseSelected AS INTEGER
CountDirectory AS STRING
ATM AS INTEGER
DirSymList AS STRING 'Should be populated in Init
ProgManagerGroup AS STRING
ProgFolder AS STRING
SystemFileSize AS LONG
BillboardNumber AS INTEGER
SHAREEXE AS INTEGER
Notes AS INTEGER
PreviousVersion AS STRING 'This is a string for future purposes
MoreDirsCBName AS STRING
MoreDirsDlgID AS INTEGER
MoreDirsHlpID AS LONG
ObsoleteFiles AS INTEGER 'This is can be a string for future enhancements
END TYPE
PUBLIC Prods(gMaxNumOfProds) AS PRODINFO
PUBLIC gCurrNumOfProds% '** Number of products
PUBLIC gCurrentProduct% '** The current product
'********************** Product Registration Subroutines ****************
PUBLIC FUNCTION Reg_GetNumberOfProducts() AS INTEGER
'** Purpose: Return number of products in database
'*************************************************************************
Reg_GetNumberOfProducts=gCurrNumOfProds%
END FUNCTION
PUBLIC SUB Reg_RegisterProductNames(Acronym$,Full_Name$)
'** Purpose: This function will:
'** ++gCurrNumOfProds%
'** Prods(gCurrNumOfProds%).Acronym=Acronym$
'** Prods(gCurrNumOfProds%).Name=Full_Name$
'** Prods(gCurrNumOfProds%).DirSymList=Acronym$+"DIRS"
'** Prods(gCurrNumOfProds%).CDOpt=Acronym$+"CDOPT"
'** Prods(gCurrNumOfProds%).CDOptSelected=Acronym$+"CDOPTSELECTED"
'** Prods(gCurrNumOfProds%).NodeOpt=Acronym$+"NODEOPT"
'** Prods(gCurrNumOfProds%).NodeOptSelected=Acronym$+"NODEOPTSELECTED"
'** Prods(gCurrNumOfProds%).NodeOptDefaultSelected=Acronym$+"NODEOPTDEFAULTSELECTED"
'** Prods(gCurrNumOfProds%).CDOptDefaultSelected=Acronym$+"CDOPTDEFAULTSELECTED"
'** Prods(gCurrNumOfProds%).BillboardNumber=0
'** Prods(gCurrNumOfProds%).ProgManagerGroup="Lotus Applications"
'** Parameters: Acronym$ 3 letter acronym
'** Full_Name$ Full product name
'*************************************************************************
gCurrNumOfProds%=gCurrNumOfProds%+1
IF gCurrNumOfProds% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
Prods(gCurrNumOfProds%).Acronym=Acronym$
Prods(gCurrNumOfProds%).Name=Full_Name$
Prods(gCurrNumOfProds%).DirSymList=Acronym$+"DIRS"
Prods(gCurrNumOfProds%).CDOpt=Acronym$+"CDOPT"
Prods(gCurrNumOfProds%).CDOptSelected=Acronym$+"CDOPTSELECTED"
Prods(gCurrNumOfProds%).NodeOpt=Acronym$+"NODEOPT"
Prods(gCurrNumOfProds%).NodeOptSelected=Acronym$+"NODEOPTSELECTED"
Prods(gCurrNumOfProds%).NodeOptDefaultSelected=Acronym$+"NODEOPTDEFAULTSELECTED"
Prods(gCurrNumOfProds%).CDOptDefaultSelected=Acronym$+"CDOPTDEFAULTSELECTED"
Prods(gCurrNumOfProds%).BillboardNumber=0
Prods(gCurrNumOfProds%).ProgManagerGroup="Lotus Applications"
Prods(gCurrNumOfProds%).UIInOrOut = 1
Prods(gCurrNumOfProds%).AllowUserToPickInSuite = 1
Prods(gCurrNumOfProds%).Share = 0
Prods(gCurrNumOfProds%).Share32 = 0
Prods(gCurrNumOfProds%).DataLens = 0
Prods(gCurrNumOfProds%).SQL = 0
Prods(gCurrNumOfProds%).Paradox = 0
Prods(gCurrNumOfProds%).Srv = 0
Prods(gCurrNumOfProds%).License = 0
Prods(gCurrNumOfProds%).ATM = 0
Prods(gCurrNumOfProds%).ExtraProdDirsNum = 0
Prods(gCurrNumOfProds%).PreviousVersion = ""
Prods(gCurrNumOfProds%).ObsoleteFiles = 0
END SUB
PUBLIC SUB Reg_SetSupportedInstallTypes(ProdNo%,Complete%,Custom%,Laptop%)
'** Purpose: This function will set:
'** Prods(ProdNo%).Complete=Complete%
'** Prods(ProdNo%).Custom=Custom%
'** Prods(ProdNo%).Laptop=Laptop%
'** Parameters: ProdNo% the product number
'** Complete% 1 or 0 if complete install type is supported or not
'** Custom% 1 or 0 if custom install type is supported or not
'** Laptop% 1 or 0 if laptop install type is supported or not
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
Prods(ProdNo%).Complete=Complete%
Prods(ProdNo%).Custom=Custom%
Prods(ProdNo%).Laptop=Laptop%
END SUB
PUBLIC SUB Reg_SetSelectedInstallType(ProdNo%,TypeSelected$)
'** Purpose: This function will set:
'** Prods(ProdNo%).SelectedType=TypeSelected$
'** Parameters: ProdNo% the product number
'** TypeSelected$ one of the three types:
'** "COMPLETE"|"CUSTOM"|"LAPTOP"
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
IF (TypeSelected$<>gCOMPLETE$ AND TypeSelected$<>gCUSTOM$ AND _
TypeSelected$<>gLAPTOP$) THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SELECT CASE TypeSelected$
CASE gCOMPLETE$
Prods(ProdNo%).SelectedType=TypeSelected$
CASE gCUSTOM$
IF(Prods(ProdNo%).Custom=1) THEN
Prods(ProdNo%).SelectedType=TypeSelected$
ELSE
Prods(ProdNo%).SelectedType=gCOMPLETE$
END IF
CASE gLAPTOP$
IF(Prods(ProdNo%).Laptop=1) THEN
Prods(ProdNo%).SelectedType=TypeSelected$
ELSE
Prods(ProdNo%).SelectedType=gCOMPLETE$
END IF
END SELECT
END SUB
PUBLIC SUB Reg_SetProdSizes(ProdNo%,FullSize&,MinSize&)
'** Purpose: This function will set:
'** Prods(ProdNo%).FullSize=FullSize&
'** Prods(ProdNo%).MinSize=MinSize&
'** Parameters: ProdNo% the product number
'** FullSize& the size of the product for full install
'** MinSize& the size of the product for minimum install
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
Prods(ProdNo%).FullSize=FullSize&
Prods(ProdNo%).MinSize=MinSize&
END SUB
PUBLIC SUB Reg_SetUIInOrOut(ProdNo%,Flag%)
'** Purpose: This function will set:
'** Prods(ProdNo%).UIInOrOut=Flag%
'** Parameters: ProdNo% the product number
'** Flag% 1 if the product is in UI and 0 if not
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
Prods(ProdNo%).UIInOrOut = Flag%
END SUB
PUBLIC SUB Reg_SetAllowUserToPickInSuite(ProdNo%,Flag%)
'** Purpose: This function will set:
'** Prods(ProdNo%).AllowUserToPickInSuite=Flag%
'** Parameters: ProdNo% the product number
'** Flag% 1 if the product is in UI and 0 if not
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
Prods(ProdNo%).AllowUserToPickInSuite = Flag%
END SUB
PUBLIC SUB Reg_SetShareFlags(ProdNo%,Share%,DLens%,SQL%,Paradox%)
'** Purpose: This function will set:
'** Prods(ProdNo%).Share=Share%
'** Prods(ProdNo%).DataLens=DLens%
'** Prods(ProdNo%).SQL=SQL%
'** Prods(ProdNo%).Paradox=Paradox%
'** Parameters: ProdNo% the product number
'** Share% 1 or 0 if the product has shared tools or not
'** DLens% 1 or 0 if the product has DataLens drivers or not
'** SQL% 1 or 0 if the product has SQL tools or not
'** Paradox% 1 or 0 if the product has Paradox tools or not
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
Prods(ProdNo%).Share=Share%
Prods(ProdNo%).DataLens=DLens%
Prods(ProdNo%).SQL=SQL%
Prods(ProdNo%).Paradox=Paradox%
END SUB
PUBLIC SUB Reg_SetShare32Flag(ProdNo%,Share32%)
'** Purpose: This function will set:
'** Prods(ProdNo%).Share32=Share32%
'** Parameters: ProdNo% the product number
'** Share32% 1 or 0 if the product has shared 32 tools or not
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
Prods(ProdNo%).Share32=Share32%
END SUB
PUBLIC SUB Reg_SetCDOption(ProdNo%,Inst%,CDOptStr$)
'** Purpose: This function will do:
'** CDOptSym$=Prods(ProdNo%).CDOpt
'** SetListItem CDOptSym$, Inst%,CDOptStr$
'** Parameters: ProdNo% the product number
'** Inst% instance of the CDOption
'** CDOptStr$ CDOpt string (KEYWORD)
'*************************************************************************
DIM CDOptSym$
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
CDOptSym$=Prods(ProdNo%).CDOpt
IF CDOptSym$ = "" OR CDOptStr$ = ""THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SetListItem CDOptSym$, Inst%,CDOptStr$
END SUB
PUBLIC SUB Reg_SetCDOptionSelected(ProdNo%,Inst%,Selection%)
'** Purpose: This function will do:
'** CDOptSymSelected$=Prods(ProdNo%).CDOptSelected
'** SetListItem CDOptSymSelected$, Inst%,Selection%
'** CDOptSymDefaultSelected$=Prods(ProdNo%).CDOptDefaultSelected
'** SetListItem CDOptSymDefaultSelected$, Inst%,Selection%
'** Parameters: ProdNo% the product number
'** Inst% instance of the CDOptionSelected
'** Selection% 1 or 0 if the option was selected or deselected
'*************************************************************************
DIM CDOptSymSelected$,CDOptSymDefaultSelected$
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
CDOptSymSelected$=Prods(ProdNo%).CDOptSelected
IF CDOptSymSelected$ = "" OR _
(Selection% <> 1 AND Selection% <> 0) THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SetListItem CDOptSymSelected$,Inst%,STR$(Selection%)
CDOptSymDefaultSelected$=Prods(ProdNo%).CDOptDefaultSelected
IF CDOptSymDefaultSelected$ = "" OR _
(Selection% <> 1 AND Selection% <> 0) THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SetListItem CDOptSymDefaultSelected$,Inst%,STR$(Selection%)
END SUB
PUBLIC SUB Reg_ReSetCDOptionSelected(ProdNo%,Inst%,Selection%)
'** Purpose: This function will do:
'** CDOptSymSelected$=Prods(ProdNo%).CDOptSelected
'** SetListItem CDOptSymSelected$, Inst%,Selection%
'** Parameters: ProdNo% the product number
'** Inst% instance of the CDOptionSelected
'** Selection% 1 or 0 if the option was selected or deselected
'*************************************************************************
DIM CDOptSymSelected$
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
CDOptSymSelected$=Prods(ProdNo%).CDOptSelected
IF CDOptSymSelected$ = "" OR _
(Selection% <> 1 AND Selection% <> 0) THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SetListItem CDOptSymSelected$,Inst%,STR$(Selection%)
END SUB
PUBLIC SUB Reg_ReSetCDOptionSelectedToDefault(ProdNo%,Inst%)
'** Purpose: This function will do:
'** CDOptSymDefaultSelected$=Prods(ProdNo%).CDOptDefaultSelected
'** Sel$ = GetListItem (CDOptSymDefaultSelected$, Inst%)
'** CDOptSymSelected$=Prods(ProdNo%).CDOptSelected
'** SetListItem CDOptSymSelected$, Inst%,CINT(Sel$)
'** Parameters: ProdNo% the product number
'** Inst% instance of the CDOptionSelected
'*************************************************************************
DIM CDOptSymSelected$,CDOptSymDefaultSelected$,Sel$
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
CDOptSymDefaultSelected$=Prods(ProdNo%).CDOptDefaultSelected
IF CDOptSymDefaultSelected$ = "" THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
Sel$ = GetListItem( CDOptSymDefaultSelected$,Inst% )
CDOptSymSelected$=Prods(ProdNo%).CDOptSelected
IF CDOptSymSelected$ = "" THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SetListItem CDOptSymSelected$,Inst%,Sel$
END SUB
PUBLIC SUB Reg_ReSetAllCDOptsSelToDefaults(ProdNo%)
'** Purpose: This function will do for every option the following:
'** Reg_ReSetCDOptionSelectedToDefault ProdNo%,Inst%
'** Parameters: ProdNo% the product number
'*************************************************************************
DIM CDOptSelSym$,CDOptSelListLen%,Inst%
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
CDOptSelListLen% = 0
CDOptSelSym$=Prods(ProdNo%).CDOptSelected
IF CDOptSelSym$ = "" THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
CDOptSelListLen%=GetListLength(CDOptSelSym$)
FOR Inst%=1 TO CDOptSelListLen%
Reg_ReSetCDOptionSelectedToDefault ProdNo%,Inst%
NEXT
END SUB
PUBLIC SUB Reg_SetNodeOption(ProdNo%,Inst%,NodeOptStr$)
'** Purpose: This function will do:
'** NodeOptSym$=Prods(ProdNo%).NodeOpt
'** SetListItem NodeOptSym$, Inst%,NodeOptStr$
'** Parameeters: ProdNo% the product number
'** Inst% instance of the the NodeOpt
'** NodeOptStr$ Node Option string (KEYWORD)
'*************************************************************************
DIM NodeOptSym$
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
NodeOptSym$=Prods(ProdNo%).NodeOpt
IF NodeOptSym$ = "" OR NodeOptStr$ = ""THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SetListItem NodeOptSym$, Inst%,NodeOptStr$
END SUB
PUBLIC SUB Reg_SetNodeOptionSelected(ProdNo%,Inst%,Selection%)
'** Purpose: This function will do:
'** NodeOptSymSelected$=Prods(ProdNo%).NodeOptSelected
'** SetListItem NodeOptSymSelected$, Inst%,Selection%
'** NodeOptSymDefaultSelected$=Prods(ProdNo%).NodeOptDefaultSelected
'** SetListItem NodeOptSymDefaultSelected$, Inst%,Selection%
'** Parameters: ProdNo% the product number
'** Inst% instance of the NodeOptionSelected
'** Selection% 1 or 0 if the option was selected or deselected
'*************************************************************************
DIM NodeOptSymSelected$,NodeOptSymDefaultSelected$
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
NodeOptSymSelected$=Prods(ProdNo%).NodeOptSelected
IF NodeOptSymSelected$ = "" OR _
(Selection% <> 1 AND Selection% <> 0) THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SetListItem NodeOptSymSelected$,Inst%,STR$(Selection%)
NodeOptSymDefaultSelected$=Prods(ProdNo%).NodeOptDefaultSelected
IF NodeOptSymDefaultSelected$ = "" OR _
(Selection% <> 1 AND Selection% <> 0) THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SetListItem NodeOptSymDefaultSelected$,Inst%,STR$(Selection%)
END SUB
PUBLIC SUB Reg_ReSetNodeOptionSelected(ProdNo%,Inst%,Selection%)
'** Purpose: This function will do:
'** NodeOptSymSelected$=Prods(ProdNo%).NodeOptSelected
'** SetListItem NodeOptSymSelected$, Inst%,Selection%
'** Parameters: ProdNo% the product number
'** Inst% instance of the NodeOptionSelected
'** Selection% 1 or 0 if the option was selected or deselected
'*************************************************************************
DIM NodeOptSymSelected$
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
NodeOptSymSelected$=Prods(ProdNo%).NodeOptSelected
IF NodeOptSymSelected$ = "" OR _
(Selection% <> 1 AND Selection% <> 0) THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SetListItem NodeOptSymSelected$,Inst%,STR$(Selection%)
END SUB
PUBLIC SUB Reg_ReSetNodeOptionSelectedToDefault(ProdNo%,Inst%)
'** Purpose: This function will do:
'** NodeOptSymDefaultSelected$=Prods(ProdNo%).NodeOptDefaultSelected
'** Sel$ = GetListItem (NodeOptSymDefaultSelected$, Inst%)
'** NodeOptSymSelected$=Prods(ProdNo%).NodeOptSelected
'** SetListItem NodeOptSymSelected$, Inst%,CINT(Sel$)
'** Parameters: ProdNo% the product number
'** Inst% instance of the NodeOptionSelected
'*************************************************************************
DIM NodeOptSymSelected$,NodeOptSymDefaultSelected$,Sel$
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
NodeOptSymDefaultSelected$=Prods(ProdNo%).NodeOptDefaultSelected
IF NodeOptSymDefaultSelected$ = "" THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
Sel$ = GetListItem( NodeOptSymDefaultSelected$,Inst% )
NodeOptSymSelected$=Prods(ProdNo%).NodeOptSelected
IF NodeOptSymSelected$ = "" THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SetListItem NodeOptSymSelected$,Inst%,Sel$
END SUB
PUBLIC SUB Reg_ReSetAllNodeOptsSelToDefaults(ProdNo%)
'** Purpose: This function will do for every option the following:
'** Reg_ReSetNodeOptionSelectedToDefault ProdNo%,Inst%
'** Parameters: ProdNo% the product number
'*************************************************************************
DIM NodeOptSelSym$,NodeOptSelListLen%,Inst%
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
NodeOptSelListLen% = 0
NodeOptSelSym$=Prods(ProdNo%).NodeOptSelected
IF NodeOptSelSym$ = "" THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
NodeOptSelListLen%=GetListLength(NodeOptSelSym$)
FOR Inst%=1 TO NodeOptSelListLen%
Reg_ReSetNodeOptionSelectedToDefault ProdNo%,Inst%
NEXT
END SUB
PUBLIC SUB Reg_SetSrvSupport(ProdNo%,SrvFlag%)
'** Purpose: This function will set:
'** Prods(ProdNo%).Srv=SrvFlag%
'** Parameeters: ProdNo% the product number
'** SrvFlag% 1 or 0
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
IF SrvFlag% <> 0 AND SrvFlag% <> 1 THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
Prods(ProdNo%).Srv=SrvFlag%
END SUB
PUBLIC SUB Reg_SetDistSupport(ProdNo%,DistFlag%)
'** Purpose: This function will set:
'** Prods(ProdNo%).Dist=DistFlag%
'** Parameeters: ProdNo% the product number
'** DistFlag% 1 or 0
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
IF DistFlag% <> 0 AND DistFlag% <> 1 THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
Prods(ProdNo%).Dist=DistFlag%
END SUB
PUBLIC SUB Reg_SetExtraProdDirsNum(ProdNo%,ExtraProdDirs%)
'** Purpose: This function will set:
'** Prods(ProdNo%).ExtraProdDirsNum=ExtraProdDirs%
'** Parameeters: ProdNo% the product number
'** ExtraProdDirs% 1 or 0
'** This will change to 0 to n when support for more
'** then two top directories will be implemented.
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
IF ExtraProdDirs% <> 0 AND ExtraProdDirs% <> 1 THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
Prods(ProdNo%).ExtraProdDirsNum=ExtraProdDirs%
END SUB
PUBLIC SUB Reg_SetLicenseSupport(ProdNo%,LicFlag%)
'** Purpose: This function will set:
'** Prods(ProdNo%).License=LicFlag%
'** as well as Prods(ProdNo%).LicenseSelected=LicFlag%
'** Parameeters: ProdNo% the product number
'** LicFlag% 1 or 0
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
IF LicFlag% <> 0 AND LicFlag% <> 1 THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
' Prods(ProdNo%).License=LicFlag%
' Prods(ProdNo%).LicenseSelected=LicFlag%
Prods(ProdNo%).License=0
Prods(ProdNo%).LicenseSelected=0
END SUB
PUBLIC SUB Reg_SetLicenseSelected(ProdNo%,LicFlag%)
'** Purpose: This function will set:
'** Prods(ProdNo%).LicenseSelected=LicFlag%
'** Parameeters: ProdNo% the product number
'** LicFlag% 1 or 0
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
IF LicFlag% <> 0 AND LicFlag% <> 1 THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
' Prods(ProdNo%).LicenseSelected=LicFlag%
Prods(ProdNo%).LicenseSelected=0
END SUB
PUBLIC SUB Reg_SetCountDirectory(ProdNo%,CountDir$)
'** Purpose: This function will set:
'** Prods(ProdNo%).CountDirectory=CountDir$
'** Parameeters: ProdNo% the product number
'** CountDir$
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
IF CountDir$ ="" THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
Prods(ProdNo%).CountDirectory=CountDir$
END SUB
PUBLIC SUB Reg_SetATMSupport(ProdNo%,ATMFlag%)
'** Purpose: This function will set:
'** Prods(ProdNo%).ATM=ATMFlag%
'** Parameeters: ProdNo% the product number
'** ATMFlag% 1 or 0
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
IF ATMFlag% <> 0 AND ATMFlag% <> 1 THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
Prods(ProdNo%).ATM=ATMFlag%
END SUB
PUBLIC SUB Reg_SetProgManagerGroup(ProdNo%,GroupName$)
'** Purpose: This function will set:
'** Prods(ProdNo%).ProgManagerGroup=GroupName$
'** Parameters: ProdNo% the product number
'** Flag% 1 if the product is in UI and 0 if not
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
IF LEN(GroupName$) > 30 THEN
Prods(ProdNo%).ProgManagerGroup=LEFT$(GroupName$,30)
ELSE
Prods(ProdNo%).ProgManagerGroup=GroupName$
END IF
IF Reg_GetRootFolder() = "" THEN
IF IsNewShell() AND LoadCommonCtl() THEN
Reg_SetRootFolder(FGetRootFolder())
END IF
END IF
IF Reg_GetSelectedFolder(ProdNo%) = "" THEN
Reg_SetSelectedFolder ProdNo%,Reg_GetRootFolder()
END IF
END SUB
PUBLIC SUB Reg_SetBillboardNumber(ProdNo%,BBNum%)
'** Purpose: This function will set:
'** Prods(ProdNo%).BillboardNumber=BBNum%
'** Parameters: ProdNo% the product number
'** BBNum% 0 or more billboards
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
IF BBNum% < 0 THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
Prods(ProdNo%).BillboardNumber=BBNum%
END SUB
PUBLIC SUB Reg_SetMoreDirsData(ProdNo%,CBName$,DialogID%,HelpID&)
'** Purpose: This function will do:
'** Prods(ProdNo%).MoreDirsCBName=CBName$
'** Prods(ProdNo%).MoreDirsDlgID=DialogID%
'** Prods(ProdNo%).MoreDirsHlpID=HelpID&
'** Parameters: ProdNo% the product number
'** CBName$ The callback ID
'** DialogID% The dialog ID number
'** HelpID& The help ID
'*************************************************************************
' If the product # is NOT in range
IF ProdNo% > gMaxNumOfProds% THEN
ERROR STFQUIT
END IF
' If invalid/incomplet data is provided
IF CBName$ = "" OR DialogID% = 0 OR HelpID& = CLNG(0) THEN
ERROR STFQUIT
END IF
Prods(ProdNo%).MoreDirsCBName=CBName$
Prods(ProdNo%).MoreDirsDlgID=DialogID%
Prods(ProdNo%).MoreDirsHlpID=HelpID&
END SUB
'********************** Product Registration Functions ****************
PUBLIC FUNCTION Reg_GetProductNo(ProdAcronym$) AS INTEGER
'** Purpose: Finds the index of Acronym$ in Prods array .
'** Parameters: Acronym$ 3 letter acronym of the product
'** Return: ProdNo% the index of ProdAcronym$ in the Prods array
'** 0 if the acronym is not found
'*************************************************************************
DIM ProdNo%, count%
IF ProdAcronym$ = "" THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
ProdNo% = 0
FOR count%=1 TO gMaxNumOfProds%
IF Prods(count%).Acronym = ProdAcronym$ THEN
ProdNo% = count%
EXIT FOR
END IF
NEXT
Reg_GetProductNo=ProdNo%
END FUNCTION
PUBLIC FUNCTION Reg_GetProductAcronym(ProdNo%) AS STRING
'** Purpose: Finds the acronym in Prods array for the index ProdNo%.
'** Parameters: ProdNo% product number
'** Return: Acronym$ of the product with the number ProdNo%
'** "" if the acronym is not found
'*************************************************************************
DIM ProdAcronym$
ProdAcronym$=""
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
ProdAcronym$=Prods(ProdNo%).Acronym
Reg_GetProductAcronym=ProdAcronym$
END FUNCTION
PUBLIC FUNCTION Reg_GetProductname(ProdNo%) AS STRING
'** Purpose: Finds the name in Prods array for the index ProdNo%.
'** Parameters: ProdNo% product number
'** Return: name$ of the product with the number ProdNo%
'** "" if the name is not found
'*************************************************************************
DIM Prodname$
Prodname$=""
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
Prodname$ = Prods(ProdNo%).Name
Reg_GetProductname = Prodname$
END FUNCTION
PUBLIC FUNCTION Reg_GetUIInOrOut(ProdNo%) AS INTEGER
'** Purpose: Finds the uiinorout flag in Prods array for the index ProdNo%.
'** Parameters: ProdNo% product number
'** Return: UIInOrOut flag
'*************************************************************************
DIM flag%
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
flag% = Prods(ProdNo%).UIInOrOut
Reg_GetUIInOrOut = flag%
END FUNCTION
PUBLIC FUNCTION Reg_GetAllowUserToPickInSuite(ProdNo%) AS INTEGER
'** Purpose: Finds the AllowUserToPickInSuite flag in Prods array for the index ProdNo%.
'** Parameters: ProdNo% product number
'** Return: AllowUserToPickInSuite flag
'*************************************************************************
DIM flag%
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
flag% = Prods(ProdNo%).AllowUserToPickInSuite
Reg_GetAllowUserToPickInSuite = flag%
END FUNCTION
PUBLIC FUNCTION Reg_GetProdSupportForFullInstall(ProdNo%) AS INTEGER
'** Purpose: Finds Prods(ProdNo%).Complete
'** Parameters: ProdNo% product number
'** Return: SuppFlag% is 1 if the product supports full install and
'** 0 if it does not
'*************************************************************************
DIM SuppFlag%
SuppFlag% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SuppFlag%=Prods(ProdNo%).Complete
Reg_GetProdSupportForFullInstall=SuppFlag%
END FUNCTION
PUBLIC FUNCTION Reg_GetProdSupportForCustInstall(ProdNo%) AS INTEGER
'** Purpose: Finds Prods(ProdNo%).Custom
'** Parameters: ProdNo% product number
'** Return: SuppFlag% is 1 if the product supports Custom install
'** and 0 if it does not
'*************************************************************************
DIM SuppFlag%
SuppFlag% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SuppFlag%=Prods(ProdNo%).Custom
Reg_GetProdSupportForCustInstall=SuppFlag%
END FUNCTION
PUBLIC FUNCTION Reg_GetProdSupportForMinInstall(ProdNo%) AS INTEGER
'** Purpose: Finds Prods(ProdNo%).Laptop
'** Parameters: ProdNo% product number
'** Return: SuppFlag% is 1 if the product supports minim install and
'** 0 if it does not
'*************************************************************************
DIM SuppFlag%
SuppFlag% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SuppFlag%=Prods(ProdNo%).Laptop
Reg_GetProdSupportForMinInstall=SuppFlag%
END FUNCTION
PUBLIC FUNCTION Reg_GetProdSelectedInstallType(ProdNo%) AS STRING
'** Purpose: Finds Prods(ProdNo%).SelectedType
'** Parameters: ProdNo% product number
'** Return: SelType$ is "COMPLETE"|"CUSTOM"|"LAPTOP" or "" if not set
'*************************************************************************
DIM SelType$
SelType$ = ""
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SelType$=Prods(ProdNo%).SelectedType
Reg_GetProdSelectedInstallType=SelType$
END FUNCTION
PUBLIC FUNCTION Reg_GetProdFullSize(ProdNo%) AS LONG
'** Purpose: Finds Prods(ProdNo%).FullSize
'** Parameters: ProdNo% product number
'** Return: PSize& is the full size or 0 if not set
'*************************************************************************
DIM FSize&
FSize& = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
FSize&=Prods(ProdNo%).FullSize
Reg_GetProdFullSize=FSize&
END FUNCTION
PUBLIC FUNCTION Reg_GetProdMinSize(ProdNo%) AS LONG
'** Purpose: Finds Prods(ProdNo%).MinSize
'** Parameters: ProdNo% product number
'** Return: PSize& is the minimum size or 0 if not set
'*************************************************************************
DIM MSize&
MSize& = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
MSize&=Prods(ProdNo%).MinSize
Reg_GetProdMinSize=MSize&
END FUNCTION
PUBLIC FUNCTION Reg_GetProdSupportForShare(ProdNo%) AS INTEGER
'** Purpose: Finds Prods(ProdNo%).Share
'** Parameters: ProdNo% product number
'** Return: SuppFlag% is 1 if the product supports shared tools and
'** 0 if it does not
'*************************************************************************
DIM SuppFlag%
SuppFlag% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SuppFlag%=Prods(ProdNo%).Share
Reg_GetProdSupportForShare=SuppFlag%
END FUNCTION
PUBLIC FUNCTION Reg_GetProdSupportForShare32(ProdNo%) AS INTEGER
'** Purpose: Finds Prods(ProdNo%).Share32
'** Parameters: ProdNo% product number
'** Return: SuppFlag% is 1 if the product supports shared tools and
'** 0 if it does not
'*************************************************************************
DIM SuppFlag%
SuppFlag% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SuppFlag%=Prods(ProdNo%).Share32
Reg_GetProdSupportForShare32=SuppFlag%
END FUNCTION
PUBLIC FUNCTION Reg_GetProdSupportForDataLens(ProdNo%) AS INTEGER
'** Purpose: Finds Prods(ProdNo%).DataLens
'** Parameters: ProdNo% product number
'** Return: SuppFlag% is 1 if the product supports DataLens and 0 if
'** it does not
'*************************************************************************
DIM SuppFlag%
SuppFlag% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SuppFlag%=Prods(ProdNo%).DataLens
Reg_GetProdSupportForDataLens=SuppFlag%
END FUNCTION
PUBLIC FUNCTION Reg_GetProdSupportForSQL(ProdNo%) AS INTEGER
'** Purpose: Finds Prods(ProdNo%).SQL
'** Parameters: ProdNo% product number
'** Return: SuppFlag% is 1 if the product supports SQL and 0 if it
'** does not
'*************************************************************************
DIM SuppFlag%
SuppFlag% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SuppFlag%=Prods(ProdNo%).SQL
Reg_GetProdSupportForSQL=SuppFlag%
END FUNCTION
PUBLIC FUNCTION Reg_GetProdSupportForParadox(ProdNo%) AS INTEGER
'** Purpose: Finds Prods(ProdNo%).Paradox
'** Parameters: ProdNo% product number
'** Return: SuppFlag% is 1 if the product supports Paradox and 0 if
'** it does not
'*************************************************************************
DIM SuppFlag%
SuppFlag% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SuppFlag%=Prods(ProdNo%).Paradox
Reg_GetProdSupportForParadox=SuppFlag%
END FUNCTION
PUBLIC FUNCTION Reg_GetCDOptionStr(ProdNo%,Inst%) AS STRING
'** Purpose: This function will do:
'** CDOptSym$=Prods(ProdNo%).CDOpt
'** CDOptStr$=GetListItem( CDOptSym$, Inst%)
'** Parameters: ProdNo% the product number
'** Inst% instance of the the CDOption
'** Return: CDOptStr$ CDOpt string or
'** "" if the product number is invalid or if
'** the inst% is out of sequence or CDOptStr$
'** is an empty string.
'*************************************************************************
DIM CDOptSym$,CDOptStr$,CDOptListLen%
CDOptSym$ = ""
CDOptStr$ = ""
CDOptListLen% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
CDOptSym$=Prods(ProdNo%).CDOpt
IF CDOptSym$ = "" THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
CDOptListLen%=GetListLength(CDOptSym$)
IF Inst% > CDOptListLen% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
CDOptStr$=GetListItem( CDOptSym$, Inst%)
Reg_GetCDOptionStr=CDOptStr$
END FUNCTION
PUBLIC FUNCTION Reg_GetNodeOptionStr(ProdNo%,Inst%) AS STRING
'** Purpose: This function will do:
'** NodeOptSym$=Prods(ProdNo%).NodeOpt
'** NodeOptStr$=GetListItem (NodeOptSym$, Inst%)
'** Parameters: ProdNo% the product number
'** Inst% instance of the the NodeOption
'** Return: NodeOptStr$ NodeOpt string or
'** "" if the product number is invalid or if
'** the inst% is out of sequence or
'** NodeOptStr$ is an empty string.
'*************************************************************************
DIM NodeOptSym$,NodeOptStr$,NodeOptListLen%
NodeOptSym$ = ""
NodeOptStr$ = ""
NodeOptListLen% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
NodeOptSym$=Prods(ProdNo%).NodeOpt
IF NodeOptSym$ = "" THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
NodeOptListLen%=GetListLength(NodeOptSym$)
IF Inst% > NodeOptListLen% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
NodeOptStr$=GetListItem( NodeOptSym$, Inst%)
Reg_GetNodeOptionStr=NodeOptStr$
END FUNCTION
PUBLIC FUNCTION Reg_GetNumOfCDOptions(ProdNo%) AS INTEGER
'** Purpose: This function will do:
'** CDOptSym$=Prods(ProdNo%).CDOpt
'** OptNum%=GetListLength( CDOptSym$)
'** Parameters: ProdNo% the product number
'** Return: OptNum% number of CDOptions or 0 if the product number
'** is invalid or if
'** there are no CDOptions.
'*************************************************************************
DIM CDOptSym$,CDOptNum%
CDOptSym$ = ""
CDOptNum% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
CDOptSym$=Prods(ProdNo%).CDOpt
IF CDOptSym$ = "" THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
CDOptNum%=GetListLength( CDOptSym$)
Reg_GetNumOfCDOptions=CDOptNum%
END FUNCTION
PUBLIC FUNCTION Reg_GetNumOfNodeOptions(ProdNo%) AS INTEGER
'** Purpose: This function will do:
'** NodeOptSym$=Prods(ProdNo%).NodeOpt
'** OptNum%=GetListLength( NodeOptSym$)
'** Parameters: ProdNo% the product number
'** Return: OptNum% number of NodeOptions or 0 if the product number
'** is invalid or if there are no NodeOptions.
'*************************************************************************
DIM NodeOptSym$,NodeOptNum%
NodeOptSym$ = ""
NodeOptNum% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
NodeOptSym$=Prods(ProdNo%).NodeOpt
IF NodeOptSym$ = "" THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
NodeOptNum%=GetListLength( NodeOptSym$)
Reg_GetNumOfNodeOptions=NodeOptNum%
END FUNCTION
PUBLIC FUNCTION Reg_GetProdSupportForSrv(ProdNo%) AS INTEGER
'** Purpose: Finds Prods(ProdNo%).Srv
'** Parameters: ProdNo% product number
'** Return: SuppFlag% is 1 if the product supports server install
'** and 0 if it does not
'*************************************************************************
DIM SuppFlag%
SuppFlag% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SuppFlag%=Prods(ProdNo%).Srv
Reg_GetProdSupportForSrv=SuppFlag%
END FUNCTION
PUBLIC FUNCTION Reg_GetProdSupportForDist(ProdNo%) AS INTEGER
'** Purpose: Finds Prods(ProdNo%).Dist
'** Parameters: ProdNo% product number
'** Return: SuppFlag% is 1 if the product supports only distribution install
'** and 0 if it does not
'*************************************************************************
DIM SuppFlag%
SuppFlag% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SuppFlag%=Prods(ProdNo%).Dist
Reg_GetProdSupportForDist=SuppFlag%
END FUNCTION
PUBLIC FUNCTION Reg_GetProdSupportForExtraProdDirs(ProdNo%) AS INTEGER
'** Purpose: Finds Prods(ProdNo%).ExtraProdDirsNum
'** Parameters: ProdNo% product number
'** Return: SuppFlag% is 1 if the product needs two main directories prompt
'** and 0 if it does not
'*************************************************************************
DIM SuppFlag%
SuppFlag% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SuppFlag%=Prods(ProdNo%).ExtraProdDirsNum
Reg_GetProdSupportForExtraProdDirs=SuppFlag%
END FUNCTION
PUBLIC FUNCTION Reg_GetProdSupportForLicense(ProdNo%) AS INTEGER
'** Purpose: Finds Prods(ProdNo%).License
'** Parameters: ProdNo% product number
'** Return: SuppFlag% is 1 if the product supports Licensing and 0
'** if it does not
'*************************************************************************
DIM SuppFlag%
SuppFlag% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SuppFlag%=Prods(ProdNo%).License
Reg_GetProdSupportForLicense=SuppFlag%
END FUNCTION
PUBLIC FUNCTION Reg_IsLicenseSelected(ProdNo%) AS INTEGER
'** Purpose: Finds Prods(ProdNo%).LicenseSelected
'** Parameters: ProdNo% product number
'** Return: SuppFlag% is 1 if the product selected Licensing and 0
'** if it did not
'*************************************************************************
DIM SelFlag%
SelFlag% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SelFlag%=Prods(ProdNo%).LicenseSelected
Reg_IsLicenseSelected=SelFlag%
END FUNCTION
PUBLIC FUNCTION Reg_GetCountDirectory(ProdNo%) AS STRING
'** Purpose: This function will do:
'** CountDir$=Prods(ProdNo%).CountDirectory
'** Parameters: ProdNo% the product number
'** Return: CountDir$ the directory name
'*************************************************************************
DIM CountDir$
CountDir$=""
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
CountDir$=Prods(ProdNo%).CountDirectory
Reg_GetCountDirectory=CountDir$
END FUNCTION
PUBLIC FUNCTION Reg_GetProdSupportForATM(ProdNo%) AS INTEGER
'** Purpose: Finds Prods(ProdNo%).ATM
'** Parameters: ProdNo% product number
'** Return: SuppFlag% is 1 if the product supports ATM and 0 if it
'** does not
'*************************************************************************
DIM SuppFlag%
SuppFlag% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SuppFlag%=Prods(ProdNo%).ATM
Reg_GetProdSupportForATM=SuppFlag%
END FUNCTION
PUBLIC FUNCTION Reg_GetDirSymbolList(ProdNo%) AS STRING
'** Purpose: This function will do:
'** DirSym$=Prods(ProdNo%).DirSymList
'** Parameters: ProdNo% the product number
'** Return: DirSym$ directory symbol name for this product.
'*************************************************************************
DIM DirList$
DirList$=""
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
DirList$=Prods(ProdNo%).DirSymList
Reg_GetDirSymbolList=DirList$
END FUNCTION
PUBLIC FUNCTION Reg_GetProgManagerGroupName(ProdNo%) AS STRING
'** Purpose: This function will do:
'** ProdManagerGroupName$=Prods(ProdNo%).ProgManagGroup
'** Parameters: ProdNo% the product number
'** Return: ProdManagerGroupName$ the group name
'*************************************************************************
DIM ProdManagerGroupName$
ProdManagerGroupName$=""
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
ProdManagerGroupName$=Prods(ProdNo%).ProgManagerGroup
Reg_GetProgManagerGroupName=ProdManagerGroupName$
END FUNCTION
PUBLIC FUNCTION Reg_GetNumOfDirectories(ProdNo%) AS INTEGER
'** Purpose: This function will do:
'** DirSym$=Prods(ProdNo%).DirSymList
'** DirNum%=GetListLength( DirSym$)
'** Parameters: ProdNo% the product number
'** Return: DirNum% number of directories or 0 if the product number
'** is invalid or if there product did not register any directories.
'*************************************************************************
DIM DirSym$,DirNum%
DirSym$ = ""
DirNum% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
DirSym$=Prods(ProdNo%).DirSymList
IF DirSym$ = "" THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
DirNum%=GetListLength( DirSym$)
Reg_GetNumOfDirectories=DirNum%
END FUNCTION
PUBLIC FUNCTION Reg_IsCDOptionSelected(ProdNo%,Inst%) AS STRING
'** Purpose: This function will do:
'** CDOptSym$=Prods(ProdNo%).CDOptSelected
'** CDOptSel%=GetListItem( CDOptSym$, Inst%)
'** Parameters: ProdNo% the product number
'** Inst% instance of the the CDOption
'** Return: 1 or 0 if the CDOpt was selected or not
'*************************************************************************
DIM CDOptSelectedSym$,CDOptSel$,CDOptSelListLen%
CDOptSelectedSym$ = ""
CDOptSel$ = ""
CDOptSelListLen% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
CDOptSelectedSym$=Prods(ProdNo%).CDOptSelected
IF CDOptSelectedSym$ = "" THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
CDOptSelListLen%=GetListLength(CDOptSelectedSym$)
IF Inst% > CDOptSelListLen% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
CDOptSel$=GetListItem( CDOptSelectedSym$, Inst%)
Reg_IsCDOptionSelected=CDOptSel$
END FUNCTION
PUBLIC FUNCTION Reg_IsNodeOptionSelected(ProdNo%,Inst%) AS STRING
'** Purpose: This function will do:
'** NodeOptSelSym$=Prods(ProdNo%).NodeOptSelected
'** NodeOptSel$=GetListItem( NodeOptSelSym$, Inst%)
'** Parameters: ProdNo% the product number
'** Inst% instance of the the NodeOption
'** Return: 1 or 0 if the NodeOpt was selected or not
'*************************************************************************
DIM NodeOptSelectedSym$,NodeOptSel$,NodeOptSelListLen%
NodeOptSelectedSym$ = ""
NodeOptSel$ = ""
NodeOptSelListLen% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
NodeOptSelectedSym$=Prods(ProdNo%).NodeOptSelected
IF NodeOptSelectedSym$ = "" THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
NodeOptSelListLen%=GetListLength(NodeOptSelectedSym$)
IF Inst% > NodeOptSelListLen% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
NodeOptSel$=GetListItem( NodeOptSelectedSym$, Inst%)
Reg_IsNodeOptionSelected=NodeOptSel$
END FUNCTION
PUBLIC FUNCTION Reg_IsNodeOptionDefaultSelected(ProdNo%,Inst%) AS STRING
'** Purpose: This function will do:
'** NodeOptSelDefaultSym$=Prods(ProdNo%).NodeOptDefaultSelected
'** NodeOptDefaultSel$=GetListItem( NodeOptSelDefaultSym$, Inst%)
'** Parameters: ProdNo% the product number
'** Inst% instance of the the NodeOptionDefault
'** Return: 1 or 0 if the NodeOpt was selected or not
'*************************************************************************
DIM NodeOptSelectedDefaultSym$,NodeOptSelDefault$,NodeOptSelDefaultListLen%
NodeOptSelectedDefaultSym$ = ""
NodeOptSelDefault$ = ""
NodeOptSelDefaultListLen% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
NodeOptSelectedDefaultSym$=Prods(ProdNo%).NodeOptDefaultSelected
IF NodeOptSelectedDefaultSym$ = "" THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
NodeOptSelDefaultListLen%=GetListLength(NodeOptSelectedDefaultSym$)
IF Inst% > NodeOptSelDefaultListLen% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
NodeOptSelDefault$=GetListItem( NodeOptSelectedDefaultSym$, Inst%)
Reg_IsNodeOptionDefaultSelected=NodeOptSelDefault$
END FUNCTION
PUBLIC FUNCTION Reg_IsCDOptionDefaultSelected(ProdNo%,Inst%) AS STRING
'** Purpose: This ftion will do:
'** CDOptSelDefaultSym$=Prods(ProdNo%).CDOptDefaultSelected
'** CDOptDefaultSel$=GetListItem( CDOptSelDefaultSym$, Inst%)
'** Parameters: ProdNo% the product number
'** Inst% instance of the the CDOptionDefault
'** Return: 1 or 0 if the NodeOpt was selected or not
'*************************************************************************
DIM CDOptSelectedDefaultSym$,CDOptSelDefault$,CDOptSelDefaultListLen%
CDOptSelectedDefaultSym$ = ""
CDOptSelDefault$ = ""
CDOptSelDefaultListLen% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
CDOptSelectedDefaultSym$=Prods(ProdNo%).CDOptDefaultSelected
IF CDOptSelectedDefaultSym$ = "" THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
CDOptSelDefaultListLen%=GetListLength(CDOptSelectedDefaultSym$)
IF Inst% > CDOptSelDefaultListLen% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
CDOptSelDefault$=GetListItem( CDOptSelectedDefaultSym$, Inst%)
Reg_IsCDOptionDefaultSelected=CDOptSelDefault$
END FUNCTION
PUBLIC SUB Reg_SetSystemFileSize(ProdNo%,Size&)
'** Purpose: Set the size of the system files to be installed for
'** a product
'** Parameters:
'** Return: NONE
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
'** ERROR STFSETERROR
ERROR STFQUIT
END IF
Prods(ProdNo%).SystemFileSize = Size&
END SUB
PUBLIC FUNCTION Reg_GetSystemFileSize(ProdNo%) AS LONG
'** Purpose: Get the size of the system files to be installed for
'** a product
'** Parameters:
'** Return: System file size in bytes
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
'** ERROR STFSETERROR
ERROR STFQUIT
END IF
Reg_GetSystemFileSize = Prods(ProdNo%).SystemFileSize
END FUNCTION
PUBLIC FUNCTION Reg_GetBillboardNumber(ProdNo%) AS INTEGER
'** Purpose: This function will do:
'** BBNum%=Prods(ProdNo%).BillboardNumber
'** Parameters: ProdNo% the product number
'** Return: BBNum% the number of billboards for the product
'*************************************************************************
DIM BBNum%
BBNum%=0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
BBNum%=Prods(ProdNo%).BillboardNumber
Reg_GetBillboardNumber=BBNum%
END FUNCTION
PUBLIC SUB Reg_SetSHAREEXESupport(ProdNo%,Flag%)
'** Purpose: This function will set:
'** Prods(ProdNo%).SHAREEXE=Flag%
'** Parameters: ProdNo% the product number
'** Flag% 1 if the product needs SHARE.EXE or 0 if it does not
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
IF Flag% <> 0 AND Flag% <> 1 THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
Prods(ProdNo%).SHAREEXE=Flag%
END SUB
PUBLIC FUNCTION Reg_GetSHAREEXESupport(ProdNo%) AS INTEGER
'** Purpose: Finds Prods(ProdNo%).SHAREXE
'** Parameters: ProdNo% product number
'** Return: SuppFlag% is 1 if the product needs SHARE.EXE and 0
'** if it does not
'*************************************************************************
DIM SuppFlag%
SuppFlag% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SuppFlag%=Prods(ProdNo%).SHAREEXE
Reg_GetSHAREEXESupport=SuppFlag%
END FUNCTION
PUBLIC SUB Reg_SetNotesSupport(ProdNo%,Flag%)
'** Purpose: This function will set:
'** Prods(ProdNo%).Notes=Flag%
'** Parameters: ProdNo% the product number
'** Flag% 1 if the product needs Lotus Notes or 0 if it does not
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
IF Flag% <> 0 AND Flag% <> 1 THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
Prods(ProdNo%).Notes=Flag%
END SUB
PUBLIC SUB Reg_SetPreviousVersion(ProdNo%,prev$)
'** Purpose: This function will set:
'** Prods(ProdNo%).PreviousVersion=prev$
'** Parameters: ProdNo% the product number
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
ERROR STFQUIT
END IF
Prods(ProdNo%).PreviousVersion=prev$
END SUB
PUBLIC FUNCTION Reg_GetPreviousVersion(ProdNo%) AS STRING
'** Purpose: Finds Prods(ProdNo%).PrevVersion
'** Parameters: ProdNo% product number
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
ERROR STFQUIT
END IF
Reg_GetPreviousVersion=Prods(ProdNo%).PreviousVersion
END FUNCTION
PUBLIC SUB Reg_SetObsFiles(ProdNo%,support%)
'** Purpose: This function will set:
'** Prods(ProdNo%).ObsoleteFiles=support% (1 or 0)
'** Parameters: ProdNo% the product number
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
ERROR STFQUIT
END IF
Prods(ProdNo%).ObsoleteFiles=support%
END SUB
PUBLIC FUNCTION Reg_GetObsFiles(ProdNo%) AS INTEGER
'** Purpose: Finds Prods(ProdNo%).ObsoleteFiles
'** Parameters: ProdNo% product number
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
ERROR STFQUIT
END IF
Reg_GetObsFiles=Prods(ProdNo%).ObsoleteFiles
END FUNCTION
PUBLIC FUNCTION Reg_GetNotesSupport(ProdNo%) AS INTEGER
'** Purpose: Finds Prods(ProdNo%).Notes
'** Parameters: ProdNo% product number
'** Return: SuppFlag% is 1 if the product needs Lotus Notes and 0
'** if it does not
'*************************************************************************
DIM SuppFlag%
SuppFlag% = 0
IF ProdNo% > gMaxNumOfProds% THEN
' ERROR STFSETERROR
ERROR STFQUIT
END IF
SuppFlag%=Prods(ProdNo%).Notes
Reg_GetNotesSupport=SuppFlag%
END FUNCTION
PUBLIC FUNCTION Reg_GetMoreDirsCBName(ProdNo%) AS STRING
'** Purpose: Finds Prods(ProdNo%).MoreDirsCBName
'** Parameters: ProdNo% product number
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
ERROR STFQUIT
END IF
Reg_GetMoreDirsCBName=Prods(ProdNo%).MoreDirsCBName
END FUNCTION
PUBLIC FUNCTION Reg_GetMoreDirsDlgID(ProdNo%) AS INTEGER
'** Purpose: Finds Prods(ProdNo%).MoreDirsDlgID
'** Parameters: ProdNo% product number
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
ERROR STFQUIT
END IF
Reg_GetMoreDirsDlgID=Prods(ProdNo%).MoreDirsDlgID
END FUNCTION
PUBLIC FUNCTION Reg_GetMoreDirsHlpID(ProdNo%) AS LONG
'** Purpose: Finds Prods(ProdNo%).MoreDirsDlgID
'** Parameters: ProdNo% product number
'*************************************************************************
IF ProdNo% > gMaxNumOfProds% THEN
ERROR STFQUIT
END IF
Reg_GetMoreDirsHlpID=Prods(ProdNo%).MoreDirsHlpID
END FUNCTION
'*************************************************************************
PUBLIC SUB Reg_SetSelectedFolder(ProdNo%, s$)
'** Purpose: Set the path for the Win95 start up folder links
'** Author:
'** Arguments: None
'** Symbols In:
'** Returns:
'*************************************************************************
''set the components directoey and any other directory
Prods(ProdNo%).ProgFolder = s$
END SUB
PUBLIC FUNCTION Reg_GetSelectedFolder(ProdNo%) AS STRING
'** Purpose: Return the folder that the program group will
'** appear under.
'** Parameters: ProdNo% the product number
'** Flag% 1 if the product is in UI and 0 if not
'*************************************************************************
Reg_GetSelectedFolder = Prods(ProdNo%).ProgFolder
END FUNCTION
'*************************************************************************
PUBLIC FUNCTION Lot_GetProgFolder(ProdNo%) AS STRING
'** Purpose: Return the SelectedFolder value
'** Author:
'** Arguments:
'** Returns: the value in SelectedFolder
'*************************************************************************
Lot_GetProgFolder = Reg_GetSelectedFolder(ProdNo%)+"\"
END FUNCTION
'*************************************************************************
PUBLIC FUNCTION Lot_AddLinkIconToFolder(prodno%, szProgPath$, szLinkName$, szDesc$, szArgument$, szWorkingDir$, szIconpath$, Icon&) AS INTEGER
'** Purpose: Make a Win95 Shell link and specify the icon
'** Author: OM
'** Arguments:
'** prodno%: Product number, should be 1 for most cases.
'** szProgPath$: Full path of program file
'** szLinkName$: Name of the link. What will appear in menu
'** szDesc$: Description. Doesn't seem to do anything now.
'** szArgument$: Arguments passed to program
'* szWorkingDir$: Working directory for program
'** szIconpath$: Full path of file containing icon
'** Icon&: Number of the icon within file above
'** Returns: True if worked False otherwise
'*************************************************************************
IF 0 = _
CreateLinkIcon(szProgPath, Lot_GetProgFolder(1)+szLinkName$, _
szDesc$, szArgument$, szWorkingDir$, szIconpath$, Icon&) THEN
Lot_AddLinkIconToFolder = TRUE
ELSE
Lot_AddLinkIconToFolder = FALSE
END IF
END FUNCTION
'*************************************************************************
PUBLIC FUNCTION Lot_AddLinkToFolder(prodno%, szProgPath$, szLinkName$, szDesc$, szArgument$, szWorkingDir$) AS INTEGER
'** Purpose: Make a Win95 Shell link
'** Author: OM
'** Arguments:
'** prodno%: Product number, should be 1 for most cases.
'** szProgPath$: Full path of program file
'** szLinkName$: Name of the link. What will appear in menu
'** szDesc$: Description. Doesn't seem to do anything now.
'** szArgument$: Arguments passed to program
'* szWorkingDir$: Working directory for program
'** Returns: True if worked False otherwise
'*************************************************************************
IF 0 = _
CreateLink(szProgPath, Lot_GetProgFolder(1)+szLinkName$, _
szDesc$, szArgument$, szWorkingDir$) THEN
Lot_AddLinkToFolder = TRUE
ELSE
Lot_AddLinkToFolder = FALSE
END IF
END FUNCTION
'*************************************************************************
PUBLIC SUB Reg_SetRootFolder(s$)
'** Purpose: Set the Symbol that will be used as the root of
'** the Program folder tree.
'** Parameters: s$ = the path of the root
'*************************************************************************
SetSymbolValue SYM_ROOTFOLDER$, s$
END SUB
PUBLIC FUNCTION Reg_GetRootFolder() AS STRING
'** Purpose: Return value of the Symbol that is for the root of
'** the Program folder tree.
'** Parameters:
'*************************************************************************
Reg_GetRootFolder = GetSymbolValue(SYM_ROOTFOLDER$)
END FUNCTION