M Method Medlem sedan apr. 2001 357 inlägg Frågan 16 dec. 2001 16:13 #1 Istället för att försöka förklara mitt önskemål ger jag ett exempel med en gång.
Om jag exempelvis har textsträngen "h218n2fls31o920.telia.com " vill jag ta bort det som är innan första punkten i strängen. DVS i detta fallet "h218n2fls31o920." och sedan spara "telia.com " till databasen.
Skall vara till en besöksräknare om någon redan har en färdig funktion för detta mottas denna med tacksamhet.
------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd
S SPiN Medlem sedan mars 2000 7 896 inlägg Function CutIt ( ByVal strHost )
Dim arrHost, strResult
arrHost = Split ( strHost, "." )
strResult = arrHost ( 1 ) & "." & arrHost ( 2 )
CutIt = strResult
End Function
:q
Man kan ju göra på flera sätt, t.ex. ta ut positionen för första punkten och räkna efter den.
------------------
SPiN, bjorne.w@telia.com
-- En ask vet jag stånda - den Yggdrasil heter, ett väldigt träd överöst av vita sanden. --
M Method Medlem sedan apr. 2001 357 inlägg Får det inte att funka riktigt.
Har följande kod som jag ska använda:
sub get20
Dim DNS
Dim A
Set DNS = Server.CreateObject("ASPDNS.DNSLookup")
strSQL = "Select top 60 dtm, ip, klient, referer from logg order by dtm desc"
set objRs = objConn.execute(strSQL)
response.write "<table border='1' cellspacing='0' cellpadding='1'><tr><td class='text'><b>Datum</b></td>" &_
"<td class='text'><b>Ipnummer</b></td><td class='text'><b>Klientinfo</b></td><td class='text'><b>Kom ifrån...</b></td></tr>"
do until objRs.eof
A = DNS.GetNameFromIP( objRs( "ip" ) )
response.write "<tr><td class='smal_text'>" & formatdatetime( objRs( "dtm" ), 0) & "</td><td class='smal_text'><a href=http://" & objRs( "ip" ) &_
">" & objRs( "ip" ) &"</a></td><td class='smal_text'>"& A &"</td><td class='smal_text'>" & objRs( "klient" ) & "</td><td class='smal_text'><a href=" & objRs( "referer" ) & " target=blank>" & objRs( "referer" ) & "</a> </td></tr>"
objRs.movenext
loop
response.write "</table>"
set objRs = nothing
end sub
Set DNS = Nothing
------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd
Brimba Medlem sedan dec. 1999 5 874 inlägg Kan det vara såhär du menar?
sub get20
Dim DNS
Dim A
Set DNS = Server.CreateObject("ASPDNS.DNSLookup")
strSQL = "Select top 60 dtm, ip, klient, referer from logg order by dtm desc"
set objRs = objConn.execute(strSQL)
response.write "<table border='1' cellspacing='0' cellpadding='1'><tr><td class='text'><b>Datum</b></td>" &_
"<td class='text'><b>Ipnummer</b></td><td class='text'><b>Klientinfo</b></td><td class='text'><b>Kom ifrån...</b></td></tr>"
do until objRs.eof
CutIt(A) = DNS.GetNameFromIP( objRs( "ip" ) )
response.write "<tr><td class='smal_text'>" & formatdatetime( objRs( "dtm" ), 0) & "</td><td class='smal_text'><a href=http://" & objRs( "ip" ) &_
">" & objRs( "ip" ) &"</a></td><td class='smal_text'>"& A &"</td><td class='smal_text'>" & objRs( "klient" ) & "</td><td class='smal_text'><a href=" & objRs( "referer" ) & " target=blank>" & objRs( "referer" ) & "</a> </td></tr>"
objRs.movenext
loop
response.write "</table>"
set objRs = nothing
end sub
Set DNS = Nothing
------------------
Mvh
Patrik aka Brimba
S SPiN Medlem sedan mars 2000 7 896 inlägg Den här raden:
CutIt(A) = DNS.GetNameFromIP( objRs( "ip" ) )
Borde se ut så här:
A = CutIt ( DNS.GetNameFromIP ( objRs ( "ip" ) ) )
------------------
SPiN, bjorne.w@telia.com
-- En ask vet jag stånda - den Yggdrasil heter, ett väldigt träd överöst av vita sanden. --
Brimba Medlem sedan dec. 1999 5 874 inlägg LOL!!!!!!!!!!!!!!!!!!!
------------------
Mvh
Patrik aka Brimba
Brimba Medlem sedan dec. 1999 5 874 inlägg Såhär skall det alltså vara, med funktion inbakad och allt :)
Function CutIt ( ByVal strHost )
Dim arrHost, strResult
arrHost = Split ( strHost, "." )
strResult = arrHost ( 1 ) & "." & arrHost ( 2 )
CutIt = strResult
End Function
sub get20
Dim DNS
Dim A
Set DNS = Server.CreateObject("ASPDNS.DNSLookup")
strSQL = "Select top 60 dtm, ip, klient, referer from logg order by dtm desc"
set objRs = objConn.execute(strSQL)
response.write "<table border='1' cellspacing='0' cellpadding='1'><tr><td class='text'><b>Datum</b></td>" &_
"<td class='text'><b>Ipnummer</b></td><td class='text'><b>Klientinfo</b></td><td class='text'><b>Kom ifrån...</b></td></tr>"
do until objRs.eof
A = CutIt(DNS.GetNameFromIP( objRs( "ip" ) ))
response.write "<tr><td class='smal_text'>" & formatdatetime( objRs( "dtm" ), 0) & "</td><td class='smal_text'><a href=http://" & objRs( "ip" ) &_
">" & objRs( "ip" ) &"</a></td><td class='smal_text'>"& A &"</td><td class='smal_text'>" & objRs( "klient" ) & "</td><td class='smal_text'><a href=" & objRs( "referer" ) & " target=blank>" & objRs( "referer" ) & "</a> </td></tr>"
objRs.movenext
loop
response.write "</table>"
set objRs = nothing
end sub
Set DNS = Nothing
------------------
Mvh
Patrik aka Brimba
M Method Medlem sedan apr. 2001 357 inlägg OK jag vet inte vem som har rätt men kör jag Brimbas kod får jag följande fel
Microsoft VBScript runtime error '800a0009'
Subscript out of range: '[number: 1]'
/exclude/stats/Default.asp, line 16
Rad 16 är följande:
strResult = arrHost ( 1 ) & "." & arrHost ( 2 )
------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd
Brimba Medlem sedan dec. 1999 5 874 inlägg Ok, såhär är det.
På det objektet du får ut "h218n2fls31o920.telia.com ", skall du köra funktionen CutIt().
Nu gissade jag på att det var DNS.GetNameFromIP( objRs( "ip" ) ), men det kan mycket väl vara fel.
------------------
Mvh
Patrik aka Brimba
L LarsG Medlem sedan dec. 2000 12 464 inlägg Då ser det ut som om den sträng du skickar till funktionen inte innehåller några punkter.
Vad vill du ha tillbaka i det fallet?
Vad skall hända om strängen innehåller mer än 2 punkter?
------------------
essentitia preter non sans multiplicandum
M Method Medlem sedan apr. 2001 357 inlägg OK sorry mitt fel
Först har jag ip:t, sen gör jag en reverse lookup, då är det inte säkert att den hittar något domännamn och då skriver den en sträng utan punkter att det inte fanns ett domännamn.
På LarsG:s fråga den ska bara klippa tom första punkten
Exempel "www.sth.bdab.nu " skall bli "sth.bdab.nu "
Jag vet jag är lite jobbig
------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd
[Redigerat av Method den 16 dec 2001]
L LarsG Medlem sedan dec. 2000 12 464 inlägg Då är det väl enklast att skriva så här
Function CutIt ( ByVal strHost )
CutIt = mid(strHost,instr(strHost,".")+1)
End Function
och då är det knappt någon ide att göra en egen funktion av det.
------------------
essentitia preter non sans multiplicandum
M Method Medlem sedan apr. 2001 357 inlägg Funkar bra nu thx
------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd