home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 September / CHIP_CD_1997_09_PL.iso / software / testsoft / demo_mb / disk1 / mb6.mst < prev    next >
Encoding:
Text File  |  1997-07-18  |  35.4 KB  |  1,222 lines

  1. '**************************************************************************
  2. '*                       MSSetup - Moje Biuro 6.2
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Wersja i wydanie
  11. CONST AWER$    = "6.2"
  12. CONST AWYD%    = 23
  13.  
  14. ''Dialog ID's
  15. CONST NETINSDLG    = 100
  16. CONST ASKQUIT      = 200
  17. CONST MYASKQUIT    = 201
  18. CONST ASKUPGRADE   = 202
  19. CONST ASKNEW       = 203
  20. CONST DESTPATH     = 300
  21. CONST EXCELPATH    = 301
  22. CONST NETSRWPATH   = 302
  23. CONST EXITFAILURE  = 400
  24. CONST EXITQUIT     = 600
  25. CONST EXITSUCCESS  = 700
  26. CONST OPTIONS      = 800
  27. CONST ADD_INS      = 2500
  28.  
  29. CONST APPHELP      = 900
  30. CONST OPT1HELP     = 901
  31. CONST OPT2HELP     = 902
  32. CONST PATHHELP     = 903
  33. CONST EXCELPATHHELP= 904
  34. CONST REGHELP      = 905
  35. CONST UPGRHELP     = 906
  36. CONST NEWHELP      = 907
  37. CONST NETINSHELP   = 908
  38. CONST NETPATHHELP  = 909
  39.  
  40. CONST CUSTINST     = 6200
  41. CONST NETCUSTINST1 = 6201
  42. CONST NETCUSTINST2 = 6202
  43. CONST CUSTINST_UP  = 6210
  44. CONST TOOBIG       = 6301
  45. CONST BADPATH      = 6400
  46. CONST BADEXPATH    = 6401
  47. CONST NOEXPATH     = 6402
  48. CONST BADNETPATH   = 6403
  49. CONST NONETPATH    = 6404
  50. CONST NOUPGRADE    = 6407
  51. CONST UPGRADEONLY  = 6408
  52. CONST CDGETNAMEORG = 7500
  53. CONST CDPERSON     = 7600
  54. CONST NAMEALERT    = 7700
  55. CONST EXCELALERT   = 7701
  56. CONST FINDFILE     = 7702
  57. CONST PERSONALERT  = 7703
  58.  
  59. CONST SCREEN1      = 8001
  60. CONST SCREEN2      = 8002
  61. CONST SCREEN3      = 8003
  62. CONST SCREEN4      = 8004
  63. CONST SCREEN5      = 8005
  64. CONST SCREEN6      = 8006
  65.  
  66. ''Bitmap ID
  67. CONST LOGO         = 1
  68.  
  69. ''File Types
  70. CONST APPFILES     = 1
  71. CONST OPTFILES1    = 2
  72. CONST OPTFILES2    = 3
  73.  
  74. GLOBAL DEST$        ''Default destination directory.
  75. GLOBAL EXPATH$
  76. GLOBAL NETPATH$
  77. GLOBAL WINDRIVE$    ''Windows drive letter.
  78. GLOBAL NETDRIVELST$ ''Network drive list
  79. GLOBAL NETDRIVE$    ''Network drive letter.
  80. GLOBAL WINDIR$
  81. GLOBAL WINSYSDIR$
  82. GLOBAL NETOPT$             ''Rodzaj instalacji sieciowej
  83. GLOBAL OPT1OPT$         ''Option selection from OptFiles1 option dialog.
  84. GLOBAL OPT2OPT$         ''Option selection from OptFiles2 option dialog.
  85.  
  86. GLOBAL UPGR$        ''Upgrade yes/no
  87. GLOBAL UPGRT%        ''Upgrade type
  88. GLOBAL WER$        ''Wersja aktualna
  89. GLOBAL WYD%        ''Wydanie aktualne
  90. GLOBAL UWYD%        ''Wydanie poprzednie
  91. GLOBAL FIR$        ''Czy juº jest Biuro
  92.  
  93. ''CustInst list symbol names
  94. GLOBAL APPNEEDS$    ''Option list costs per drive
  95. GLOBAL OPT1NEEDS$
  96. GLOBAL OPT2NEEDS$
  97. GLOBAL EXTRACOSTS$  ''List of extra costs to add per drive
  98. GLOBAL BIGLIST$     ''List of option files cost calc results (boolean)
  99.  
  100. ''Dialog list symbol names
  101. GLOBAL CHECKSTATES$
  102. GLOBAL STATUSTEXT$
  103. GLOBAL DRIVETEXT$
  104.  
  105. GLOBAL in_CHECKSTATES$
  106. GLOBAL ou_CHECKSTATES$
  107. CONST  Add_Ins_No = 4
  108.  
  109.  
  110. DECLARE SUB AddOptFilesToCopyList (ftype%)
  111. DECLARE SUB RecalcOptFiles (ftype%)
  112. DECLARE SUB RecalcPath
  113. DECLARE SUB SetDriveStatus
  114. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  115.  
  116.  
  117. '*** Romek
  118.  
  119. CONST WS_VISIBLE = &H10000000
  120. CONST WS_BORDER = &H00800000
  121. CONST WS_CLIPCHILDREN = &H02000000
  122. CONST GWL_STYLE = -16
  123. CONST SW_SHOWMAXIMIZED = 3
  124.  
  125. GLOBAL USERNAME$   ''User name
  126. GLOBAL COMPANY$    ''Company
  127. GLOBAL PERSON$     ''Osoba
  128. GLOBAL hWnd1%
  129.  
  130. DECLARE FUNCTION ShowWindow LIB "user.exe" (hWnd%, iShow%) AS INTEGER
  131. DECLARE FUNCTION SetWindowLong LIB "user.exe" (hWnd%, offset%, style&) AS LONG
  132. DECLARE FUNCTION GetDialogBaseUnits LIB "user.exe" AS LONG
  133. DECLARE FUNCTION WinHelp LIB "user.exe" (hWnd%, szPlik$, iCmd%, temat&) AS INTEGER
  134.  
  135.  
  136. DECLARE FUNCTION LoadLibrary LIB "kernel" (szMod$) AS INTEGER
  137. DECLARE SUB FreeLibrary LIB "kernel" (hinst%)
  138. DECLARE SUB SetErrorMode LIB "krnl386.exe" (fuerrormode%)
  139.  
  140. '***
  141.  
  142.  
  143.  
  144. INIT:
  145.     WER$=AWER$
  146.     WYD%=AWYD%
  147.     UPGR$  = "NIE"
  148.     UPGRT% = 0
  149.     SetErrorMode(32768)
  150.     hinst1% = LoadLibrary("BWCC.DLL")
  151.  
  152.     CUIDLL$ = "mscuistf.dll"            ''custom user interface dll
  153.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  154.  
  155. '*** Romek
  156.     hWnd1% = HwndFrame()
  157.     k& = SetWindowLong(hWnd1%, GWL_STYLE, WS_VISIBLE+WS_BORDER+WS_CLIPCHILDREN)
  158.     j% = ShowWindow(hWnd1%,SW_SHOWMAXIMIZED)
  159.     WINSYSDIR$ = GetWindowsSysDir()
  160.     WINDIR$ = GetWindowsDir()
  161. '***
  162.  
  163.     SetBitmap CUIDLL$, LOGO
  164.     SetTitle "Program Instalacyjny"
  165.  
  166.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  167.     IF szInf$ = "" THEN
  168.         szInf$ = GetSymbolValue("STF_CWDDIR") + "MB6.INF"
  169.     END IF
  170.     ReadInfFile szInf$
  171.  
  172.     ''CustInst list symbols
  173.     CHECKSTATES$ = "CheckItemsState"
  174.     STATUSTEXT$  = "StatusItemsText"
  175.     DRIVETEXT$   = "DriveStatusText"
  176.     FOR i% = 1 TO 3 STEP 1
  177.         AddListItem CHECKSTATES$, "ON"
  178.     NEXT i%
  179.     FOR i% = 1 TO 3 STEP 1
  180.         AddListItem STATUSTEXT$, ""
  181.     NEXT i%
  182.  
  183.     FOR i% = 1 TO 7 STEP 1
  184.         AddListItem DRIVETEXT$, ""
  185.     NEXT i%
  186.  
  187.     ''Disk cost list symbols
  188.     APPNEEDS$   = "AppNeeds"
  189.     OPT1NEEDS$  = "Opt1Needs"
  190.     OPT2NEEDS$  = "Opt2Needs"
  191.     EXTRACOSTS$ = "ExtraCosts"
  192.     BIGLIST$    = "BigList"
  193.     FOR i% = 1 TO 3 STEP 1
  194.         AddListItem BIGLIST$, ""
  195.     NEXT i%
  196.     FOR i% = 1 TO 26 STEP 1
  197.         AddListItem EXTRACOSTS$, "0"
  198.     NEXT i%
  199.  
  200.     ''Rodzaj instalacji sieciowej
  201.     NETOPT$ = "1"
  202.  
  203.     ''File Option Variables
  204.     OPT1OPT$ = "1"
  205.     OPT2OPT$ = "1"
  206.  
  207.  
  208.     in_CHECKSTATES$ = "CheckItemsIn"
  209.     ou_CHECKSTATES$ = "CheckItemsOut"
  210.  
  211.     FOR i% = 1 TO Add_Ins_No STEP 1
  212.         AddListItem in_CHECKSTATES$, "ON"
  213.     NEXT i%
  214.     ReplaceListItem in_CHECKSTATES$, 4, "OFF"
  215.  
  216.     FOR i% = 1 TO Add_Ins_No STEP 1
  217.         AddListItem ou_CHECKSTATES$, "ON"
  218.     NEXT i%
  219.     ReplaceListItem ou_CHECKSTATES$, 4, "OFF"
  220.  
  221. 'rejestracja
  222.     USERNAME$ = ""
  223.     COMPANY$ = ""
  224.     SetSymbolValue "NameIn", USERNAME$
  225.     SetSymbolValue "OrgIn", COMPANY$
  226.  
  227.         ini$ = MakePath(GetSymbolValue("STF_SRCDIR"), "SETUP.INI")
  228. '        i% = DoMsgBox("Ini: "+ini$, "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  229.     IF ((DoesFileExist(ini$, femExists) = 1) AND (DoesIniSectionExist(ini$, "Program") = 1)) THEN
  230.             USERNAME$ = GetIniKeyString(ini$, "Program", "Nazwisko")
  231.         END IF
  232.     IF ((DoesFileExist(ini$, femExists) = 1) AND (DoesIniSectionExist(ini$, "Program") = 1)) THEN
  233.             COMPANY$  = GetIniKeyString(ini$, "Program", "Firma")
  234.         END IF
  235.     IF ((COMPANY$ = "") OR (USERNAME$ = "")) THEN
  236.         GOSUB REGISTRATION
  237.             CreateIniKeyValue ini$, "Program", "Firma", COMPANY$ , cmoNone
  238.             CreateIniKeyValue ini$, "Program", "Nazwisko", USERNAME$ , cmoNone
  239.     END IF
  240.  
  241. ''Scieºka sieciowa
  242.     NETPATH$=""
  243. ''Rodzaj instalacji sieciowej
  244.     NETOPT$ = "0"
  245.  
  246. ''Upgrade PIT5
  247. ''===================================================================
  248.     PLUS%  = 0
  249.  
  250. ''Instalowanie w sieci
  251. ''===================================================================
  252. GOTO SEARCH
  253.  
  254. sz$ = GetSymbolValue("STF_MODE")
  255. IF sz$ = "NETWORK" THEN
  256.  
  257.         NETDRIVE$=""
  258.         NETDRIVELST$    = "NDriveList"
  259.         FOR i% = 1 TO 5 STEP 1
  260.             AddListItem NETDRIVELST$, ""
  261.         NEXT i%
  262.  
  263.         GetNetworkDrivesList(NETDRIVELST$)
  264.     IF GetListItem(NETDRIVELST$, 1) <> "" THEN
  265.        NETDRIVE$=GetListItem(NETDRIVELST$, 1)
  266.     ELSE
  267.        NETDRIVE$=WINDRIVE$
  268.     END IF
  269.  
  270.     NETOPT$ = "1"
  271. NETINS:
  272.     SetSymbolValue "RadioDefault", NETOPT$
  273. NETINS1:
  274.     sz$ = UIStartDlg(CUIDLL$, NETINSDLG, "FRadioDlgProc", NETINSHELP, HELPPROC$)
  275.     newopt$ = GetSymbolValue("ButtonChecked")
  276.  
  277.     IF sz$ = "CONTINUE" THEN
  278.         UIPop 1
  279.         IF newopt$ <> NETOPT$ THEN
  280.             NETOPT$ = newopt$
  281.         END IF
  282.         newopt$ = ""
  283.     ELSEIF sz$ = "REACTIVATE" THEN
  284.         GOTO NETINS1
  285.     ELSEIF sz$ = "EXIT" THEN
  286.         GOSUB ASKQUIT
  287.         GOTO NETINS1
  288.     ELSE
  289.         UIPop 1
  290.         newopt$ = ""
  291.     END IF
  292. END IF
  293. ''===================================================================
  294.  
  295. SEARCH:
  296. 'wyÿwietlam okno z szukaniem
  297.     sz$ = UIStartDlg(CUIDLL$, FINDFILE, "FModelessDlgProc", 0, "")
  298.  
  299.     WINDRIVE$ = UCASE$(MID$(GetWindowsDir, 1, 1))
  300.  
  301. '** Szukam MB - _stub.xlm
  302. '===========================================
  303.     DEST$ = FindFileInTree("_STUB.XLM","C:\BIURO97")
  304.     IF DEST$="" THEN                 'Nie ma Mojego Biura
  305.            DEST$ = WINDRIVE$+":\BIURO97"
  306.     FIR$ = "NIE"
  307.     ELSE
  308.         DEST$ = MID$(DEST$, 1, LEN(DEST$)-10)    'Jest Moje Biuro
  309.     FIR$ = "TAK"
  310.     END IF
  311.  
  312. '** Szukam MB na serwerze - _stub.xlm
  313. '===========================================
  314.     IF NETOPT$="2" THEN
  315.         NETPATH$ = FindFileInTree("_STUB.XLM",NETDRIVE$+":\")
  316.         IF NETPATH$="" THEN             'Nie ma Mojego Biura97
  317.                NETPATH$ = NETDRIVE$+":\BIURO97"
  318.         ELSE
  319.         NETPATH1$ = MID$(NETPATH$, 1, LEN(NETPATH$)-10)
  320.         NETPATH$ = FindFileInTree("BIU_PROG.XLM",NETPATH1$)
  321.         IF NETPATH$="" THEN
  322.             NETPATH$ = NETPATH1$
  323.         ELSE
  324.                 NETPATH$ = MID$(NETPATH$, 1, LEN(NETPATH$)-10)
  325.         END IF
  326.         END IF
  327.     END IF
  328.  
  329. '** Szukam Excela
  330. '================
  331.     EXPATH$ = FindFileInTree("EXCEL.EXE",WINDRIVE$+":\")
  332.     IF EXPATH$="" THEN
  333. '    GOSUB NOEXCEL
  334. '          EXPATH$ = ""
  335.     ELSE
  336.         EXPATH$ = MID$(EXPATH$, 1, LEN(EXPATH$)-10)
  337.     END IF
  338.  
  339.     RecalcPath
  340.     SetDriveStatus
  341.  
  342. '$IFDEF DEBUG
  343.     i% = SetSizeCheckMode(scmOnIgnore)  '' could use scmOff; def = scmOnFatal
  344. '$ENDIF ''DEBUG
  345.  
  346.     UIPop 1                 'Koñczæ przeszukiwanie dysku
  347.  
  348.     AddListItem STATUSTEXT$, EXPATH$    'dodajæ ₧cieºkæ do Excela (nr 544 w oknie 6200)
  349.     AddListItem STATUSTEXT$, ""     'dodajæ dodatkowy tekst nr 545 w oknie 202 i 203 (do upgrade)
  350.     AddListItem STATUSTEXT$, NETPATH$     'dodajæ dodatkowy tekst nr 546 w oknie 6201)
  351.     ReplaceListItem DRIVETEXT$, 7, DEST$
  352.  
  353.     GOSUB GET_UPGRADE_TYPE
  354.  
  355.     RecalcPath
  356.     SetDriveStatus
  357.  
  358. CUSTINST:
  359.  
  360.    IF ((UPGRT%=2) OR (UPGRT%=1)) THEN
  361.            cdlg_up=10    '' dialog tylko dla nowych szablonów
  362.     ELSE
  363.            cdlg_up=0    '' normalny dialog z szablonami
  364.     END IF
  365.  
  366.     cdlg =VAL(NETOPT$)
  367.  
  368.     sz$ = UIStartDlg(CUIDLL$, CUSTINST+cdlg+cdlg_up, "FCustInstDlgProc", APPHELP, HELPPROC$)
  369.  
  370.     IF sz$ = "CONTINUE" THEN
  371.     IF EXPATH$="" THEN
  372.         GOSUB NOEXPATH        'Nie ma Excela
  373.             GOTO CUSTINST
  374.     END IF
  375.         IF (NOT (DoesFileExist(MakePath(EXPATH$, "excel.exe"),femExists) = 1)) THEN
  376.         GOSUB BADEXPATH        'ZÆy katalog Excela
  377.             GOTO CUSTINST
  378.     END IF
  379.  
  380.     IF NETOPT$ = "2" THEN
  381.        IF NETPATH$="" THEN
  382.            GOSUB NONETPATH        'Nie ma Biura na serwerze
  383.                GOTO CUSTINST
  384.        END IF
  385.            IF (NOT (DoesFileExist(MakePath(NETPATH$, "_STUB.XLM"),femExists) = 1)) THEN
  386.            GOSUB BADNETPATH        'ZÆy katalog Biura na serwerze
  387.                GOTO CUSTINST
  388.        ELSEIF (NOT (DoesFileExist(MakePath(NETPATH$, "BIU_PROG.XLM"),femExists) = 1)) THEN
  389.            GOSUB BADNETPATH        'ZÆy katalog Biura na serwerze
  390.                GOTO CUSTINST
  391.        END IF
  392.     END IF
  393.         FOR i% = 1 TO 3 STEP 1
  394.             IF GetListItem(BIGLIST$, i%) <> "" THEN
  395.                 GOSUB TOOBIG        'Install only if it will fit.
  396.                 GOTO CUSTINST
  397.             END IF
  398.         NEXT i%
  399.  
  400.         IF (FIR$ = "TAK") THEN            'jest Biuro - wtedy upgrade
  401.        chk1$=GetListItem(CHECKSTATES$, 1)    'odczytujæ stan okna
  402.        IF NETOPT$ <> "2" THEN
  403.           chk2$=GetListItem(CHECKSTATES$, 2)
  404.           chk3$=GetListItem(CHECKSTATES$, 3)
  405.        END IF
  406.        GOSUB UPGRADE
  407.            AddListItem CHECKSTATES$, chk1$    'odtwarzam stan okna
  408.        IF NETOPT$ <> "2" THEN
  409.               AddListItem CHECKSTATES$, chk2$
  410.               AddListItem CHECKSTATES$, chk3$
  411.        END IF
  412.        IF (UPGR$ = "NIE") THEN
  413.           GOTO CUSTINST
  414.        END IF
  415.     END IF
  416. 'dodatek do upgradu starts =====================================================
  417.       IF ((PLUS%=1) and (FIR$ = "NIE")) THEN
  418.          GOSUB UPGRADEONLY
  419.             GOTO CUSTINST
  420.       END IF
  421. 'dodatek do upgradu ends =======================================================
  422.  
  423.         UIPop 1
  424.         GOTO INSTALL                'no... mogæ instalowaì
  425.     ELSEIF sz$ = "PATH" THEN            'zmieniam katalog programu
  426.         GOTO GETPATH
  427.     ELSEIF sz$ = "CHK1" THEN            'zaznaczam program
  428.         RecalcOptFiles APPFILES
  429.         SetDriveStatus
  430.         GOTO CUSTINST
  431.     ELSEIF sz$ = "CHK2" THEN            'zaznaczam dodatki
  432.         RecalcOptFiles OPTFILES1
  433.         SetDriveStatus
  434.         GOTO CUSTINST
  435.     ELSEIF sz$ = "CHK3" THEN            'zaznaczam szablony
  436.         RecalcOptFiles OPTFILES2
  437.         SetDriveStatus
  438.         GOTO CUSTINST
  439.     ELSEIF sz$ = "BTN2" THEN            'dialog dodatki
  440.         GOTO OPTFILES1
  441.     ELSEIF sz$ = "BTN3" THEN            'dialog szablony
  442.         GOTO OPTFILES2
  443.     ELSEIF sz$ = "BTN4" THEN            'zmieniam katalog Excela
  444.         GOTO GETEXPATH
  445.     ELSEIF sz$ = "BTN6" THEN            'zmieniam katalog Biura na serwerze
  446.         GOTO GETNETPATH
  447.     ELSEIF sz$ = "BTN8" THEN            'pomoc
  448.  
  449. 'pamiætaj ============================================================
  450. 'j%=Winhelp(hWnd1%,"setup.hlp",3,0)         'help index
  451. 'j%=Winhelp(hWnd1%,"setup.hlp",2,0)         'quit help
  452. 'j%=Winhelp(hWnd1%,"setup.hlp>gloss",1,nr)    'temat nr
  453. '=====================================================================
  454.  
  455.     IF NETOPT$ = "0" THEN
  456.        j% = Winhelp(hWnd1%,"setup.hlp>gloss",1,1)    'temat 1
  457.     ELSE
  458.        j% = Winhelp(hWnd1%,"setup.hlp>gloss",1,6)    'temat 6
  459.     END IF
  460.         GOTO CUSTINST
  461.     ELSEIF sz$ = "REACTIVATE" THEN
  462.         RecalcPath
  463.         SetDriveStatus
  464.         GOTO CUSTINST
  465.     ELSE
  466.         GOSUB ASKQUIT
  467.         GOTO CUSTINST
  468.     END IF
  469.  
  470.  
  471.  
  472. INSTALL:
  473.     ClearCopyList
  474.     AddOptFilesToCopyList APPFILES
  475.  
  476.     IF NETOPT$ <> "2" THEN
  477.         AddOptFilesToCopyList OPTFILES1
  478.         AddOptFilesToCopyList OPTFILES2
  479.         DESTARK$ = MakePath(DEST$,"ARKUSZE")
  480.         DESTBIU$ = MakePath(DEST$,"ARKUSZE\BIURO")
  481.         DESTSZA$ = MakePath(DEST$,"SZABLONY")
  482.         DESTTRN$ = MakePath(DEST$,"TRN")
  483.       DESTINN$ = MakePath(DEST$,"INNE")
  484.     ELSE
  485.         DESTARK$ = MakePath(NETPATH$,"ARKUSZE")
  486.         DESTBIU$ = MakePath(DEST$,"ARKUSZE\BIURO")
  487.         DESTSZA$ = MakePath(NETPATH$,"SZABLONY")
  488.         DESTTRN$ = MakePath(NETPATH$,"TRN")
  489.     END IF
  490.  
  491.     DESTBRI$ = UCASE$(WINDIR$)
  492.     IF MID$(DESTBRI$, LEN(DESTBRI$), 1) = "\" THEN
  493.         DESTBRI$ = MID$(DESTBRI$, 1, LEN(DESTBRI$)-1)
  494.     END IF
  495.  
  496.     CreateDir DEST$, cmoNone
  497.     IF NETOPT$ <> "2" THEN
  498.         CreateDir DESTARK$, cmoNone
  499.         CreateDir DESTSZA$, cmoNone
  500.         CreateDir DESTBIU$, cmoNone
  501.         CreateDir DESTTRN$, cmoNone
  502.       CreateDir DESTINN$, cmoNone
  503.         IF UPGRT%=2 THEN
  504.           CreateDir MakePath(DESTSZA$,"SZABLONY.SAV"), cmoNone
  505.            IF (DoesFileExist(MakePath(DESTSZA$, "DKFA_00.XLS"), femExists) = 1) THEN
  506.                RenameFile MakePath(DESTSZA$,"DKFA_00.XLS"), "SZABLONY.SAV\DKFA_50.XLS"
  507.          END IF
  508.            IF (DoesFileExist(MakePath(DESTSZA$, "DKRA_00.XLS"), femExists) = 1) THEN
  509.                RenameFile MakePath(DESTSZA$,"DKRA_00.XLS"), "SZABLONY.SAV\DKRA_50.XLS"
  510.          END IF
  511.         END IF
  512.       IF ((UPGRT%=1) or (UPGRT%=2) or (UPGRT%=4)) THEN
  513.           CreateDir MakePath(DESTSZA$,"SZABLONY.SAV"), cmoNone
  514.            IF (DoesFileExist(MakePath(DESTSZA$, "LPL_00.XLS"), femExists) = 1) THEN
  515.             RenameFile MakePath(DESTSZA$,"LPL_00.XLS"), "SZABLONY.SAV\LPL_61.XLS"
  516.          END IF
  517.         END IF
  518.     END IF
  519.  
  520.     ClearBillboardList
  521.     IF NETOPT$ <> "2" THEN
  522.         AddToBillboardList CUIDLL$, SCREEN1, "FModelessDlgProc", 1
  523.         AddToBillboardList CUIDLL$, SCREEN2, "FModelessDlgProc", 1
  524.         AddToBillboardList CUIDLL$, SCREEN3, "FModelessDlgProc", 1
  525.         AddToBillboardList CUIDLL$, SCREEN4, "FModelessDlgProc", 1
  526.         AddToBillboardList CUIDLL$, SCREEN5, "FModelessDlgProc", 1
  527.     END IF
  528.     AddToBillboardList CUIDLL$, SCREEN6, "FModelessDlgProc", 1
  529.  
  530.     ht% = GetScreenHeight()
  531.     htunit% = ((GetDialogBaseUnits() AND &HFFFF0000))/&HFFFF
  532.     SetCopyGaugePosition -1, (8*((ht*3)/4))/htunit
  533.  
  534.     CopyFilesInCopyList
  535.  
  536.     GOSUB PERSONALIZE
  537.  
  538.     IF GetListItem(CHECKSTATES$, APPFILES) = "ON" THEN
  539.  
  540.         ini$ = MakePath(DEST$, "BIU.INI")
  541.         CreateIniKeyValue ini$, "Excel", "Sciezka", EXPATH$ , cmoOverwrite
  542.         CreateIniKeyValue ini$, "Program", "Wersja", WER$ , cmoOverwrite
  543.         CreateIniKeyValue ini$, "Program", "Wydanie", STR$(WYD%) , cmoOverwrite
  544.         CreateIniKeyValue ini$, "Program", "BRIT_LIB", DESTBRI$ , cmoOverwrite
  545.         CreateIniKeyValue ini$, "Program", "Firma", PERSON$ , cmoOverwrite
  546.     IF UPGRT%=2 THEN
  547.        CreateIniKeyValue ini$, "Program", "Upgrade51", "Tak" , cmoOverwrite
  548.     ELSE
  549.        CreateIniKeyValue ini$, "Program", "Upgrade51", "" , cmoOverwrite
  550.     END IF
  551.     IF NETOPT$ <> "2" THEN
  552.            CreateIniKeyValue ini$, "Program", "Program", DEST$ , cmoOverwrite
  553.            CreateIniKeyValue ini$, "Program", "Arkusze", DESTARK$ , cmoOverwrite
  554.            CreateIniKeyValue ini$, "Program", "Szablony", DESTSZA$ , cmoOverwrite
  555.            CreateIniKeyValue ini$, "Program", "Transakcje", DESTTRN$ , cmoOverwrite
  556.            CreateIniKeyValue ini$, "Program", "UpgradePlus", "" , cmoOverwrite
  557.     ELSE
  558.            CreateIniKeyValue ini$, "Program", "Program", NETPATH$ , cmoOverwrite
  559.            CreateIniKeyValue ini$, "Program", "Arkusze", DESTARK$ , cmoOverwrite
  560.            CreateIniKeyValue ini$, "Program", "Szablony", DESTSZA$ , cmoOverwrite
  561.            CreateIniKeyValue ini$, "Program", "Transakcje", DESTTRN$ , cmoOverwrite
  562.     END IF
  563.  
  564.     IF NETOPT$ <> "0" THEN
  565.            CreateIniKeyValue ini$, "Program", "Siec", "Tak" , cmoOverwrite
  566.     ELSE
  567.        RemoveIniKey ini$, "Program", "Siec", cmoAll
  568.     END IF
  569.  
  570.     RemoveIniKey ini$, "Program", "Nazwisko", cmoAll
  571.     RemoveIniKey ini$, "Program", "Produkcja", cmoAll
  572.     RemoveIniKey ini$, "Program", "Apteka", cmoAll
  573.     RemoveIniKey ini$, "Program", "Faktura eksportowa", cmoAll
  574.  
  575.         CreateProgmanGroup "Moje Biuro 97", "", cmoNone
  576.         ShowProgmanGroup   "Moje Biuro 97", 1, cmoNone
  577.         CreateProgmanItem  "Moje Biuro 97", "MB97 Program", MakePath(DEST$,"MB6.EXE"), "", cmoOverwrite
  578.  
  579.         IF NETOPT$ <> "2" THEN
  580.            CreateProgmanItem  "Moje Biuro 97", "PodrΩczna Pomoc", "winhelp.exe "+MakePath(DEST$,"biu.hlp"), "", cmoOverwrite
  581.            CreateProgmanItem  "Moje Biuro 97", "Pomoc prawna", "winhelp.exe "+MakePath(DEST$,"ppr.hlp"), "", cmoOverwrite
  582.     END IF
  583.  
  584.     END IF
  585.  
  586.  
  587. QUIT:
  588.     ON ERROR GOTO ERRQUIT
  589.  
  590.     IF ERR = 0 THEN
  591.         dlg% = EXITSUCCESS
  592.         RemoveFile MakePath(DEST$,"mb5.bmp"), cmoNone
  593.         RemoveFile MakePath(DEST$,"mb5a.bmp"), cmoNone
  594.         RemoveFile MakePath(DEST$,"mb5.exe"), cmoNone
  595.     IF NETOPT$ <> "2" THEN
  596.     END IF
  597.     ELSEIF ERR = STFQUIT THEN
  598.         dlg% = EXITQUIT
  599.     ELSE
  600.         dlg% = EXITFAILURE
  601.     END IF
  602. QUITL1:
  603.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  604.     IF sz$ = "REACTIVATE" THEN
  605.         GOTO QUITL1
  606.     END IF
  607.     UIPop 1
  608.     j% = Winhelp(hWnd1%,"setup.hlp",2,0)    'quit help
  609.     FreeLibrary (hinst1%)
  610.     END
  611.  
  612. ERRQUIT:
  613.     i% = DoMsgBox("Setup sources were corrupted, call 555-1212!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  614.     END
  615.  
  616. ''Koniec ==========================================================
  617.  
  618.  
  619. GETPATH:
  620.     SetSymbolValue "EditTextIn", DEST$
  621.     SetSymbolValue "EditFocus", "END"
  622. GETPATHL1:
  623.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", PATHHELP, HELPPROC$)
  624.  
  625.     IF sz$ = "CONTINUE" THEN
  626.         olddest$ = DEST$
  627.         DEST$ = GetSymbolValue("EditTextOut")
  628.  
  629.         ''Validate new path.
  630.         IF IsDirWritable(DEST$) = 0 THEN
  631.             GOSUB BADPATH
  632.             GOTO GETPATHL1
  633.         END IF
  634.         UIPop 1
  635.  
  636.         destf$ = FindFileInTree("_STUB.XLM",DEST$)
  637.         IF destf$="" THEN                 'Nie ma Mojego Biura
  638.        FIR$ = "NIE"
  639.         ELSE
  640.        FIR$ = "TAK"
  641.         END IF
  642.  
  643.     GOSUB GET_UPGRADE_TYPE
  644.  
  645.         ''Truncate display if too long.
  646.         IF LEN(DEST$) > 23 THEN
  647.             ReplaceListItem DRIVETEXT$, 7, MID$(DEST$, 1, 23)+"..."
  648.         ELSE
  649.             ReplaceListItem DRIVETEXT$, 7, DEST$
  650.         END IF
  651.  
  652.         ''Recalc if path changed.
  653.         IF (olddest$ <> DEST$) AND (olddest$ <> DEST$+"\") AND (olddest$+"\" <> DEST$) THEN
  654.             RecalcPath
  655.             SetDriveStatus
  656.         END IF
  657.  
  658.         olddest$ = ""
  659.         GOTO CUSTINST
  660.     ELSEIF sz$ = "REACTIVATE" THEN
  661.         RecalcPath
  662.         SetDriveStatus
  663.         GOTO GETPATHL1
  664.     ELSEIF sz$ = "EXIT" THEN
  665.         GOSUB ASKQUIT
  666.         GOTO GETPATHL1
  667.     ELSE
  668.         UIPop 1
  669.         GOTO CUSTINST
  670.     END IF
  671.  
  672. GETEXPATH:
  673.     SetSymbolValue "EditTextIn", EXPATH$
  674.     SetSymbolValue "EditFocus", "END"
  675. GETEXPATHL1:
  676.     sz$ = UIStartDlg(CUIDLL$, EXCELPATH, "FEditDlgProc", EXCELPATHHELP, HELPPROC$)
  677.  
  678.     IF sz$ = "CONTINUE" THEN
  679.         EXPATH$ = GetSymbolValue("EditTextOut")
  680.  
  681.         ''Validate new path.
  682.         IF IsDirWritable(EXPATH$) = 0 THEN
  683.             GOSUB BADPATH
  684.             GOTO GETEXPATHL1
  685.         END IF
  686.         IF (NOT (DoesFileExist(MakePath(EXPATH$, "excel.exe"),femExists) = 1)) THEN
  687.         GOSUB BADEXPATH
  688.             GOTO GETEXPATHL1
  689.         END IF
  690.         UIPop 1
  691.  
  692.         ''Truncate display if too long.
  693.         IF LEN(EXPATH$) > 23 THEN
  694.             ReplaceListItem STATUSTEXT$, 4, MID$(EXPATH$, 1, 23)+"..."
  695.         ELSE
  696.             ReplaceListItem STATUSTEXT$, 4, EXPATH$
  697.         END IF
  698.         GOTO CUSTINST
  699.     ELSEIF sz$ = "REACTIVATE" THEN
  700.         GOTO GETEXPATHL1
  701.     ELSEIF sz$ = "EXIT" THEN
  702.         GOSUB ASKQUIT
  703.         GOTO GETPATHL1
  704.     ELSE
  705.         UIPop 1
  706.         GOTO CUSTINST
  707.     END IF
  708. '***
  709.  
  710. GETNETPATH:
  711.     SetSymbolValue "EditTextIn", NETPATH$
  712.     SetSymbolValue "EditFocus", "END"
  713. GETNETPATHL1:
  714.     sz$ = UIStartDlg(CUIDLL$, NETSRWPATH, "FEditDlgProc", NETPATHHELP, HELPPROC$)
  715.  
  716.     IF sz$ = "CONTINUE" THEN
  717.         NETPATH$ = GetSymbolValue("EditTextOut")
  718.  
  719.         ''Validate new path.
  720.         IF IsDirWritable(NETPATH$) = 0 THEN
  721.             GOSUB BADPATH
  722.             GOTO GETNETPATHL1
  723.         END IF
  724.         IF (NOT (DoesFileExist(MakePath(NETPATH$, "_STUB.XLM"),femExists) = 1)) THEN
  725.         GOSUB BADNETPATH
  726.             GOTO GETNETPATHL1
  727.     ELSEIF (NOT (DoesFileExist(MakePath(NETPATH$, "BIU_PROG.XLM"),femExists) = 1)) THEN
  728.         GOSUB BADNETPATH
  729.             GOTO GETNETPATHL1
  730.         END IF
  731.         UIPop 1
  732.  
  733.         ''Truncate display if too long.
  734.         IF LEN(NETPATH$) > 23 THEN
  735.             ReplaceListItem STATUSTEXT$, 6, MID$(NETPATH$, 1, 23)+"..."
  736.         ELSE
  737.             ReplaceListItem STATUSTEXT$, 6, NETPATH$
  738.         END IF
  739.         GOTO CUSTINST
  740.     ELSEIF sz$ = "REACTIVATE" THEN
  741.         GOTO GETNETPATHL1
  742.     ELSEIF sz$ = "EXIT" THEN
  743.         GOSUB ASKQUIT
  744.         GOTO GETNETPATHL1
  745.     ELSE
  746.         UIPop 1
  747.         GOTO CUSTINST
  748.     END IF
  749. '***
  750.  
  751.  
  752. OPTFILES1:
  753. OPT1L1:
  754.     sz$ = UIStartDlg(CUIDLL$, ADD_INS, "FCheckDlgProc", OPT1HELP, HELPPROC$)
  755.  
  756.     IF sz$ = "CONTINUE" THEN
  757.         FOR i% = 1 TO Add_Ins_No STEP 1
  758.             ReplaceListItem in_CHECKSTATES$, i%, GetListItem(ou_CHECKSTATES$,i%)
  759.         NEXT i%
  760.         UIPop 1
  761.         RecalcOptFiles OPTFILES1
  762.         SetDriveStatus
  763.         GOTO CUSTINST
  764.     ELSEIF sz$ = "REACTIVATE" THEN
  765.         RecalcPath
  766.         SetDriveStatus
  767.         GOTO OPT1L1
  768.     ELSEIF sz$ = "EXIT" THEN
  769.         GOSUB ASKQUIT
  770.         GOTO OPT1L1
  771.     ELSE
  772.         UIPop 1
  773.         newopt$ = ""
  774.         GOTO CUSTINST
  775.     END IF
  776.  
  777.  
  778.  
  779. OPTFILES2:
  780.     SetSymbolValue "RadioDefault", OPT2OPT$
  781. OPT2L1:
  782.     sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", OPT2HELP, HELPPROC$)
  783.     newopt$ = GetSymbolValue("ButtonChecked")
  784.  
  785.     IF sz$ = "CONTINUE" THEN
  786.         UIPop 1
  787.         IF newopt$ <> OPT2OPT$ THEN
  788.             OPT2OPT$ = newopt$
  789.             RecalcOptFiles OPTFILES2
  790.             SetDriveStatus
  791.         END IF
  792.         newopt$ = ""
  793.         GOTO CUSTINST
  794.     ELSEIF sz$ = "REACTIVATE" THEN
  795.         RecalcPath
  796.         SetDriveStatus
  797.         GOTO OPT2L1
  798.     ELSEIF sz$ = "EXIT" THEN
  799.         GOSUB ASKQUIT
  800.         GOTO OPT2L1
  801.     ELSE
  802.         UIPop 1
  803.         newopt$ = ""
  804.         GOTO CUSTINST
  805.     END IF
  806.  
  807. GET_UPGRADE_TYPE:
  808.  
  809.     IF ((DoesFileExist(MakePath(DEST$, "BIU.INI"), femExists) = 1) AND    (DoesIniSectionExist(MakePath(DEST$,"BIU.INI"), "Program") = 1)) THEN
  810.            we$ = GetIniKeyString(MakePath(DEST$,"BIU.INI"), "Program", "Wersja")
  811.     ELSE
  812.        we$="0"
  813.     END IF
  814.     IF ((DoesFileExist(MakePath(DEST$, "BIU.INI"), femExists) = 1) AND    (DoesIniSectionExist(MakePath(DEST$,"BIU.INI"), "Program") = 1)) THEN
  815.        wy$ = GetIniKeyString(MakePath(DEST$,"BIU.INI"), "Program", "Wydanie")
  816.     ELSE
  817.        wy$="0"
  818.     END IF
  819.  
  820.     UWYD%=VAL(wy$)
  821.  
  822.     destf$ = FindFileInTree("_STUB.XLM",DEST$)
  823.         IF destf$="" THEN                 'Nie ma Mojego Biura
  824.        FIR$ = "NIE"
  825.        UPGRT% = 0
  826.         ELSE
  827.        FIR$ = "TAK"
  828.        IF (WYD%>UWYD%) THEN
  829.               IF UWYD%<16 THEN
  830.                UPGRT%=3     'Upgrade ze starszych wersji (nie ma!!!)
  831.               ELSEIF UWYD%<17 THEN
  832.                UPGRT%=2     'Upgrade z wersji 5.1  (nowe szablony)
  833.          ELSEIF UWYD%<21 THEN
  834.             UPGRT%=1    'Upgrade wersji 6.0.17  (fix i Office97)
  835.          ELSEIF UWYD%<22 THEN
  836.             UPGRT%=4    'Upgrade wersji 6.1.21  (nowy PIT)
  837.           ELSE
  838.             UPGRT%=5    'Upgrade wersji 6.2.22  (na razie na zapas)
  839.          END IF
  840.        ELSE
  841.           UPGRT%=0         'Ponowna instalacja
  842.            END IF
  843.         END IF
  844.  
  845.     RETURN
  846.  
  847. TOOBIG:
  848.     sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  849.     IF sz$ = "REACTIVATE" THEN
  850.         RecalcPath
  851.         SetDriveStatus
  852.         GOTO TOOBIG
  853.     END IF
  854.     UIPop 1
  855.     RETURN
  856.  
  857. BADPATH:
  858.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  859.     IF sz$ = "REACTIVATE" THEN
  860.         RecalcPath
  861.         SetDriveStatus
  862.         GOTO BADPATH
  863.     END IF
  864.     UIPop 1
  865.     RETURN
  866.  
  867. BADEXPATH:
  868.     sz$ = UIStartDlg(CUIDLL$, BADEXPATH, "FInfo0DlgProc", 0, "")
  869.     IF sz$ = "REACTIVATE" THEN
  870.         GOTO BADEXPATH
  871.     END IF
  872.     UIPop 1
  873.     RETURN
  874.  
  875. NOEXPATH:
  876.     sz$ = UIStartDlg(CUIDLL$, NOEXPATH, "FInfo0DlgProc", 0, "")
  877.     IF sz$ = "REACTIVATE" THEN
  878.         GOTO NOEXPATH
  879.     END IF
  880.     UIPop 1
  881.     RETURN
  882.  
  883. NONETPATH:
  884.     sz$ = UIStartDlg(CUIDLL$, NONETPATH, "FInfo0DlgProc", 0, "")
  885.     IF sz$ = "REACTIVATE" THEN
  886.         GOTO NONETPATH
  887.     END IF
  888.     UIPop 1
  889.     RETURN
  890.  
  891. BADNETPATH:
  892.     sz$ = UIStartDlg(CUIDLL$, BADNETPATH, "FInfo0DlgProc", 0, "")
  893.     IF sz$ = "REACTIVATE" THEN
  894.         GOTO BADNETPATH
  895.     END IF
  896.     UIPop 1
  897.     RETURN
  898.  
  899. ASKQUIT:
  900.     sz$ = UIStartDlg(CUIDLL$, MYASKQUIT, "FCustInstDlgProc", 0,"")
  901.  
  902.     IF sz$ = "BTN10" THEN
  903.         UIPopAll
  904.         ERROR STFQUIT
  905.     ELSEIF sz$ = "REACTIVATE" THEN
  906.         GOTO ASKQUIT
  907.     ELSE
  908.         UIPop 1
  909.     END IF
  910.     RETURN
  911.  
  912. NONAME:
  913.     sz$ = UIStartDlg(CUIDLL$, NAMEALERT, "FInfo0DlgProc", 0, "")
  914.     IF sz$ = "REACTIVATE" THEN
  915.         GOTO NONAME
  916.     END IF
  917.     UIPop 1
  918.     RETURN
  919.  
  920. NOPERSON:
  921.     sz$ = UIStartDlg(CUIDLL$, PERSONALERT, "FInfo0DlgProc", 0, "")
  922.     IF sz$ = "REACTIVATE" THEN
  923.         GOTO NOPERSON
  924.     END IF
  925.     UIPop 1
  926.     RETURN
  927.  
  928. NOEXCEL:
  929.     sz$ = UIStartDlg(CUIDLL$, EXCELALERT, "FInfo0DlgProc", 0, "")
  930.     IF sz$ = "REACTIVATE" THEN
  931.         GOTO NOEXCEL
  932.     END IF
  933.     UIPop 1
  934.     RETURN
  935.  
  936. REGISTRATION:
  937.     sz$ = UIStartDlg(CUIDLL$, CDGETNAMEORG, "FNameOrgDlgProc", REGHELP, HELPPROC$)
  938.     USERNAME$ = GetSymbolValue("NameOut")
  939.     COMPANY$ = GetSymbolValue("OrgOut")
  940.  
  941.     IF sz$ = "CONTINUE" THEN
  942.         IF ((USERNAME$ = "") OR (COMPANY$ = "")) THEN
  943.             GOSUB NONAME
  944.             GOTO REGISTRATION
  945.         END IF
  946.     ELSE        ''User chose EXIT option
  947.         GOSUB ASKQUIT
  948.         GOTO REGISTRATION
  949.     END IF
  950.     UIPop 1 
  951.     RETURN
  952.  
  953. PERSONALIZE:
  954.     sz$ = UIStartDlg(CUIDLL$, CDPERSON, "FNameOrgDlgProc", REGHELP, HELPPROC$)
  955.     PERSON$ = GetSymbolValue("NameOut")
  956.  
  957.     IF sz$ = "CONTINUE" THEN
  958.         IF PERSON$ = "" THEN
  959.             GOSUB NOPERSON
  960.             GOTO PERSONALIZE
  961.         END IF
  962.     ELSE        ''User chose EXIT option
  963.         GOSUB ASKQUIT
  964.         GOTO PERSONALIZE
  965.     END IF
  966.     UIPop 1
  967.     RETURN
  968.  
  969.  
  970. UPGRADE:
  971.     GOSUB GET_UPGRADE_TYPE
  972.     ReplaceListItem STATUSTEXT$, 5, "wersja "+we$+", wyd. "+wy$
  973.  
  974. UPGRADE1:
  975.     IF WYD%>UWYD% THEN
  976.     IF UWYD%<16 THEN    'Nie ma upgrade'u do wydaΣ <16 (MB 5.1)
  977.        GOSUB NOUPGRADE
  978.     ELSE
  979.            sz$ = UIStartDlg(CUIDLL$, ASKUPGRADE, "FCustInstDlgProc", UPGRHELP,HELPPROC$)
  980.     END IF
  981.     ELSE
  982.         sz$ = UIStartDlg(CUIDLL$, ASKNEW, "FCustInstDlgProc", NEWHELP,HELPPROC$)
  983.     END IF
  984.     IF sz$ = "BTN9" THEN
  985.         UIPop 1
  986.     UPGR$="TAK"
  987.     ELSEIF sz$ = "REACTIVATE" THEN
  988.         GOTO UPGRADE1
  989.     ELSEIF sz$ = "BTN8" THEN
  990.         IF WYD%>UWYD% THEN
  991.         j% = Winhelp(hWnd1%,"setup.hlp>gloss",1,3)    'temat 3
  992.             GOTO UPGRADE1
  993.         ELSE
  994.         j% = Winhelp(hWnd1%,"setup.hlp>gloss",1,2)     'temat 2
  995.             GOTO UPGRADE1
  996.         END IF
  997.     ELSE
  998.         UIPop 1
  999.     UPGR$="NIE"
  1000.     UPGRT%=0
  1001.     END IF
  1002.     RETURN
  1003.  
  1004. NOUPGRADE:
  1005.     sz$ = UIStartDlg(CUIDLL$, NOUPGRADE, "FInfo0DlgProc", 0, "")
  1006.     IF sz$ = "REACTIVATE" THEN
  1007.         GOTO NOUPGRADE
  1008.     END IF
  1009.     UIPop 1
  1010.     RETURN
  1011.  
  1012. UPGRADEONLY:
  1013.     sz$ = UIStartDlg(CUIDLL$, UPGRADEONLY, "FInfo0DlgProc", 0, "")
  1014.     IF sz$ = "REACTIVATE" THEN
  1015.       GOTO UPGRADEONLY
  1016.     END IF
  1017.     UIPop 1
  1018. RETURN 'Upgradeolny ===================
  1019.  
  1020. '**
  1021. '** Purpose:
  1022. '**     Adds the specified option files to the copy list.
  1023. '** Arguments:
  1024. '**     ftype%  - type of files to add, one of the following:
  1025. '**             APPFILES, OPTFILES1, OPTFILES2
  1026. '** Returns:
  1027. '**     none.
  1028. '*************************************************************************
  1029. SUB AddOptFilesToCopyList (ftype%) STATIC
  1030.  
  1031. IF NETOPT$ <> "2" THEN
  1032.     IF GetListItem(CHECKSTATES$, ftype%) = "ON" THEN
  1033.         SrcDir$ = GetSymbolValue("STF_SRCDIR")
  1034.  
  1035.         IF ftype% = APPFILES THEN
  1036.                 AddSectionFilesToCopyList "Net", SrcDir$, DEST$
  1037.                 AddSectionFilesToCopyList "System", SrcDir$, WINSYSDIR$
  1038.                 AddSectionFilesToCopyList "Windows", SrcDir$, WINDIR$
  1039.                 AddSectionFilesToCopyList "Program", SrcDir$, DEST$
  1040.  
  1041.         ELSEIF ftype% = OPTFILES1 THEN
  1042.  
  1043.        IF GetListItem(ou_CHECKSTATES$,1)="ON" THEN
  1044.                 AddSectionKeyFileToCopyList "Dodatki", "1", SrcDir$, DEST$
  1045.        END IF
  1046.  
  1047.       IF GetListItem(ou_CHECKSTATES$,2)="ON" THEN
  1048.             AddSectionKeyFileToCopyList "Dodatki", "2", SrcDir$, DEST$
  1049.        END IF
  1050.  
  1051.       IF GetListItem(ou_CHECKSTATES$,3)="ON" THEN
  1052.             AddSectionKeyFileToCopyList "Dodatki", "3", SrcDir$, DEST$
  1053.        END IF
  1054.  
  1055.         ELSEIF ftype% = OPTFILES2 THEN
  1056.  
  1057.            IF (UPGRT%=0) THEN '' nowy program
  1058.               AddSectionFilesToCopyList "Szablony", SrcDir$, DEST$
  1059.               AddSectionFilesToCopyList "SzablonyFix", SrcDir$, DEST$
  1060.               AddSectionFilesToCopyList "NoweSzablony", SrcDir$, DEST$
  1061.               AddSectionFilesToCopyList "SzablonyPit", SrcDir$, DEST$
  1062.            ELSEIF (UPGRT%=2) THEN '' akt do 16
  1063.               AddSectionFilesToCopyList "SzablonyFix", SrcDir$, DEST$
  1064.               AddSectionFilesToCopyList "NoweSzablony", SrcDir$, DEST$
  1065.               AddSectionFilesToCopyList "SzablonyPit", SrcDir$, DEST$
  1066.            ELSEIF (UPGRT%=1) THEN '' akt do 17,18,19,20
  1067.               AddSectionFilesToCopyList "SzablonyFix", SrcDir$, DEST$
  1068.               AddSectionFilesToCopyList "SzablonyPit", SrcDir$, DEST$
  1069.            ELSEIF (UPGRT%=4) THEN '' akt do 21
  1070.               AddSectionFilesToCopyList "SzablonyPit", SrcDir$, DEST$
  1071.            END IF
  1072.  
  1073.         END IF
  1074.         SrcDir$ = ""
  1075.     END IF
  1076. ELSE
  1077.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  1078.     IF ((ftype% = APPFILES) AND (GetListItem(CHECKSTATES$, APPFILES) = "ON")) THEN
  1079.         AddSectionFilesToCopyList "Net", SrcDir$, DEST$
  1080.         AddSectionFilesToCopyList "System", SrcDir$, WINSYSDIR$
  1081.         AddSectionFilesToCopyList "Windows", SrcDir$, WINDIR$
  1082.     END IF
  1083.     SrcDir$ = ""
  1084. END IF
  1085. END SUB
  1086.  
  1087.  
  1088. '**
  1089. '** Purpose:
  1090. '**     Recalculates disk space for the given option files and sets
  1091. '**     the status info symbol "StatusItemsText".
  1092. '** Arguments:
  1093. '**     ftype% - type of files to add, one of the following:
  1094. '**             APPFILES, OPTFILES1, OPTFILES2
  1095. '** Returns:
  1096. '**     none.
  1097. '*************************************************************************
  1098. SUB RecalcOptFiles (ftype%) STATIC
  1099.     CursorSave% = ShowWaitCursor()
  1100.     ClearCopyList
  1101.     AddOptFilesToCopyList ftype%
  1102.  
  1103.     fExtra% = 0
  1104.     IF ftype% = APPFILES THEN
  1105.         ListSym$ = APPNEEDS$
  1106.         IF GetListItem(CHECKSTATES$, APPFILES) = "ON" THEN
  1107.             ''Add extra cost to Windows drive for ini/progman, etc.
  1108.             ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
  1109.             ReplaceListItem EXTRACOSTS$, ndrive%, "1024"
  1110.             fExtra% = 1
  1111.         END IF
  1112.     ELSEIF ftype% = OPTFILES1 THEN
  1113.         ListSym$ = OPT1NEEDS$
  1114.     ELSEIF ftype% = OPTFILES2 THEN
  1115.         ListSym$ = OPT2NEEDS$
  1116.     END IF
  1117.  
  1118.     StillNeed& = GetCopyListCost(EXTRACOSTS$, ListSym$, "")
  1119.  
  1120.     cost& = 0
  1121.     FOR i% = 1 TO 26 STEP 1
  1122.         cost&  = cost& + VAL(GetListItem(ListSym$, i%))
  1123.     NEXT i%
  1124.     ReplaceListItem STATUSTEXT$, ftype%, STR$(cost& / 1024) + " K"
  1125.  
  1126.     IF StillNeed& > 0 THEN
  1127.         ReplaceListItem BIGLIST$, ftype%, "YES"
  1128.     ELSE
  1129.         ReplaceListItem BIGLIST$, ftype%, ""
  1130.     END IF
  1131.  
  1132.     IF fExtra% THEN
  1133.         ReplaceListItem EXTRACOSTS$, ndrive%, "0"
  1134.     END IF
  1135.     RestoreCursor CursorSave%
  1136.     ListSym$ = ""
  1137. END SUB
  1138.  
  1139.  
  1140. '**
  1141. '** Purpose:
  1142. '**     Recalculates disk space and sets option status info according
  1143. '**     to the current destination path.
  1144. '** Arguments:
  1145. '**     none.
  1146. '** Returns:
  1147. '**     none.
  1148. '*************************************************************************
  1149. SUB RecalcPath STATIC
  1150.  
  1151.     CursorSave% = ShowWaitCursor()
  1152.  
  1153.     RecalcOptFiles APPFILES
  1154.     RecalcOptFiles OPTFILES1
  1155.     RecalcOptFiles OPTFILES2
  1156.  
  1157.     RestoreCursor CursorSave%
  1158. END SUB
  1159.  
  1160.  
  1161. '**
  1162. '** Purpose:
  1163. '**     Sets drive status info according to latest disk space calcs.
  1164. '** Arguments:
  1165. '**     none.
  1166. '** Returns:
  1167. '**     none.
  1168. '*************************************************************************
  1169. SUB SetDriveStatus STATIC
  1170.  
  1171.     drive$ = MID$(DEST$, 1, 1)
  1172.     ndrive% = ASC(ucase$(drive$)) - ASC("A") + 1
  1173.     cost& = VAL(GetListItem(APPNEEDS$, ndrive%)) + VAL(GetListItem(OPT1NEEDS$, ndrive%)) + VAL(GetListItem(OPT2NEEDS$, ndrive%))
  1174.     free& = GetFreeSpaceForDrive(drive$)
  1175.     ReplaceListItem DRIVETEXT$, 1, drive$ + ":"
  1176.     ReplaceListItem DRIVETEXT$, 2, STR$(cost& / 1024) + " K"
  1177.     ReplaceListItem DRIVETEXT$, 3, STR$(free& / 1024) + " K"
  1178.  
  1179.     IF drive$ = WINDRIVE$ THEN
  1180.         ReplaceListItem DRIVETEXT$, 4, ""
  1181.         ReplaceListItem DRIVETEXT$, 5, ""
  1182.         ReplaceListItem DRIVETEXT$, 6, ""
  1183.     ELSE
  1184.         ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
  1185.         cost& = VAL(GetListItem(APPNEEDS$, ndrive%)) + VAL(GetListItem(OPT1NEEDS$, ndrive%)) + VAL(GetListItem(OPT2NEEDS$, ndrive%))
  1186.         IF cost& = 0 THEN
  1187.             ReplaceListItem DRIVETEXT$, 4, ""
  1188.             ReplaceListItem DRIVETEXT$, 5, ""
  1189.             ReplaceListItem DRIVETEXT$, 6, ""
  1190.         ELSE
  1191.             free& = GetFreeSpaceForDrive(WINDRIVE$)
  1192.             ReplaceListItem DRIVETEXT$, 4, WINDRIVE$ + ":"
  1193.             ReplaceListItem DRIVETEXT$, 5, STR$(cost& / 1024) + " K"
  1194.             ReplaceListItem DRIVETEXT$, 6, STR$(free& / 1024) + " K"
  1195.         END IF
  1196.     END IF
  1197. END SUB
  1198.  
  1199.  
  1200. '**
  1201. '** Purpose:
  1202. '**     Appends a file name to the end of a directory path,
  1203. '**     inserting a backslash character as needed.
  1204. '** Arguments:
  1205. '**     szDir$  - full directory path (with optional ending "\")
  1206. '**     szFile$ - filename to append to directory
  1207. '** Returns:
  1208. '**     Resulting fully qualified path name.
  1209. '*************************************************************************
  1210. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  1211.     IF szDir$ = "" THEN
  1212.         MakePath = szFile$
  1213.     ELSEIF szFile$ = "" THEN
  1214.         MakePath = szDir$
  1215.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  1216.         MakePath = szDir$ + szFile$
  1217.     ELSE
  1218.         MakePath = szDir$ + "\" + szFile$
  1219.     END IF
  1220. END FUNCTION
  1221.  
  1222.