Avatar billede aero Nybegynder
25. december 2005 - 14:49 Der er 18 kommentarer og
1 løsning

hvad har jeg glemt eller gjort forkert i denne opsætning

Har et side der henter et link fra en db så opretter den en liste ud fra linket og gå så videre til næste link i min db men den kommer med en fejl:
....link....
http://www.billundfodbold.dk/bif/team&results/get_main_results_to_db2.asp

....fejl....
Microsoft VBScript runtime error '800a0005'

Invalid procedure call or argument: 'instr'

/bif/team&results/get_main_results_to_db2.asp, line 50

....linje er....
Read = instr(Read,strResult,"</table")

....Side code....
Call OpenDB

strSQL = "SELECT [T_ID], [Te_Li2] FROM List"
strSQL = strSQL & " WHERE [Te_Li2] NOT LIKE '%program%'"
strSQL = strSQL & " AND [Te_Li2] NOT LIKE '%position%'"
strSQL = strSQL & " ORDER BY [T_ID] ASC;"
Set objRS = objConn.Execute(strSQL)

  Do While Not objRS.EOF
 
  strLi = objRS("Te_Li2")
 
  Set re = New RegExp
  re.Global = True
  re.Pattern = "teamid=(\d+)&poolid=(\d+)"

  Set matches = re.Execute(strLi)

  For Each m In matches
    strtid = m.SubMatches(0)
    strpid = m.SubMatches(1)
  Next
   
  Dim strResult
  strUr1 = "http://www.dbu.dk/sr/programTeam.aspx?teamid="
  strUr2 = "&poolid="
  strUr3 = "&year2005"
  strUr = strUr1&strtid&strUr2&strpid&strUr3
 
 
  Set HttpObj = Server.CreateObject("AspHTTP.Conn")
  HttpObj.Url = trim("  "&strUr&"  ")
  HttpObj.FollowRedirects = True
  HttpObj.RequestMethod = "GET"
  HttpObj.UserAgent = "Mozilla/2.0 (compatible; MSIE 3.0B; Windows NT)"
  strResult = HttpObj.GetURL

  Dim Read, ReadEnd, Matchnumber, MatchdateTeam, Hometeam, Awayteam, Playground, Score

    Read = instr(1,strResult,"PROGRAM START")
    Read = instr(Read,strResult,"</table")

    while Read > 0
      Matchnumber = "&nbsp;"
      Matchdate = "&nbsp;"
      Hometeam = "&nbsp;"
      Awayteam = "&nbsp;"
      Playground = "&nbsp;"
      Score "&nbsp;"

      Read = instr(Read,strResult,"linkul") + 8
      ReadEnd = instr(Read,strResult,"<")
      Matchnumber = mid(strResult,Read,ReadEnd-Read)

      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Matchdate = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Hometeam = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Awayteam = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<span")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Playground = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Score = mid(strResult,Read,ReadEnd-Read)

      Read = instr(Read,strResult,"<table")
    wend
    Response.Write (Matchnumber&" "&MatchdateTeam&" "&Hometeam&" "&Awayteam&" "&Playground&" "&Score&"<br>")
    objRS.MoveNext
    Loop
    Response.Write ("<br><br><br>")
  Set HttpObj = nothing
Call CloseDB
Avatar billede eagleeye Praktikant
25. december 2005 - 15:20 #1
Den fejl vil topisk komme hvis enten read er 0 eller strResult er null. Så det er nok det første. Prøv evt. at tjekke om Read bliver hendtet rigtigt ud fra den linje som er lige før, det er den som søger efter "PROGRAM START". Husk også på at inStr søger er casesensitiv som default hvis der står "Program Start" vil den ikke finde det. Man kan sætte ,1 på instr så den ikke er casesensitiv eks:

    Read = instr(1,strResult,"PROGRAM START",1)
    Read = instr(Read,strResult,"</table")
Avatar billede aero Nybegynder
25. december 2005 - 16:02 #2
Hej Eagleeye
til at starte på så håber du har haft en go jul ^^

