Sök  
 
Skribent Inlägget Löst
Google
 
     

  Forum » ASP » regexp + dim  
 
Skriven av: hottetotte | den 23 maj 2012 Kl 17:48
regexp + dim
Hej!
Jag hämtar hem ett värde (siffra) från en sida. Beroende på vilken siffra som hämtas med regexp vill jag kunna lägga ut en bild.
Koden nedan funkar inte (det var ett försök), och jag vet inte hur man ska koda.
Det blir felmeddelande

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'hittade'


Kod:

<%

Set objHTTP = Server.CreateObject("MSXML2.XMLHTTP")

objHTTP.Open "GET","http://www.dalarna.se/sv/Hotell/Kriswebb/Om-kriswebben/Brandriskprognos/", False

objHTTP.Send
strHTML=objHTTP.responseText
Set objHTTP = Nothing


Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
objRegExp.Pattern = "<td.*?>.*?</td>"
Set hittade = objRegExp.Execute(strHTML)

Set hittade = objRegExp.Execute(strHTML)
  
Response.Write " " & hittade(9) & " <br>"
  
Set hittade = Nothing


Dim brandrisk

brandrisk = hittade(9)

If brandrisk <=5 Then
Response.write("<img src='brandrisk4.png'>")

ElseIf brandrisk >5 Then
Response.write("<img src='brandrisk5.png'>")

Else
Response.write "-"

End If

%>



Antal svar 18



NAVIGERING: 1 [2]
Skriven av: hottetotte | den 25 maj 2012 Kl 19:59

"Båda" betyder två. På två ställen i koden ska du byta ut hittade(9) till hittade(9).Value ;)

Fungerar det här?


Nä, det fungerade inte.
Skriven av: hottetotte | den 25 maj 2012 Kl 20:21
Jag har kodat så här nu:
Kod:

<%

Set objHTTP = Server.CreateObject("MSXML2.XMLHTTP")

objHTTP.Open "GET","http://www.dalarna.se/sv/Hotell/Kriswebb/Om-kriswebben/Brandriskprognos/", False

objHTTP.Send
strHTML=objHTTP.responseText
Set objHTTP = Nothing


Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
objRegExp.Pattern = "<td.*?>.*?</td>"
Set hittade = objRegExp.Execute(strHTML)

Set hittade = objRegExp.Execute(strHTML)
  
Response.Write " " & hittade(9).Value & " <br>"
  
Set hittade = Nothing


Dim brandrisk

brandrisk = "hittade(9).Value"

If brandrisk <= "5" Then
Response.write("<img src='brandrisk4.png'>")

ElseIf brandrisk >"5" Then
Response.write("<img src='brandrisk5.png'>")

Else
Response.write "-"

End If

%>



Det fungerar nästan, förutom att bilden inte visas, trots att den är uppladdad till webhotellet.
Skriven av: hottetotte | den 27 maj 2012 Kl 21:15
Nån som har en idé om vad som är felet?
Skriven av: voigtan1 | den 27 maj 2012 Kl 21:38
du kan ju börja med att sätta brandrisk = "hittade(9).Value" till vad hittade(9).value är och inte en sträng som har värdet "hittade(9).Value" och du få köra den innan du sätter "hittade" till nothing (dock retunera den <td>5</td> och inte ett nummer)

och om du gemför tal (större eller mindre än osv) se då till att typkonvertera värderna

Kod:
<%
Dim objHTTP, strHTML, hittade, objRegExp, brandrisk
Set objHTTP = Server.CreateObject("MSXML2.XMLHTTP")

objHTTP.Open "GET","http://www.dalarna.se/sv/Hotell/Kriswebb/Om-kriswebben/Brandriskprognos/", False

objHTTP.Send
strHTML=objHTTP.responseText
Set objHTTP = Nothing

Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
objRegExp.Pattern = "<td.*?>(.*?)</td>"
Set hittade = objRegExp.Execute(strHTML)

brandrisk = hittade(9).SubMatches(0)
  
Set hittade = Nothing

If brandrisk <= 5 Then
    Response.Write("<img src='brandrisk4.png'>")
