'
' Common - Common declarations and functions
'
' Author: Joe Strazzere
'
' General tables used during CaptureHTMLTable() and any other place needed
'
Dim tabcell$(5000)
Dim tabcell2$(100)
Dim tabcell3$(100)
Dim tabcell4$(100)
Dim tabcell5$(100)
Dim WaitForCountTab$(100)
dim CLFortune100DUNs$(1000)
dim CLFortune100Name$(1000)
dim CLFortune100Addr$(1000)
dim CLFortune100PhysAddr$(1000)
'
' Logging wrapper functions
'
Function LogLog(text$)
Pause 1 secs
StartBrowser("IE","http://www.blogger.com/'http://zapleads.%22+site$+%22zapdata.com/zadm0n/log.jsp?msg=["+initials$+"+"+Time$()+"]:+"+text$+"&level=severe'")
UseWindow("IEXPLORE.EXE|IEFrame|http://zapleads."+site$+"zapdata.com/zadm0n/log.jsp",1)
CloseBrowser()
'EndIf
Pause 1 secs
EndFunction
Function LogError(text$)
Comment("***** Error : "+text$+" *****")
EndFunction
Function LogComment(text$)
Comment(text$)
MsgFrame("Next : "+text$,1,0,0)
EndFunction
Function LogWarning(text$)
Comment("..... "+text$+ " ?????")
EndFunction
Function LogNote(text$)
Comment("..... "+text$)
EndFunction
'
' Snap-and-Compare function
'
' Select all the text from a web page
' Strip out the release-specific text at the bottom
' Store it in a file
' Compare the file to a baseline version of the same file (if one exists)
' If the two files don't match, then declare an error, and leave the newly-created file in the result folder
' If the two files match, delete the newly-created file from the result folder
' If there is no baseline, note that fact and leave the newly-created file in the resut folder
Function Snap(file$)
Pause 3 secs
hWnd=External("user32","GetForegroundWindow")
UseWindowHandle(hWnd)
'Click into the main client area
ClickMouse(Left,Down,200,100)
ClickMouse(Left,Up,200,100)
'Select all text
SendKeys("<Ctrl a><Ctrl c>")
pause 3 secs
a$=GetClipBoard$()
' If Instr(a$,"imarket") <> 0 then
' MsgBox("===== WHILE SNAPPING "+file$+" WE ENCOUNTERED imarket! =====")
' Endif
' If Instr(a$,"a leading") <> 0 then
' MsgBox("===== WHILE SNAPPING "+file$+" WE ENCOUNTERED a leading! =====")
' Endif
' If the page has the Release Number-specific text at the bottom
' strip it off
b=InStr(a$,"RELEASE NUM:")
if b = 0 then
b=len(a$)
else
b=b-1
endif
a=len(a$)
test$=Left$(a$,b)
'If the file exists in the result folder, delete it
if exist(respath$+file$) then
kill(respath$+file$)
endif
'Compare to base if it exists
if exist(exppath$+file$) then
read(exppath$+file$,base$)
pause 1 secs
if base$ = test$ then
LogNote(file$+" is the same")
else
LogWarning(file$+" is different!")
Write(respath$+file$,test$)
endif
else
LogNote(file$+" has no baseline. Leaving results.")
Write(respath$+file$,test$)
endif
endfunction
'
' Snap-and-Compare function for Summary files
'
' Same as regular Snap except
' Strip out the User Name and Date portions at the top
Function SnapSummary(file$)
Pause 3 secs
hWnd=External("user32","GetForegroundWindow")
UseWindowHandle(hWnd)
'Click into the main client area
ClickMouse(Left,Down,200,100)
ClickMouse(Left,Up,200,100)
'Select all text
SendKeys("<Ctrl a><Ctrl c>")
pause 3 secs
a$=GetClipBoard$()
b=InStr(a$,"Count:")
test$=Right$(a$,((Len(a$) - b)+1))
'If the file exists in the result folder, delete it
if exist(respath$+file$) then
kill(respath$+file$)
endif
'Compare to base if it exists
if exist(exppath$+file$) then
read(exppath$+file$,base$)
pause 1 secs
if base$ = test$ then
LogNote(file$+" is the same")
else
LogError(file$+" is different!")
Write(respath$+file$,test$)
endif
else
LogNote(file$+" has no baseline. Leaving results.")
Write(respath$+file$,test$)
endif
endfunction
'
' Different Snap for Help files.
'
' area$=CONTENTS -> snap the contents panel
' area$=INDEX -> snap the index panel
' area$=other -> snap the help page itself
'
Function SnapHelp(file$,area$)
Pause 3 secs
hWnd=External("user32","GetForegroundWindow")
UseWindowHandle(hWnd)
Select Case UCase$(area$)
Case "CONTENTS"
ClickMouse(Left,Down,100,130)
ClickMouse(Left,Up,100,130)
SendKeys("<Ctrl a><Ctrl c>")
pause 3 secs
test$=GetClipBoard$()
Case "INDEX"
ClickMouse(Left,Down,160,190)
ClickMouse(Left,Up,160,190)
SendKeys("<End>")
pause 3 secs
SendKeys("<Ctrl a><Ctrl c>")
pause 3 secs
test$=GetClipBoard$()
Case Else
ClickMouse(Left,Down,500,100)
ClickMouse(Left,Up,500,100)
SendKeys("<Ctrl a><Ctrl c>")
pause 3 secs
test$=GetClipBoard$()
endSelect
'If the file exists in the result folder, delete it
if exist(respath$+file$) then
kill(respath$+file$)
endif
'Compare to base if it exists
if exist(exppath$+file$) then
read(exppath$+file$,base$)
pause 1 secs
if base$ = test$ then
LogNote(file$+" is the same")
else
LogError(file$+" is different!")
Write(respath$+file$,test$)
endif
else
LogNote(file$+" has no baseline. Leaving results.")
Write(respath$+file$,test$)
endif
endfunction
'
' Snap-and-Compare function for PL frame
'
' Same as regular Snap except
' Strip out the User Name and Date portions at the top
Function SnapPL(file$)
Pause 3 secs
hWnd=External("user32","GetForegroundWindow")
UseWindowHandle(hWnd)
'Click into the main client area
ClickMouse(Left,Down,200,200)
ClickMouse(Left,Up,200,200)
'Select all text
SendKeys("<Ctrl a><Ctrl c>")
pause 3 secs
a$=GetClipBoard$()
' If Instr(a$,"imarket") <> 0 then
' MsgBox("===== WHILE SNAPPING "+file$+" WE ENCOUNTERED imarket! =====")
' Endif
' If Instr(a$,"a leading") <> 0 then
' MsgBox("===== WHILE SNAPPING "+file$+" WE ENCOUNTERED a leading! =====")
' Endif
' If the page has the Release Number-specific text at the bottom
' strip it off
b=InStr(a$,"RELEASE NUM:")
if b = 0 then
b=len(a$)
else
b=b-1
endif
a=len(a$)
test$=Left$(a$,b)
'If the file exists in the result folder, delete it
if exist(respath$+file$) then
kill(respath$+file$)
endif
'Compare to base if it exists
if exist(exppath$+file$) then
read(exppath$+file$,base$)
pause 1 secs
if base$ = test$ then
LogNote(file$+" is the same")
else
LogError(file$+" is different!")
Write(respath$+file$,test$)
endif
else
LogNote(file$+" has no baseline. Leaving results.")
Write(respath$+file$,test$)
endif
endfunction
' GetStatic$() function - Get the static text within a popup error message dialog
'
' Strategy - We get the Handle to the icon, then get the handle to its sibling window
' In this case, the sibling to the icon is the Static text
' Then, using the handle we can get the WinTask window name and capture the text
'
' Function Prototype for the GetWindow Win32 API call (from Win32API.TXT) -
' Declare Function GetWindow Lib "user32" Alias "GetWindow" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
'
' GetWindow() Constants
' Const GW_HWNDFIRST = 0
' Const GW_HWNDLAST = 1
' Const GW_HWNDNEXT = 2
' Const GW_HWNDPREV = 3
' Const GW_OWNER = 4
' Const GW_CHILD = 5
' Const GW_MAX = 5
'
Function GetStatic$()
UseWindow("IEXPLORE.EXE|#32770|Microsoft Internet Explorer",1)
hwnd=GetWindowHandle("IEXPLORE.EXE|Static|Microsoft Internet Explorer|1",1) ' Get the handle of the Icon
mywnd=External("user32","GetWindow", hwnd, 2) ' Get the handle of the Static text (2 = GW_HWNDNEXT)
myname$=GetWindowName$(mywnd) ' Using the handle, get the Window Name of the Static text
GetStatic$=Capture$(myname$,1,1) ' Now we can Capture the text of the Static text
endfunction
' WaitForCount() function - Safely waits until the count is complete before proceeding
Function WaitForCount(WhichTable$)
Local ret
#IgnoreErrors=1
ret = -1
while ret < 0
ret = CaptureTableHTML("TABLE[CONTENT='"+WhichTable$+"']", "R1C1:R1C1", WaitForCountTab$())
pause 1 secs
wend
#IgnoreErrors=0
pause 3 secs
EndFunction
' IsSecure() function - check if the current page is secure (https)
Function IsSecure()
UseWindow("IEXPLORE.EXE|Edit||1",1)
SendKeys("<Shift <End>><Ctrl c>")
If Left$(GetClipboard$(),5) = "https" then
IsSecure = 1
else
IsSecure = 0
EndIf
EndFunction