når men hvis vi nu siger at den finder frem til at den skal hente data fra denne side:
http://www.dbu.dk/sr/programTeam.aspx?teamid=11753&poolid=15412&year=2005
så hvis du kigger på den så kan du se at i kilde så står "PROGRAM START" som "PROGRAM START" og den skal først starte efter den første </tabel så fortsår ikke hvorfor det ville virker da jeg har 2 andre som virker med det ASPHTTP og har rettet &year2005 til &year=2005 men får samme fejl..

kan du evt se hvad der kunne skyldes ellers !?
Avatar billede eagleeye Praktikant
25. december 2005 - 16:11 #3
Ok det kan jeg godt se det står på den måde.

Prøv evt. at udskrive det du henter og ligger i strResult måske der går noget galt i det du modtager?
Avatar billede eagleeye Praktikant
25. december 2005 - 16:16 #4
Hvis det link du bygger op ikke passer så indeholder siden sikkert ikke "PROGRAM START" ??

Du kan evt. prøve at tjkke på read:

Read = instr(1,strResult,"PROGRAM START",1)
if read = 0 then
  response.wrtie "read = 0"
  response.end 'stopper koden
end if
Avatar billede aero Nybegynder
25. december 2005 - 16:55 #5
hmmm hvis du tjekker linket:
http://www.billundfodbold.dk/bif/team&results/get_main_results_to_db2.asp

så siger den "read = 0" så den kan jo ikke finde det jeg har så laver en response.write på strUrl også og der tager den ikke talne fra:

  strLi = objRS("Te_Li2")
 
  Set re = New RegExp
  re.Global = True
  re.Pattern = "teamid=(\d+)&poolid=(\d+)"

  Set matches = re.Execute(strLi)

  For Each m In matches
    strtid = m.SubMatches(0)
    strpid = m.SubMatches(1)
  Next

som den skal hvordan kan jeg efter tage et link fra min DB

/sr/teamInfo.aspx?teamid=13039&amp;poolid=5250&amp;year=2004

og så kunne tage tallet 13039 og 5250 ud af linket og sætte
strTid = tallet 13039 altså det efter teamid= i linket og
strPid = tallet 5250 altså det der er efter poolid= i linket.

for tror ikke min kode virker kan nemlig bruge de 2 tal fra mine link og de er altid efter teamid= og poolid= og så kan tallet så være fra 4-6 cifre.
Avatar billede eagleeye Praktikant
26. december 2005 - 01:03 #6
Jeg har lige været væk her til aften..

Så vidt jeg kan se er linket i databasen med  "&amp;" imellem de to variable i querystringen men det pattern du bruger i det regular expresstion er det kun "&" så prøve at rette denne linje

re.Pattern = "teamid=(\d+)&poolid=(\d+)"

Til denne så tager den højer for begge tilfælde enten "&amp;" eller "&":

re.Pattern = "teamid=(\d+).*poolid=(\d+)"
Avatar billede aero Nybegynder
26. december 2005 - 11:00 #7
Helt iorden EE ^^ frokosten 1. juledag skal jo også passes ^^.
Nu henter den første link som den skal og går lidt videre men laver en fejl ved linje 63. dog har det virket det med .* og ikke & som du skriver om, håber du lige vil hjælpe færdig så det virker med at hente dataen frem og vise det.

http://www.billundfodbold.dk/bif/team&results/get_main_results_to_db2.asp

....fejl kode....
Microsoft VBScript runtime error '800a000d'

Type mismatch

/bif/team&results/get_main_results_to_db2.asp, line 63

....linje 63....
Score "&nbsp;"

....code nu....
<%
Call OpenDB

strSQL = "SELECT [TID], [Link2] FROM List"
strSQL = strSQL & " WHERE [Link2] NOT LIKE '%program%'"
strSQL = strSQL & " AND [Link2] NOT LIKE '%position%'"
strSQL = strSQL & " ORDER BY [TID] ASC;"
Set objRS = objConn.Execute(strSQL)

  Do While Not objRS.EOF
 
  strL = objRS("Link2")
 
  Set re = New RegExp
  re.Global = True
  re.Pattern = "teamid=(\d+).*poolid=(\d+)"

  Set matches = re.Execute(strL)

  For Each m In matches
    strtid = m.SubMatches(0)
    strpid = m.SubMatches(1)
  Next
   
  Dim strResult
  strU1 = "http://www.dbu.dk/sr/programTeam.aspx?teamid="
  strU2 = "&poolid="
  strU3 = "&year=2004"
  strU = strU1&strt&strU2&strp&strU3
 
 
  Set HttpObj = Server.CreateObject("AspHTTP.Conn")
  HttpObj.Url = trim("  "&strU&"  ")
  HttpObj.FollowRedirects = True
  HttpObj.RequestMethod = "GET"
  HttpObj.UserAgent = "Mozilla/2.0 (compatible; MSIE 3.0B; Windows NT)"
  strResult = HttpObj.GetURL

  Dim Read, ReadEnd, Matchnumber, Matchdate, Hometeam, Awayteam, Playground, Score

    Read = instr(1,strResult,"PROGRAM START",1)
    if Read = 0 then
      response.write("read = 0")
      response.write(strU)
      response.end 'stopper koden
    end if
    Read = instr(Read,strResult,"</table")

    while Read > 0
      Matchnumber = "&nbsp;"
      Matchdate = "&nbsp;"
      Hometeam = "&nbsp;"
      Awayteam = "&nbsp;"
      Playground = "&nbsp;"
      Score "&nbsp;"

      Read = instr(Read,strResult,"linkul") + 8
      ReadEnd = instr(Read,strResult,"<")
      Matchnumber = mid(strResult,Read,ReadEnd-Read)

      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Matchdate = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Hometeam = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Awayteam = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<span")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Playground = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Score = mid(strResult,Read,ReadEnd-Read)

      Read = instr(Read,strResult,"<table")
    wend
    Response.Write (Matchnumber&" "&MatchdateTeam&" "&Hometeam&" "&Awayteam&" "&Playground&" "&Score&"<br>")
    objRS.MoveNext
    Loop
    Response.Write ("<br><br><br>")
  Set HttpObj = nothing
Call CloseDB
%>
Avatar billede eagleeye Praktikant
26. december 2005 - 11:22 #8
Der mangler vist et = med tegn i linjen:  Score "&nbsp;"

Så prøv at skrive:

Score = "&nbsp;"
Avatar billede aero Nybegynder
26. december 2005 - 11:38 #9
Tror det er ved at virke nu...og burde jeg havde set med det = he he ^^
Hvis du vil prøve at se linket sidste gang, så kan du se den er lidt tid om at loade da den har 48 link hvor den skal hente et program for hvert link. det er IKKE noget som en bruger vil komme til at se på det er noget en site admin evt køre 1-2 gange om året... men bør jeg lave en ekstra strSQL linje son henter evt 24 af de 48 link frem og så en ekstra side der henter resten frem og gemmer det hele i en db. eller kan jeg ændre tidsfaktoren så denne side bare henter alle 48 link/programmer frem og gemmer det i en db !? og hvordan kan jeg forlænge tidsfaktoren !?
Avatar billede eagleeye Praktikant
26. december 2005 - 11:50 #10
Jeg kan godt se den tager rimelig lang tid om at hente siden.

Du kan sætte et timeout for siden med:  Session.Timeout antal 'i minutter

Session.Timeout 15



Hvis du vil havde lidt status tilbage kan man sætte denne linje i toppe af filen
<% response.buffer = true %>

