WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

Samples

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

Scrollable Dialog using MSHTML

 Keywords: Scrollable Dialog Scroll Bar Vertical HTML MSHTML Dynamic 

;Winbatch - Very Quick HTML report
;
;Stan Littlefield, October 26, 2011
;/////////////////////////////////////////////////////////////////////////////////////////////

GoSub udfs

cBMP = "green_a.bmp,red_a.bmp,yellow_a.bmp"
For i=1 To ItemCount(cBMP,",")
   If ! FileExist(DirScript():ItemExtract(i,cBMP,",")) Then Terminate(@TRUE,"Cannot Continue","Missing Icon(s)")
Next

BoxOpen("Please Wait","Preparing Options For Display")
cHTML = ""
CreateHTML()
;I'm just going to replace the BMP's in the template, you can also replace the |file| and |date|, or choose to
;build the template a line at a time
cHTML=StrReplace(cHTML,"|green|",DirScript():ItemExtract(1,cBMP,","))
cHTML=StrReplace(cHTML,"|red|",DirScript():ItemExtract(2,cBMP,","))
cHTML=StrReplace(cHTML,"|yellow|",DirScript():ItemExtract(3,cBMP,","))
cHTML=StrReplace(cHTML,"|date|",getdate())
cHTML=StrReplace(cHTML,"|title|","My Domain Server(s) Status")
cHTML=StrReplace(cHTML,"|file|","\\backups\Domain1")
cHTML=StrReplace(cHTML,"|file1|","\\backups\Domain2")
BoxShut()

TFormat=`WWWDLGED,6.1`

TCaption=`Sample HTML Report`
TX=9999
TY=9999
TWidth=320
THeight=142
TNumControls=002
TProcedure=`dlgproc`
TFont=`DEFAULT`
TTextColor=`DEFAULT`
TBackground=`DEFAULT,0|0|255`
TConfig=0

T001=`009,007,110,012,PUSHBUTTON,DEFAULT,"Click Here After Viewing Report",1,1,32,DEFAULT,DEFAULT,"0|255|64"`
T002=`001,023,314,114,COMCONTROL,DEFAULT,"MSHTML:",DEFAULT,2,DEFAULT,DEFAULT,DEFAULT,DEFAULT`

ButtonPushed=Dialog("T")






Exit
;/////////////////////////////////////////////////////////////////////////////////////////////

:udfs
#DefineSubRoutine dlgproc(handle,msg,id,p4,p5)
Switch msg
    Case 0
        DialogProcOptions(handle,2,1)
        oIE=DialogObject(handle,2,3)
        oIE.Writeln(cHTML)
        Return(-1)
        Break
    Case 2
        Switch id
        Case 001
           oIE.Close()
           oIE=0
           Return(9)
        EndSwitch
        Return(-1)

EndSwitch
Return(-1)
#EndSubRoutine

#DefineFunction getdate()
d= TimeYmdHms()  ;YYYY:MM:DD:HH:MM:SS
d1 = ItemExtract(2,d,":"):"/":ItemExtract(3,d,":"):"/":ItemExtract(1,d,":")
Return(d1)
#EndFunction

#DefineSubRoutine CreateHTML()
cHead='<html><body bgcolor="#FFCC66">':@CRLF
cHead=cHead:'<p align="center"><font size="6">|title|</font></p>':@CRLF
cFoot="</body></html>"
cHTML=""
;the assumption is you will build the HTML by reading actual info about Servers from
;either a db or file; and you can choose to make individual entries hyperlinks
cHTML=cHTML:'<p>':CrSpaces(3):'Domain 1</p>':@CRLF
cHTML=cHTML:'<p>':CrSpaces(7):'Server 1</p>':@CRLF
cHTML=cHTML:'<p>':CrSpaces(15):@CRLF
cHTML=cHTML:'Last Update |date|':CrSpaces(3):'Update File |file|':CrSpaces(7):'Status':@CRLF
cHTML=cHTML:'<img border="0" src="|green|" width="30" height="30"></p>':@CRLF
cHTML=cHTML:'<p>':CrSpaces(7):'Server 2</p>':@CRLF
cHTML=cHTML:'<p>':CrSpaces(15):@CRLF
cHTML=cHTML:'Last Update |date|':CrSpaces(3):'Update File |file|':CrSpaces(7):'Status':@CRLF
cHTML=cHTML:'<img border="0" src="|yellow|" width="30" height="30"></p>':@CRLF
cHTML=cHTML:'<p>':CrSpaces(3):'Domain 2</p>':@CRLF
cHTML=cHTML:'<p>':CrSpaces(7):'Server 1</p>':@CRLF
cHTML=cHTML:'<p>':CrSpaces(15):@CRLF
cHTML=cHTML:'Last Update |date|':CrSpaces(3):'Update File |file1|':CrSpaces(7):'Status':@CRLF
cHTML=cHTML:'<img border="0" src="|green|" width="30" height="30"></p>':@CRLF
cHTML=cHTML:'<p>':CrSpaces(7):'Server 2</p>':@CRLF
cHTML=cHTML:'<p>':CrSpaces(15):@CRLF
cHTML=cHTML:'Last Update |date|':CrSpaces(3):'Update File |file1|':CrSpaces(7):'Status':@CRLF
cHTML=cHTML:'<img border="0" src="|red|" width="30" height="30"></p>':@CRLF
cHTML=cHead:cHTML:cFoot
Return(cHTML)
#EndSubRoutine

#DefineSubRoutine CrSpaces(n)
cSpace=""
For i=1 To n
   cSpace=cSpace:'&nbsp;'
Next
Return(cSpace)
#EndSubRoutine

Return
;/////////////////////////////////////////////////////////////////////////////////////////////

Article ID:   W17785
Filename:   Scrollable Dialog using MSHTML.txt
File Created: 2011:10:27:09:10:42
Last Updated: 2011:10:27:09:10:42