home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 December / CHIP_CD_1997_12_PL.iso / software / testsoft / enc_pow / pep.mst < prev    next >
Encoding:
Text File  |  1997-09-29  |  6.7 KB  |  264 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.  
  68. OPTION:
  69. ''    SetSymbolValue "RadioDefault", NORMAL
  70.  
  71. OPTL1:
  72.     sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
  73.     INSTKIND$ = GetSymbolValue("ButtonChecked")
  74.  
  75.     IF sz$ = "CONTINUE" THEN
  76.         UIPop 1
  77.     ELSEIF sz$ = "REACTIVATE" THEN
  78.         GOTO OPTL1
  79.     ELSEIF sz$ = "BACK" THEN
  80.         UIPop 1
  81.         GOTO WELCOME
  82.     ELSE
  83.         GOSUB ASKQUIT
  84.         GOTO GETPATH
  85.     END IF
  86.  
  87.  
  88.  
  89. GETPATH:
  90.     SetSymbolValue "EditTextIn", DEST$
  91.     SetSymbolValue "EditFocus", "END"
  92.  
  93. GETPATHL1:
  94.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  95.     DEST$ = GetSymbolValue("EditTextOut")
  96.  
  97.     IF sz$ = "CONTINUE" THEN
  98.         IF IsDirWritable(DEST$) = 0 THEN
  99.             GOSUB BADPATH
  100.             GOTO GETPATHL1
  101.         END IF
  102.  
  103.         '' przy pelnej instalacji sprawdzic ilosc wolnego miejsca
  104.         IF INSTKIND$ =  "1"  THEN          
  105.             szDrive$ = MID$(DEST$, 1, 1)
  106.             FREESPACE& = GetFreeSpaceForDrive (szDrive$)
  107.             IF FREESPACE&<5000000 THEN 
  108.                GOSUB TOOBIG
  109.                GOTO GETPATHL1
  110.             END IF
  111.          END IF
  112.  
  113.         UIPop 1
  114.     ELSEIF sz$ = "REACTIVATE" THEN
  115.         GOTO GETPATHL1
  116.     ELSEIF sz$ = "BACK" THEN
  117.         UIPop 1
  118.         GOTO OPTION
  119.     ELSE
  120.         GOSUB ASKQUIT
  121.         GOTO GETPATH
  122.     END IF
  123.  
  124.  
  125.     Install
  126.  
  127.    n% = DoMsgBox("NiezbΩdne jest Video for Windows. Mo┐esz je zainstalowaµ przechodz╣c do katalogu VFW i uruchamiaj╣c program setup." , "UWAGA", MB_OK)
  128.  
  129. QUIT:
  130.     ON ERROR GOTO ERRQUIT
  131.  
  132.     IF ERR = 0 THEN
  133.         dlg% = EXITSUCCESS
  134.     ELSEIF ERR = STFQUIT THEN
  135.         dlg% = EXITQUIT
  136.     ELSE
  137.         dlg% = EXITFAILURE
  138.     END IF
  139. QUITL1:
  140.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  141.     IF sz$ = "REACTIVATE" THEN
  142.         GOTO QUITL1
  143.     END IF
  144.     UIPop 1
  145.  
  146.     END
  147.  
  148. ERRQUIT:
  149.     i% = DoMsgBox("Uszkodzone pliki programu instalacyjnego", "UWAGA - BúÑD", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  150.     END
  151.  
  152.  
  153.  
  154. BADPATH:
  155.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  156.     IF sz$ = "REACTIVATE" THEN
  157.         GOTO BADPATH
  158.     END IF
  159.     UIPop 1
  160.     RETURN
  161.  
  162.  
  163. TOOBIG:
  164.     sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  165.     IF sz$ = "REACTIVATE" THEN
  166.         GOTO TOOBIG
  167.     END IF
  168.     UIPop 1
  169.     RETURN
  170.  
  171.  
  172. ASKQUIT:
  173.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  174.  
  175.     IF sz$ = "EXIT" THEN
  176.         UIPopAll
  177.         ERROR STFQUIT
  178.     ELSEIF sz$ = "REACTIVATE" THEN
  179.         GOTO ASKQUIT
  180.     ELSE
  181.         UIPop 1
  182.     END IF
  183.     RETURN
  184.  
  185. '*********************************************************************
  186. SUB Install STATIC
  187.  
  188.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  189.     CreateDir DEST$, cmoNone
  190.     
  191.     AddSectionFilesToCopyList "InstFiles", SrcDir$ , DEST$
  192.     AddSectionFilesToCopyList "WinSysFiles", SrcDir$ , GetWindowsSysDir
  193.  
  194.     IF INSTKIND$ = "1" THEN 
  195.        IDX$=DEST$
  196.        FR$=SrcDir$ + "ENCY\N2T.IDX"
  197.        PTO$=DEST$ + "\" + "N2T.IDX"
  198.        CopyFile FR$,  PTO$, cmoOverwrite, 0
  199.  
  200.        FR$=SrcDir$ + "ENCY\GN2T.IDX"
  201.        PTO$=DEST$ + "\" + "GN2T.IDX"
  202.        CopyFile FR$,  PTO$, cmoOverwrite, 0
  203.  
  204.     ELSE
  205.        IDX$=SrcDir$ + "ENCY\" 
  206.     END IF
  207.  
  208.     CopyFilesInCopyList
  209.  
  210.     CreateProgmanGroup "Fogra", "", cmoNone
  211.     ShowProgmanGroup  "Fogra", 1, cmoNone
  212.     IconPath$ = MakePath(DEST$ ,"pep.ico")
  213.  
  214.     ini$ = MakePath(GetWindowsDir, "PEP.INI")
  215.     
  216.     DANE$=SrcDir$+ "ENCY\" 
  217.  
  218.  
  219.     CreateIniKeyValue ini$, "KATALOGI", "Dane", DANE$ , cmoOverwrite
  220.     CreateIniKeyValue ini$, "KATALOGI", "Idx",  IDX$ , cmoOverwrite
  221.  
  222.     CreateProgmanItem "Fogra", "MEP 1997", MakePath(SrcDir$ + "ENCY\" ,"winieta.exe"), IconPath$, cmoOverwrite
  223.     CreateProgmanItem "Fogra", "MEP Help", MakePath(SrcDir$ + "ENCY\","pep.hlp"), "", cmoOverwrite
  224.  
  225.     InstFont "mep" 
  226.  
  227.   '' Inform other applications on the system about the new font.
  228.   i%=SendMessage (HWND_BROADCAST, WM_FONTCHAGE, 0, 0)
  229.  
  230. ENDALL:
  231.  
  232. END SUB
  233.  
  234. '*************************************************************************
  235. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  236.     IF szDir$ = "" THEN
  237.         MakePath = szFile$
  238.     ELSEIF szFile$ = "" THEN
  239.         MakePath = szDir$
  240.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  241.         MakePath = szDir$ + szFile$
  242.     ELSE
  243.         MakePath = szDir$ + "\" + szFile$
  244.     END IF
  245. END FUNCTION
  246. '*****************************************************************
  247. SUB InstFont (FontFile$) STATIC
  248.  
  249.   SYSDIR$=GetWindowsSysDir()
  250.  
  251.   '' Obtain the .FOT file from the .TTF file.
  252.   i%=CreateScalableFontResource (0, SYSDIR$+FontFile$+".FOT", FontFile$+".TTF", SYSDIR$)
  253.  
  254.   '' Inform Windows about the new font without rebooting Windows.
  255.   i%=AddFontResource (SYSDIR$+FontFile$+".FOT")
  256.  
  257.   '' Modify the WIN.INI file.
  258.   FontName$=STRING$ (64, 32)
  259.   i%=GetTypeFaceNameFromTTF (SYSDIR$+FontFile$+".TTF", FontName$, 64)
  260.   CreateIniKeyValue "WIN.INI", "fonts", FontName$+" (TrueType)", FontFile$+".FOT", cmoOverwrite
  261.  
  262. END SUB
  263.  
  264.