og når man vil skrive til browseren kan man skrive:
<%
Reponse.Write "Komme til nr. " & strid & "<br>"
Reponse.Flush 'Send besked til broseren
%>
Avatar billede aero Nybegynder
26. december 2005 - 12:16 #11
den kommer med en fejl ang. det session og hvor skal jeg sætte det flush ind henne !?
og vil du lægge et svar har ikke fået vist noget endnu men tror det er pga. den data mængde den skal hente..
Avatar billede eagleeye Praktikant
26. december 2005 - 12:21 #12
du sætter denne linje i toppen af filen:

<% response.buffer = true %>


Så kan du evt. rette disse linjer
    wend
    Response.Write (Matchnumber&" "&MatchdateTeam&" "&Hometeam&" "&Awayteam&" "&Playground&" "&Score&"<br>")
    objRS.MoveNext
    Loop


Til dette:

    wend
    Response.Write (Matchnumber&" "&MatchdateTeam&" "&Hometeam&" "&Awayteam&" "&Playground&" "&Score&"<br>")
    Reponse.Flush
    objRS.MoveNext
    Loop
Avatar billede aero Nybegynder
26. december 2005 - 15:35 #13
så jeg tilbage havde vrøvl med internet connec.

okay og tak, men hvad med den session !? hvor skal den være, for når jeg sætter den under response.buffer så laver den en fejl
Avatar billede aero Nybegynder
26. december 2005 - 16:57 #14
tror det er noget med den Next ved Submatch nu har jeg nemlig prøvet at KUN hente et link og det virker heller ikke for godt...
http://www.billundfodbold.dk/bif/team&results/get_main_program_to_db.asp?teamid=44

der henter den KUN et link og alligevel laver den fejl hvad tror du det kan skuldes hvis siden er dette..

...kode...

<%@ Language=VBScript %>
<% Response.Buffer = True %>
<%
Dim cnstDBPath
  cnstDBPath = ("..\conn.mdb")
  Dim strProvider
 
  Set objConn = Server.CreateObject("ADODB.Connection")
  strProvider = "" & "Provider=Microsoft.Jet.OLEDB.4.0;"
  strProvider = strProvider & "Data Source=" & cnstDBPath & ";"
  strProvider = strProvider & "Persist Security Info=False"
  objConn.Connectionstring = strProvider
  set fso = Server.CreateObject("Scripting.FileSystemObject")
  objConn.Open
 
Session("TEID") = Request.Querystring("teamid")

strSQL = "SELECT [Link2], [TID] FROM List"
strSQL = strSQL & " WHERE [TID] ="& Session("TEID")
Set objRS = objConn.Execute(strSQL)
 
  strL = objRS("Link2")
 
  Set re = New RegExp
  re.Global = True
  re.Pattern = "teamid=(\d+).*poolid=(\d+)"

  Set matches = re.Execute(strL)

  For Each m In matches
    strt = m.SubMatches(0)
    strp = m.SubMatches(1)
  Next
     
  Dim strResult
  strU1 = "http://www.dbu.dk/sr/programTeam.aspx?teamid="
  strU2 = "&poolid="
  strU3 = "&year=2004"
  strU = strU1&strt&strU2&strp&strU3
 
 
  Set HttpObj = Server.CreateObject("AspHTTP.Conn")
  HttpObj.Url = trim("  "&strU&"  ")
  HttpObj.FollowRedirects = True
  HttpObj.RequestMethod = "GET"
  HttpObj.UserAgent = "Mozilla/2.0 (compatible; MSIE 3.0B; Windows NT)"
  strResult = HttpObj.GetURL

  Dim Read, ReadEnd, Matchnumber, Matchdate, Hometeam, Awayteam, Playground, Score

    Read = instr(1,strResult,"PROGRAM START",1)
    Read = instr(Read,strResult,"</table")

    while Read > 0
      Matchnumber = "&nbsp;"
      Matchdate = "&nbsp;"
      Hometeam = "&nbsp;"
      Awayteam = "&nbsp;"
      Playground = "&nbsp;"
      Score = "&nbsp;"

      Read = instr(Read,strResult,"linkul") + 8
      ReadEnd = instr(Read,strResult,"<")
      Matchnumber = mid(strResult,Read,ReadEnd-Read)

      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Matchdate = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Hometeam = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Awayteam = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<span")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Playground = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Score = mid(strResult,Read,ReadEnd-Read)

      Response.Write (Matchnumber&" "&MatchdateTeam&" "&Hometeam&" "&Awayteam&" "&Playground&" "&Score&"<br>")
      Read = instr(Read,strResult,"<table")
    wend
  Set HttpObj = nothing
Call CloseDB
%>
Avatar billede eagleeye Praktikant
26. december 2005 - 18:50 #15
Det med session timeout kan sættes i toppen:

<%@ Language=VBScript %>
<% Response.Buffer = True %>
<% Session.TimeOut = 15 %>



Hvis det er den som driller så ret:

  For Each m In matches
    strt = m.SubMatches(0)
    strp = m.SubMatches(1)
  Next

Til dette da det også kun burgte være et match:

    strt = matches(0).SubMatches(0)
    strp = matches(0).SubMatches(1)



Det som måske driller kan være det store loop at Read altid er større end 0??

Du kan evt. prøve at rette:

    while Read > 0


Til dette så den stopper efter 100 gange:

    stopCount = 0
    while Read > 0 AND stopCount < 100
      stopCount = stopCount + 1
Avatar billede aero Nybegynder
26. december 2005 - 20:20 #16
Hej EE jeg gik hele sitet igennem og satte ' foran en del linjer og fjernede dem efterhånden som jeg kom videre uden fejl og så lavede jeg lidt om på det:

http://www.billundfodbold.dk/bif/team&results/get_main_results_to_db2.asp?page=40-33
http://www.billundfodbold.dk/bif/team&results/get_main_results_to_db2.asp?page=21-16
http://www.billundfodbold.dk/bif/team&results/get_main_results_to_db2.asp?page=14-10
http://www.billundfodbold.dk/bif/team&results/get_main_results_to_db2.asp?page=8-4

den henter alle nu men de forskellige link, jeg skal nok ikke gør så den henter alle på en gang..

men vil dog høre om du kan se noget jeg bør ændre i koden for evt at få den til at afvikle lidt hurtigere... eller lige komme med RIS/ROS ang. om det er en god måde at gøre det på så jeg ved det til anden gang..^^

Og ellers siger jeg mange tak alligevel..

....KODE....
<% Response.Buffer = True %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
Dim page
page = Request.QueryString("page")
Response.Buffer = True
Session.LCID = 1030
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>
<body>
<!--#include file="../dsn.asp"-->
<%
Call OpenDB

