Link to home
Create AccountLog in
Avatar of mcrmg
mcrmg

asked on

Class in vbscript

Hi,

I would like to use this code, how can I pass an IP to the function?  thx
<%


class browserLocaleObject

public ip
public countryCode
public countryName
public regionCode
public regionName
public city
public zipPostalCode
public latitude
public longitude
public timeZone
public GMTOffset
public DSTOffset


private sub Class_Initialize
Dim objXMLHTTP
Dim coordinates
Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")
 ip = Request.ServerVariables("REMOTE_ADDR")


Response.Write ip
' objXMLHTTP.Open "GET", "http://api.hostip.info/?ip="&ip, False
objXMLHTTP.Open "GET", "http://ipinfodb.com/ip_query.php?ip="&ip, False
objXMLHTTP.Send
Set xmldoc = objXMLHTTP.responseXML
on error resume next
' countryCode = xmldoc.selectSingleNode("HostipLookupResultSet/gml:featureMember/Hostip/gml:name").text
countryCode = xmlDoc.documentElement.selectSingleNode("CountryCode").text
countryName = xmlDoc.documentElement.selectSingleNode("CountryName").text
regionCode = xmlDoc.documentElement.selectSingleNode("RegionCode").text
regionName = xmlDoc.documentElement.selectSingleNode("RegionName").text
city = xmlDoc.documentElement.selectSingleNode("City").text
zipPostalCode = xmlDoc.documentElement.selectSingleNode("ZipPostalCode").text
latitude = xmlDoc.documentElement.selectSingleNode("Latitude").text
longitude = xmlDoc.documentElement.selectSingleNode("Longitude").text
timeZone = xmlDoc.documentElement.selectSingleNode("Timezone").text
GMTOffset = xmlDoc.documentElement.selectSingleNode("Gmtoffset").text
DSTOffset = xmlDoc.documentElement.selectSingleNode("Dstoffset").text
set objXMLHTTP=Nothing
End Sub


Public Sub Spill
Dim out
out = "<table id=""tSpill"">"
out = out & "<colgroup><col id=""cLeft""><col id=""cRight""></colgroup>"
out = out & "<tr><td>IP</td><td>" & ip & "</td></tr>"
out = out & "<tr><td>Country Code</td><td>" & countryCode & "</td></tr>"
out = out & "<tr><td>Country Name</td><td>" & countryName & "</td></tr>"
out = out & "<tr><td>Region Code</td><td>" & regionCode & "</td></tr>"
out = out & "<tr><td>Region Name</td><td>" & regionName & "</td></tr>"
out = out & "<tr><td>City</td><td>" & city & "</td></tr>"
out = out & "<tr><td>ZipPostalCode</td><td>" & zipPostalCode & "</td></tr>"
out = out & "<tr><td>Latitude</td><td>" & latitude & "</td></tr>"
out = out & "<tr><td>Longitude</td><td>" & longitude & "</td></tr>"
out = out & "<tr><td>Timezone</td><td>" & timeZone & "</td></tr>"
out = out & "<tr><td>GMT Offset</td><td>" & GMTOffset & "</td></tr>"
out = out & "<tr><td>DST Offset</td><td>" & DSTOffset & "</td></tr>"
out = out & "</table>"
Response.Write out 
End Sub
End class

Dim browserLocale
Set browserLocale = new browserLocaleObject
%>

Open in new window

Avatar of strickdd
strickdd
Flag of United States of America image

Function MyFucntion(param1, param2)

End Function
Avatar of mcrmg
mcrmg

ASKER

this is what I have

I can pass the IP, but how can I get the ip within the class?  thx
Public Sub setMyIP(vCriteria) 
	getIP = vCriteria
End Sub

Public Property Let getIP(sIP) 
    ipinit = sIP
    Response.Write "LET:" & ipinit & "<BR>"
End Property 

Public Property Get getIP() 
    getIP = getIP
End Property 





browserLocale.setMyIP("12.34.56.78")

Open in new window

If you are wanting to specify a Property, it is like this:

        Public Property Let IPAddress(inValue)
            ip = inValue
      End Property
      Public Property Get IPAddress()
            IPAddress= ip
      End Property

To reference it in the class, you can just use the variable "ip"
Avatar of mcrmg

ASKER

okay, it can print out ip in LET, but it is empty in GET,

private sub Class_Initialize
Dim objXMLHTTP
Dim coordinates
Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")
 'ip = Request.ServerVariables("REMOTE_ADDR")


Response.Write IPAddress

thx
Public Property Let IPAddress(inValue)
      ip = inValue
      Response.Write "LET:" & ip & "<BR>"
End Property

Public Property Get IPAddress()
      IPAddress= ip
      Response.Write "GET:" & IPAddress & "<BR>"
End Property

Open in new window

Avatar of mcrmg

ASKER

I am sorry, I just realized that it is still not working.  I can get ip in class except in private sub Class_Initialize, any ideas?  thx
The Class_Initialize function is called before setting the IPAddress property and is used to set the default values of the variables in the class. I believe you can create a constructor for the class that takes in the IPAddress value and sets the property.
Avatar of mcrmg

ASKER

is there a way that u can show me how to do this?  

btw, I have requested to reopen this q..thx
ASKER CERTIFIED SOLUTION
Avatar of strickdd
strickdd
Flag of United States of America image

Link to home
membership
Create an account to see this answer
Signing up is free. No credit card required.
Create Account