home *** CD-ROM | disk | FTP | other *** search
/ Multimedialna Encyklopedia Powszechna / MEP98.ISO / pep.mst < prev    next >
Text File  |  1997-10-25  |  6KB  |  219 lines

  1. '$INCLUDE 'setupapi.inc'
  2. '$INCLUDE 'msdetect.inc'
  3.  
  4. ''Dialog ID's
  5. CONST WELCOME       = 100
  6. CONST ASKQUIT       = 200
  7. CONST DESTPATH      = 300
  8. CONST EXITFAILURE   = 400
  9. CONST EXITQUIT      = 600
  10. CONST EXITSUCCESS   = 700
  11. CONST OPTIONS       = 800
  12. CONST APPHELP       = 900
  13. CONST TOOBIG        = 6300
  14. CONST BADPATH       = 6400
  15. CONST RESET         = 7801
  16.  
  17. '' rodzaje instalacji z dialogu options
  18. CONST NORMAL         = 450
  19. CONST SNMALL         = 451
  20.  
  21. ''Bitmap ID
  22. CONST LOGO = 1
  23.  
  24. GLOBAL DEST$        ''Default destination directory.
  25. GLOBAL DANE$        ''Default data directory.
  26. GLOBAL CUIDLL$
  27. GLOBAL DESTDRV$     '' dest drive
  28. GLOBAL INSTKIND$    '' wybrany rodzaj instalacji
  29.  
  30. DECLARE SUB Install
  31. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  32.  
  33. CONST WM_FONTCHANGE = 29
  34. CONST HWND_BROADCAST = -1
  35.  
  36. DECLARE FUNCTION CreateScalableFontResource LIB "GDI.EXE" (fHidden%, FOTFile$, TTFFile$, SysDir$) AS INTEGER
  37. DECLARE FUNCTION AddFontResource LIB "GDI.EXE" (FOTFile$) AS INTEGER
  38. DECLARE FUNCTION SendMessage LIB "USER.EXE" (hWnd%, Message%, wParam%, lParam&) AS LONG
  39.  
  40. DECLARE SUB InstFont (FontFile$)
  41.  
  42. INIT:
  43.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  44.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  45.  
  46.     SetBitmap CUIDLL$, LOGO
  47.     SetTitle "MEP - program instalacyjny"
  48.  
  49.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  50.     IF szInf$ = "" THEN
  51.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  52.     END IF
  53.     ReadInfFile szInf$
  54.  
  55.     DEST$ = "C:\FOGRA"
  56.  
  57. WELCOME:
  58.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  59.     IF sz$ = "CONTINUE" THEN
  60.         UIPop 1
  61.     ELSE
  62.         GOSUB ASKQUIT
  63.         GOTO WELCOME
  64.     END IF
  65.  
  66.  
  67. GETPATH:
  68.     SetSymbolValue "EditTextIn", DEST$
  69.     SetSymbolValue "EditFocus", "END"
  70.  
  71. GETPATHL1:
  72.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  73.     DEST$ = GetSymbolValue("EditTextOut")
  74.  
  75.     IF sz$ = "CONTINUE" THEN
  76.         IF IsDirWritable(DEST$) = 0 THEN
  77.             GOSUB BADPATH
  78.             GOTO GETPATHL1
  79.         END IF
  80.         UIPop 1
  81.     ELSEIF sz$ = "REACTIVATE" THEN
  82.         GOTO GETPATHL1
  83.     ELSEIF sz$ = "BACK" THEN
  84.         UIPop 1
  85.         GOTO WELCOME
  86.     ELSE
  87.         GOSUB ASKQUIT
  88.         GOTO GETPATH
  89.     END IF
  90.  
  91.  
  92.     Install
  93.  
  94.    n% = DoMsgBox("Windows 3.xx wymaga Video for Windows. Mo┐na je zainstalowaµ przechodz╣c do katalogu VFW i uruchamiaj╣c program SETUP.EXE." , "UWAGA", MB_OK)
  95.  
  96. QUIT:
  97.     ON ERROR GOTO ERRQUIT
  98.  
  99.     IF ERR = 0 THEN
  100.         dlg% = EXITSUCCESS
  101.     ELSEIF ERR = STFQUIT THEN
  102.         dlg% = EXITQUIT
  103.     ELSE
  104.         dlg% = EXITFAILURE
  105.     END IF
  106. QUITL1:
  107.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  108.     IF sz$ = "REACTIVATE" THEN
  109.         GOTO QUITL1
  110.     END IF
  111.     UIPop 1
  112.  
  113.     END
  114.  
  115. ERRQUIT:
  116.     i% = DoMsgBox("Uszkodzone pliki programu instalacyjnego", "UWAGA - BúÑD", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  117.     END
  118.  
  119.  
  120.  
  121. BADPATH:
  122.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  123.     IF sz$ = "REACTIVATE" THEN
  124.         GOTO BADPATH
  125.     END IF
  126.     UIPop 1
  127.     RETURN
  128.  
  129.  
  130. TOOBIG:
  131.     sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  132.     IF sz$ = "REACTIVATE" THEN
  133.         GOTO TOOBIG
  134.     END IF
  135.     UIPop 1
  136.     RETURN
  137.  
  138.  
  139. ASKQUIT:
  140.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  141.  
  142.     IF sz$ = "EXIT" THEN
  143.         UIPopAll
  144.         ERROR STFQUIT
  145.     ELSEIF sz$ = "REACTIVATE" THEN
  146.         GOTO ASKQUIT
  147.     ELSE
  148.         UIPop 1
  149.     END IF
  150.     RETURN
  151.  
  152. '*********************************************************************
  153. SUB Install STATIC
  154.  
  155.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  156.     CreateDir DEST$, cmoNone
  157.     
  158.     AddSectionFilesToCopyList "WinSysFiles", SrcDir$ , GetWindowsSysDir
  159.     AddSectionFilesToCopyList "InstFiles", SrcDir$ , DEST$
  160.  
  161.     IDX$=SrcDir$ + "ENCY\" 
  162.  
  163.     CopyFilesInCopyList
  164.  
  165.     CreateProgmanGroup "Fogra", "", cmoNone
  166.     ShowProgmanGroup  "Fogra", 1, cmoNone
  167.     IconPath$ = MakePath(DEST$ ,"mep.ico")
  168.  
  169.     ini$ = MakePath(GetWindowsDir, "MEP.INI")
  170.     
  171.     DANE$=SrcDir$+ "ENCY\" 
  172.  
  173.  
  174.     CreateIniKeyValue ini$, "KATALOGI", "Dane", DANE$ , cmoOverwrite
  175.     CreateIniKeyValue ini$, "KATALOGI", "Idx",  IDX$ , cmoOverwrite
  176.  
  177.     CreateProgmanItem "Fogra", "MEP 1998", MakePath(SrcDir$ + "ENCY\" ,"winieta.exe"), IconPath$, cmoOverwrite
  178.     CreateProgmanItem "Fogra", "MEP Help", MakePath(SrcDir$ + "ENCY\","mep.hlp"), "", cmoOverwrite
  179.  
  180.     InstFont "mep" 
  181.  
  182.   '' Inform other applications on the system about the new font.
  183.   i%=SendMessage (HWND_BROADCAST, WM_FONTCHAGE, 0, 0)
  184.  
  185. ENDALL:
  186.  
  187. END SUB
  188.  
  189. '*************************************************************************
  190. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  191.     IF szDir$ = "" THEN
  192.         MakePath = szFile$
  193.     ELSEIF szFile$ = "" THEN
  194.         MakePath = szDir$
  195.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  196.         MakePath = szDir$ + szFile$
  197.     ELSE
  198.         MakePath = szDir$ + "\" + szFile$
  199.     END IF
  200. END FUNCTION
  201. '*****************************************************************
  202. SUB InstFont (FontFile$) STATIC
  203.  
  204.   SYSDIR$=GetWindowsSysDir()
  205.  
  206.   '' Obtain the .FOT file from the .TTF file.
  207.   i%=CreateScalableFontResource (0, SYSDIR$+FontFile$+".FOT", FontFile$+".TTF", SYSDIR$)
  208.  
  209.   '' Inform Windows about the new font without rebooting Windows.
  210.   i%=AddFontResource (SYSDIR$+FontFile$+".FOT")
  211.  
  212.   '' Modify the WIN.INI file.
  213.   FontName$=STRING$ (64, 32)
  214.   i%=GetTypeFaceNameFromTTF (SYSDIR$+FontFile$+".TTF", FontName$, 64)
  215.   CreateIniKeyValue "WIN.INI", "fonts", FontName$+" (TrueType)", FontFile$+".FOT", cmoOverwrite
  216.  
  217. END SUB
  218.  
  219.