home *** CD-ROM | disk | FTP | other *** search
/ Freesoft 1997 March / Freesoft_1997-03_cd.bin / nerecenz / internet / webexplr / WEBEXPLR.PRG < prev    next >
Text File  |  1997-03-04  |  4KB  |  142 lines

  1. *  Program...........: WebExplr.prg
  2. *  Author............: Ken R. Levy
  3. *  Project...........: Web Explorer
  4. *  Created...........: 10/26/1996
  5. *  Copyright.........: Public Domain
  6. *) Description.......: Web Explorer for Visual FoxPro 5.0 using Interent Explorer 3.0.
  7.  
  8. LPARAMETERS tcURL,tlNoShow,tlDesktop,tlRunTime,tlNoURLHistory,toParent
  9. PUBLIC _oWebExplorer
  10. PRIVATE lcProgram,lcProgramPath
  11. LOCAL oForm,lcObjectName,lnAtPos,lnCount,llMatch,lnTop,lnLeft,lnHeight,lnWidth
  12. LOCAL llMaximize,lnInstanceCount,lcLastSetTalk,oParent
  13.  
  14. lcLastSetTalk=SET("TALK")
  15. SET TALK OFF
  16. lcProgram=LOWER(SYS(16))
  17. lnAtPos=RAT('\',lcProgram)
  18. lcProgramPath=ALLTRIM(IIF(lnAtPos=0,lcProgram,LEFT(lcProgram,lnAtPos)))
  19. _vfp.AutoYield=.F.
  20. SYS(2333,0)
  21. oParent=IIF(TYPE("toParent")#"O" OR ISNULL(toParent),.NULL.,toParent)
  22. IF NOT tlRunTime
  23.     WAIT CLEAR
  24.     SET MESSAGE TO "Loading Web Explorer ..."
  25. ENDIF
  26. lnTop=0
  27. lnLeft=0
  28. llMaximize=.F.
  29. llMatch=.F.
  30. lnInstanceCount=0
  31. DO WHILE .T.
  32.     FOR lnCount = 1 TO _screen.FormCount
  33.         oForm=_screen.Forms[lnCount]
  34.         IF NOT LEFT(LOWER(oForm.Name),11)=="webexplorer"
  35.             LOOP
  36.         ENDIF
  37.         lnInstanceCount=lnInstanceCount+1
  38.         IF oForm.WindowState=2
  39.             llMaximize=.T.
  40.         ENDIF
  41.         IF oForm.Top#lnTop OR oForm.Left#lnLeft
  42.             LOOP
  43.         ENDIF
  44.         IF (NOT tlDesktop AND oForm.ShowWindow#0) OR (tlDesktop AND oForm.ShowWindow=0)
  45.             LOOP
  46.         ENDIF
  47.         llMatch=.T.
  48.         lnTop=lnTop+22
  49.         lnLeft=lnLeft+22
  50.     ENDFOR
  51.     oForm=.NULL.
  52.     IF NOT llMatch
  53.         EXIT
  54.     ENDIF
  55.     llMatch=.F.
  56. ENDDO
  57. ERASE (lcProgramPath+"HTMLEval.*")
  58. ERASE (lcProgramPath+"_gallery.*")
  59. SET CLASSLIB TO (FULLPATH("webexplr",lcProgram)) ALIAS WebExplorer ADDITIVE 
  60. lcObjectName="WebExplorer"+SYS(2015)
  61. PUBLIC (lcObjectName)
  62. &lcObjectName=CREATEOBJECT("WebExplorer"+IIF(tlDeskTop,"2",""),lcObjectName,tcURL,oParent)
  63. oParent=.NULL.
  64. RELEASE CLASSLIB ALIAS WebExplorer
  65. PUBLIC _oWebExplorer
  66. _oWebExplorer=.NULL.
  67. IF TYPE(lcObjectName)#"O" OR ISNULL(lcObjectName)
  68.     IF lcLastSetTalk=="ON"
  69.         SET TALK ON
  70.     ELSE
  71.         SET TALK OFF
  72.     ENDIF
  73.     RETURN .F.
  74. ENDIF
  75. _oWebExplorer=EVALUATE(lcObjectName)
  76. IF TYPE("_oWebExplorer")#"O" OR ISNULL(_oWebExplorer)
  77.     IF lcLastSetTalk=="ON"
  78.         SET TALK ON
  79.     ELSE
  80.         SET TALK OFF
  81.     ENDIF
  82.     _oWebExplorer=.NULL.
  83.     RETURN .F.
  84. ENDIF
  85. WITH _oWebExplorer
  86.     .Name="WebExplorer"+ALLTRIM(STR(lnInstanceCount+1))
  87.     .tcURL=tcURL
  88.     .tlNoShow=tlNoShow
  89.     .tlDesktop=tlDesktop
  90.     .tlRunTime=tlRunTime
  91.     .tlNoURLHistory=tlNoURLHistory
  92.     .cHelpURL=.cProgramPath+"webexplr.htm"
  93.     lnHeight=SYSMETRIC(2)-IIF(tlDesktop,78,148)
  94.     lnWidth=.75*(SYSMETRIC(1)-6)
  95.     .cboURL.lURLHistory=(NOT tlNoURLHistory)
  96.     IF tlRunTime
  97.         .cmdGoSearch.Visible=.F.
  98.         .cmdOpen.Visible=.F.
  99.         .cmdGoHome.Left=.cmdGoHome.Left-24
  100.         .cmdHelp.Left=.cmdHelp.Left-48
  101.         .lblAddress.Visible=.F.
  102.         .cboURL.Visible=.F.
  103.         .oleWebBrowser.Top=.oleWebBrowser.Top-25
  104.         .oleWebBrowser.Height=.oleWebBrowser.Height+25
  105.         .txtBackground.Top=.oleWebBrowser.Top
  106.         .txtBackground.Height=.oleWebBrowser.Height
  107.     ELSE
  108.         .cCaption="Web Explorer"
  109.     ENDIF
  110.     IF NOT .oleWebBrowser.lRefreshDeactivate AND tlDesktop
  111.         .oleWebBrowser.lRefreshDeactivate=.T.
  112.     ENDIF
  113.     .Top=lnTop
  114.     .Left=lnLeft
  115.     .Height=lnHeight-lnTop
  116.     .Width=lnWidth-lnLeft
  117.     .ScaleResize
  118.     IF llMaximize
  119.         .WindowState=2
  120.     ENDIF
  121.     IF NOT tlNoShow
  122.         .Show
  123.     ENDIF
  124. ENDWITH
  125. IF lcLastSetTalk=="ON"
  126.     SET TALK ON
  127. ELSE
  128.     SET TALK OFF
  129. ENDIF
  130. RETURN
  131.  
  132.  
  133.  
  134. *-- Dummy lines for adding files to project.
  135. DO CodeBlck.prg
  136. DO RunCode.prg
  137. DO VFPScrpt.prg
  138.  
  139. DO docobj.ico
  140. DO earth.ico
  141. RETURN
  142.