ElseIf brandrisk > 5 Then
    Response.Write("<img src='brandrisk5.png'>")
Else
    Response.Write "-"
End If

%>

borde fungera bättre
Skriven av: hottetotte | den 30 maj 2012 Kl 07:22
Tack, nu fungerar det.
Skriven av: hottetotte | den 27 maj 2013 Kl 19:17
Hej igen!

Koden nedan har fungerat fint när brandrisk har varit en siffra (mellan 1 till 5).
Nu kan brandrisken vara till exempel 1-3, och då fungerar inte koden nedan.
Hur ska man koda så det fungerar?
Kod:

<%
Dim objHTTP, strHTML, hittade, objRegExp, brandrisk
Set objHTTP = Server.CreateObject("MSXML2.XMLHTTP")

objHTTP.Open "GET","http://www.dalarna.se/brandrisk&quot;, False

objHTTP.Send
strHTML=objHTTP.responseText
Set objHTTP = Nothing

Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
objRegExp.Pattern = "<p.*?>(.*?)</p>"
Set hittade = objRegExp.Execute(strHTML)

brandrisk = hittade(10).SubMatches(0)
  
Set hittade = Nothing

If brandrisk = 1 Then
  Response.Write("<img src='brandrisk1.png'>")
ElseIf brandrisk = 2 Then
  Response.Write("<img src='brandrisk2.png'>")
ElseIf brandrisk = 3 Then
  Response.Write("<img src='brandrisk3.png'>")
ElseIf brandrisk = 4 Then
  Response.Write("<img src='brandrisk4.png'>")
ElseIf brandrisk = 5 Then
  Response.Write("<img src='brandrisk5.png'>")
Else
  Response.Write "-"
End If

%>

Skriven av: hottetotte | den 27 maj 2013 Kl 19:17
Hej igen!

Koden nedan har fungerat fint när brandrisk har varit en siffra (mellan 1 till 5).
Nu kan brandrisken vara till exempel 1-3, och då fungerar inte koden nedan.
Hur ska man koda så det fungerar?
Kod:

<%
Dim objHTTP, strHTML, hittade, objRegExp, brandrisk
Set objHTTP = Server.CreateObject("MSXML2.XMLHTTP")

objHTTP.Open "GET","http://www.dalarna.se/brandrisk&quot;, False

objHTTP.Send
strHTML=objHTTP.responseText
Set objHTTP = Nothing

Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
objRegExp.Pattern = "<p.*?>(.*?)</p>"
Set hittade = objRegExp.Execute(strHTML)

brandrisk = hittade(10).SubMatches(0)
  
Set hittade = Nothing

If brandrisk = 1 Then
  Response.Write("<img src='brandrisk1.png'>")
ElseIf brandrisk = 2 Then
  Response.Write("<img src='brandrisk2.png'>")
ElseIf brandrisk = 3 Then
  Response.Write("<img src='brandrisk3.png'>")
ElseIf brandrisk = 4 Then
  Response.Write("<img src='brandrisk4.png'>")
ElseIf brandrisk = 5 Then
  Response.Write("<img src='brandrisk5.png'>")
Else
  Response.Write "-"
End If

%>

Skriven av: voigtan1 | den 27 maj 2013 Kl 20:39
Det kommer ge dig en sträng på "1-3" så lägg in det i din if fråga var du vill att den skall skrivas ut på.
NAVIGERING: 1 [2]
 
     

  Svara på inlägg  
 
Du måste vara medlem på ASPsidan för att kunna skriva i forumet.
För att bli medlem klicka här.
 
     

  » Logga in  
 
Användarnamn

Lösenord

 
     

  » Bli medlem  
  Bli medlem på ASPsidan!  
     

     
  Microsoft  
     

  » Partners  
  Comsolvia  
     
  » ANNONS  
  ingen annons än  
     

  » Senast online  
  Endast för inloggade  
  Antal inloggade: 1  
     

Copyright © 2007 www.ASPsidan.se
ingen sponsrar längre ASPsidan med Dedikerad Server
ASPsidan RSS
   
 XHTML / CSS
Det tog 0,5000 sekunder att ladda sidan