strSQL = "SELECT [TID], [Name], [Year], [Link2] FROM List"
if request.querystring("page") = "40-33" then
strSQL = strSQL & " WHERE [Link2] NOT LIKE '%program%'"
strSQL = strSQL & " AND [Link2] NOT LIKE '%position%'"
strSQL = strSQL & " AND [Year] NOT LIKE '21'"
strSQL = strSQL & " AND [Year] NOT LIKE '18'"
strSQL = strSQL & " AND [Year] NOT LIKE '16'"
strSQL = strSQL & " AND [Year] NOT LIKE '14'"
strSQL = strSQL & " AND [Year] NOT LIKE '12'"
strSQL = strSQL & " AND [Year] NOT LIKE '10'"
strSQL = strSQL & " AND [Year] NOT LIKE '8'"
strSQL = strSQL & " AND [Year] NOT LIKE '5'"
strSQL = strSQL & " AND [Year] NOT LIKE '4'"
elseif request.querystring("page") = "21-16" then
strSQL = strSQL & " WHERE [Link2] NOT LIKE '%program%'"
strSQL = strSQL & " AND [Link2] NOT LIKE '%position%'"
strSQL = strSQL & " AND [Year] NOT LIKE '40'"
strSQL = strSQL & " AND [Year] NOT LIKE '33'"
strSQL = strSQL & " AND [Year] NOT LIKE '14'"
strSQL = strSQL & " AND [Year] NOT LIKE '12'"
strSQL = strSQL & " AND [Year] NOT LIKE '10'"
strSQL = strSQL & " AND [Year] NOT LIKE '8'"
strSQL = strSQL & " AND [Year] NOT LIKE '5'"
strSQL = strSQL & " AND [Year] NOT LIKE '4'"
elseif request.querystring("page") = "14-10" then
strSQL = strSQL & " WHERE [Link2] NOT LIKE '%program%'"
strSQL = strSQL & " AND [Link2] NOT LIKE '%position%'"
strSQL = strSQL & " AND [Year] NOT LIKE '40'"
strSQL = strSQL & " AND [Year] NOT LIKE '33'"
strSQL = strSQL & " AND [Year] NOT LIKE '21'"
strSQL = strSQL & " AND [Year] NOT LIKE '18'"
strSQL = strSQL & " AND [Year] NOT LIKE '16'"
strSQL = strSQL & " AND [Year] NOT LIKE '8'"
strSQL = strSQL & " AND [Year] NOT LIKE '5'"
strSQL = strSQL & " AND [Year] NOT LIKE '4'"
elseif request.querystring("page") = "8-4" then
strSQL = strSQL & " WHERE [Link2] NOT LIKE '%program%'"
strSQL = strSQL & " AND [Link2] NOT LIKE '%position%'"
strSQL = strSQL & " AND [Year] NOT LIKE '40'"
strSQL = strSQL & " AND [Year] NOT LIKE '33'"
strSQL = strSQL & " AND [Year] NOT LIKE '21'"
strSQL = strSQL & " AND [Year] NOT LIKE '18'"
strSQL = strSQL & " AND [Year] NOT LIKE '16'"
strSQL = strSQL & " AND [Year] NOT LIKE '14'"
strSQL = strSQL & " AND [Year] NOT LIKE '12'"
strSQL = strSQL & " AND [Year] NOT LIKE '10'"
End If
strSQL = strSQL & " ORDER BY [TID] ASC;"
Set objRS = objConn.Execute(strSQL)

  Do While Not objRS.EOF
 
  Line = objRS("Link2")
  strT = objRS("Name")
 
  Response.Write(strT&"<br>")
  Set re = New RegExp
  re.Global = True
  re.Pattern = "teamid=(\d+).*poolid=(\d+)"

  Set matches = re.Execute(Line)

  For Each m In matches
    strt = m.SubMatches(0)
    strp = m.SubMatches(1)
  Next
     
  Dim strResult
  strU1 = "http://www.dbu.dk/sr/programTeam.aspx?teamid="
  strU2 = "&poolid="
  strU3 = "&year=2004"
   
  Set HttpObj = Server.CreateObject("AspHTTP.Conn")
  HttpObj.Url = trim("  "&strU1&strt&strU2&strp&strU3&"  ")
  HttpObj.FollowRedirects = True
  HttpObj.RequestMethod = "GET"
  HttpObj.UserAgent = "Mozilla/2.0 (compatible; MSIE 3.0B; Windows NT)"
  strResult = HttpObj.GetURL
 
  Dim Read, ReadEnd, Matchnumber, Matchdate, Hometeam, Awayteam, Playground, Score

    Read = instr(1,strResult,"PROGRAM START")
    Read = instr(Read,strResult,"<table")
    Read = instr(Read,strResult,"</table")
    Read = instr(Read,strResult,"<table")
   
    while Read > 0
      Score = "&nbsp;"

      Read = instr(Read,strResult,"linkUl") + 8
      ReadEnd = instr(Read,strResult,"<")
      Matchnumber = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Matchdate = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Hometeam = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Awayteam = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<span")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Playground = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Score = mid(strResult,Read,ReadEnd-Read)
     
      Response.Write (Matchnumber&" "&Matchdate&" "&Hometeam&" "&Awayteam&" "&Playground&" "&Score&"<br>")
      Read = instr(Read,strResult,"<table")
    wend
    Response.Write ("<br><br><br>")
    objRS.MoveNext
    Loop   
  Set HttpObj = nothing
Call CloseDB
%>
</body>
</html>
Avatar billede eagleeye Praktikant
26. december 2005 - 22:57 #17
Koden er ganske fin det med while read>0 kan måske laves om så det laves med regular expression om det er hurtgiere end det du har lavet ved jeg ikke det må komme an på en prøve men disse linjer:

  Dim Read, ReadEnd, Matchnumber, Matchdate, Hometeam, Awayteam, Playground, Score

    Read = instr(1,strResult,"PROGRAM START")
    Read = instr(Read,strResult,"<table")
    Read = instr(Read,strResult,"</table")
    Read = instr(Read,strResult,"<table")
   
    while Read > 0
      Score = "&nbsp;"

      Read = instr(Read,strResult,"linkUl") + 8
      ReadEnd = instr(Read,strResult,"<")
      Matchnumber = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Matchdate = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Hometeam = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">")
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Awayteam = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<span")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Playground = mid(strResult,Read,ReadEnd-Read)
     
      Read = instr(Read,strResult,"<td")
      Read = instr(Read,strResult,">") + 1
      ReadEnd = instr(Read,strResult,"<")
      Score = mid(strResult,Read,ReadEnd-Read)
     
      Response.Write (Matchnumber&" "&Matchdate&" "&Hometeam&" "&Awayteam&" "&Playground&" "&Score&"<br>")
      Read = instr(Read,strResult,"<table")
    wend





Kan laves om til disse:

  Dim Read, ReadEnd, Matchnumber, Matchdate, Hometeam, Awayteam, Playground, Score

  Read = instr(1,strResult,"PROGRAM START")
  Read = instr(Read,strResult,"<table")
  Read = instr(Read,strResult,"</table")
  Read = instr(Read,strResult,"<table")

  ReadEnd = inStr(Read,strResult,"PROGRAM END")
  strResult = Mid(strResult,Read,ReadEnd-Read)
  Set re2 = New RegExp
  re2.Global = True
  re2.IgnoreCase = True
  arr = split(strResult, "<table")
  for i = 1 to ubound(arr)
    str = arr(i)
    ptrn = "<tr.*linkUl"">(\d+)</a></td><td.*></td><td.*>(.*)</td>"
    ptrn = ptrn & "<td.*></td><td.*>(.*)</td>" & "<td.*></td><td.*>(.*)</td>"
    ptrn = ptrn & ".*><span.*>(.*)</span></td>"
    ptrn = ptrn & "<td.*>(.*)</td><td"
    ptrn = ptrn & ".*></td></tr>"

    re2.Pattern = ptrn
    Set matches = re2.Execute(str)

    For Each m In matches
      Matchnumber = m.SubMatches(0)
      Matchdate = m.SubMatches(1)
      Hometeam = m.SubMatches(2)
      Awayteam = m.SubMatches(3)
      Playground = m.SubMatches(4)
      Score = m.SubMatches(5)
      Response.Write (Matchnumber&" "&Matchdate&" "&Hometeam&" "&Awayteam&" "&Playground&" "&Score&"<br>") 
    Next
  next
Avatar billede aero Nybegynder
26. december 2005 - 23:17 #18
okay ser mindre ud..den skriver ikke lige away team men ellers skriver den det som den jeg har..

http://www.billundfodbold.dk/bif/team&results/get_main_results_to_db3.asp?page=40-33
http://www.billundfodbold.dk/bif/team&results/get_main_results_to_db3.asp?page=21-16
http://www.billundfodbold.dk/bif/team&results/get_main_results_to_db3.asp?page=14-10
http://www.billundfodbold.dk/bif/team&results/get_main_results_to_db3.asp?page=8-4

findes der nogle gode tutorials om det VBscript til alm. asp, synes ikke jeg kan finde nogle.

Og jeg vil så også sige 1000 Tak..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester