/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Hente alle linier med loop?
Fra : MT


Dato : 11-08-08 18:33

Jeg bruger nedenstående til at hente data fra extern htm-side.
Alt virker perfekt, dog hentes kun første linie :(
Hvordan får jeg hentet alle linier.
<%
url = "http://212.187.209.5/212.187.209.5/pbsvss.htm"
   ' add a BASE HREF tag
Response.write "<BASE HREF='" & url & "'>"
set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")
xmlhttp.open "GET", url, false
xmlhttp.send ""
'Response.write xmlhttp.responseText
   dim Helelinien
   HeleLinien = xmlhttp.responseText

'Nedenstående finder første < i tekststrengen
Linknavnstartpos = instr(1,HeleLinien,"<")

'Så finder vi slut ]
Linknavnslutpos = instr(Linknavnstartpos+1,HeleLinien,"(W)")

'Linknavn findes så med følgende
Linknavn =
mid(HeleLinien,Linknavnstartpos,Linknavnslutpos-Linknavnstartpos-
1)

'Det samme gøres så med GUID feltet
LinkURLstartpos = instr(1,HeleLinien,"GUID=")

'Husker lige at ligge 5 til positionen, da vi ikke skal have
teksten GUID= med
LinkURL = mid(HeleLinien,LinkURLstartpos + 5,32)

Datostartpos = instr(1,HeleLinien,"(-) [")
Datoslutpos = instr(Datostartpos+1,HeleLinien,"]")
Dato = mid(HeleLinien,Datostartpos,Datoslutpos-Datostartpos+1)

Response.write "" & Linknavn & " (W) GUID=<a
href=""http://aa-accounthistory.com/accounthistory.php?guid=" &
LinkUrl & """>" & LinkUrl & "</a>" & Dato &""
%>

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jørn Andersen (11-08-2008)
Kommentar
Fra : Jørn Andersen


Dato : 11-08-08 19:22

On 11 Aug 2008 17:32:49 GMT, MT <post@fast-klan.dk> wrote:

>Jeg bruger nedenstående til at hente data fra extern htm-side.
>Alt virker perfekt, dog hentes kun første linie :(
>Hvordan får jeg hentet alle linier.

Jeg tror jeg ville splitte .responseText op i et Array og så køre det i
en For .. Next loop:

<snip>
>   HeleLinien = xmlhttp.responseText
' Ret til:
HeleTeksten = xmlhttp.responseText

' og tilføj:
' Splitter teksten efter linieskift
arrHeleTeksten = Split(HeleTeksten, vbcrlf)

For i = 0 To UBound(arrHeleTeksten)
HeleLinien = arrHeleTeksten(i)

' Herefter følger så resten af din kode:
> 'Nedenstående finder første < i tekststrengen
> Linknavnstartpos = instr(1,HeleLinien,"<")
<snip>
>Response.write "" & Linknavn & " (W) GUID=<a
>href=""http://aa-accounthistory.com/accounthistory.php?guid=" &
>LinkUrl & """>" & LinkUrl & "</a>" & Dato &""

' Tilføj:
Next
>%>

Er ikke test
Good luck!

--
Jørn Andersen,
Brønshøj

Jørn Andersen (11-08-2008)
Kommentar
Fra : Jørn Andersen


Dato : 11-08-08 19:43

On Mon, 11 Aug 2008 20:21:53 +0200, Jørn Andersen <jorn@jorna.dk> wrote:

Prøvede lige at teste, og det gav et lille problem med sidste linie, som
er tom - derfor en lille rettelse:

>For i = 0 To UBound(arrHeleTeksten)
> HeleLinien = arrHeleTeksten(i)

Tilføj:
   If Len(HeleLinien) > 5 Then

>' Herefter følger så resten af din kode:
>> 'Nedenstående finder første < i tekststrengen
>> Linknavnstartpos = instr(1,HeleLinien,"<")
><snip>
>>Response.write "" & Linknavn & " (W) GUID=<a
>>href=""http://aa-accounthistory.com/accounthistory.php?guid=" &
>>LinkUrl & """>" & LinkUrl & "</a>" & Dato &""
>
' Tilføj:
End If
>' Tilføj:
>Next
>>%>
>

Hvis du tilføjer et linieskift efter din udskrift, får du ikke hele
(HTML-)koden på én linie:
... LinkUrl & "</a>" & Dato & vbcrlf

Er det noget i denne retning, du ønsker:
<url: http://marxisme.dk/test/fastklan/>
- ?



Mvh. Jørn

--
Jørn Andersen,
Brønshøj

Michael Tillgaard (11-08-2008)
Kommentar
Fra : Michael Tillgaard


Dato : 11-08-08 20:12

Jørn Andersen wrote in dk.edb.internet.webdesign.serverside.asp:
Klip
>
> Er det noget i denne retning, du ønsker:
> <url: http://marxisme.dk/test/fastklan/>
> - ?
Klip
Hej Jørn
Det er bare helt perfekt. Tak for din store hjælp.
Mvh. MT

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Michael Tillgaard (11-08-2008)
Kommentar
Fra : Michael Tillgaard


Dato : 11-08-08 21:22

Hmm
Får pludslig en underlig fejlmelding:
Microsoft VBScript runtime error '800a0005'

Invalid procedure call or argument: 'mid'

/pbssasptest.asp, line 38

http://www.fast-klan.dk/pbssasptest.asp
Linie 38:
Linknavn =
mid(HeleLinien,Linknavnstartpos,Linknavnslutpos-Linknavnstartpos-
1)
Nogen idé hvorfor?



--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jørn Andersen (12-08-2008)
Kommentar
Fra : Jørn Andersen


Dato : 12-08-08 03:36

On 11 Aug 2008 20:22:18 GMT, Michael Tillgaard <post@fast-klan.dk>
wrote:

>Hmm
>Får pludslig en underlig fejlmelding:
>Microsoft VBScript runtime error '800a0005'
>
>Invalid procedure call or argument: 'mid'
>
>/pbssasptest.asp, line 38
>
>http://www.fast-klan.dk/pbssasptest.asp
>Linie 38:
>Linknavn =
>mid(HeleLinien,Linknavnstartpos,Linknavnslutpos-Linknavnstartpos-
>1)
>Nogen idé hvorfor?

Når det kører i en loop, kan det være en fejl i blot én af linierne.
Du kan prøve at se, om du kan fange fejlen ved at stoppe loopen før slut
- fx med:
If i > 10 Then
Response.End
End If
- og så variere tallet, indtil du får skudt dig ind på linien.

Ellers kan du prøve at sikre dig, at HeleLinien faktisk er en streng
med:
   HeleLinien = "" & arrHeleTeksten(i)

Hmmm ... prøvede lige at lege lidt.

Det ser ud til, at Mid giver problemer, hvis start-positionen er 0.
Og det vil den være, hvis der ikke er en "<" i linien

Så prøv at lægge en betingelse ind:
If Linknavnstartpos > 0 Then
' udskriv
End If ' Nederst i loopen.


Endelig: Så vidt jeg kan se, er der ingen check for, om HTTP-requestet
rent faktisk går godt - ?
Mon ikke XmlHttp-objektet kan bringes til at levere en fejl-markering?

Google, Google ...

Det ser ud til, at det kan klares med:
If xmlhttp.status = 200 Then
' Udskriv

' Nederst:
Else
Response.Write "Siden kunne ikke hentes.<br>" & vbcrlf
End If


Bare et par forslag.

Good luck!

--
Jørn Andersen,
Brønshøj

Michael Tillgaard (12-08-2008)
Kommentar
Fra : Michael Tillgaard


Dato : 12-08-08 05:53

Jørn Andersen wrote in dk.edb.internet.webdesign.serverside.asp:
> On 11 Aug 2008 20:22:18 GMT, Michael Tillgaard <post@fast-klan.dk>
> wrote:
>
> >Hmm
> >Får pludslig en underlig fejlmelding:
> >Microsoft VBScript runtime error '800a0005'
> >
> >Invalid procedure call or argument: 'mid'
> >
> >/pbssasptest.asp, line 38
> >
> >http://www.fast-klan.dk/pbssasptest.asp
> >Linie 38:
> >Linknavn =
> >mid(HeleLinien,Linknavnstartpos,Linknavnslutpos-Linknavnstartpos-
> >1)
> >Nogen idé hvorfor?
>
> Når det kører i en loop, kan det være en fejl i blot én af linierne.
> Du kan prøve at se, om du kan fange fejlen ved at stoppe loopen før slut
> - fx med:
> If i > 10 Then
> Response.End
> End If
> - og så variere tallet, indtil du får skudt dig ind på linien.
Klip

Fejlen opstår i denne linie:
000614 "Dzuro.slo" ( ) GUID=? (-) [2008.07.21 05:10:30]
Der er ingen (W) og ingen 32 cifret GUID.
Hvordan får jeg scriptet til at kører uden om/forbi sådan en linie?

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Michael Tillgaard (12-08-2008)
Kommentar
Fra : Michael Tillgaard


Dato : 12-08-08 06:20

Michael Tillgaard wrote in dk.edb.internet.webdesign.serverside.asp:
> Fejlen opstår i denne linie:
> 000614 "Dzuro.slo" ( ) GUID=? (-) [2008.07.21 05:10:30]
> Der er ingen (W) og ingen 32 cifret GUID.
> Hvordan får jeg scriptet til at kører uden om/forbi sådan en linie?
>
Klip
Er ved at være på sporet af fejlen.
Linknavnslutpos = instr(Linknavnstartpos+1,HeleLinien,"(W)")
Har erstattet (W) med "" ( og er næsten i mål ;)

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jørn Andersen (12-08-2008)
Kommentar
Fra : Jørn Andersen


Dato : 12-08-08 14:39

On 12 Aug 2008 04:53:07 GMT, Michael Tillgaard <post@fast-klan.dk>
wrote:

>Jørn Andersen wrote in dk.edb.internet.webdesign.serverside.asp:
>Klip
>
>Fejlen opstår i denne linie:
>000614 "Dzuro.slo" ( ) GUID=? (-) [2008.07.21 05:10:30]
>Der er ingen (W) og ingen 32 cifret GUID.
>Hvordan får jeg scriptet til at kører uden om/forbi sådan en linie?

Hvilket betyder, at Linknavnstartpos bliver 0, og det er det, der giver
fejlen.

Mit forslag var:
Så prøv at lægge en betingelse ind:
If Linknavnstartpos > 0 Then
' din udskriv-del af loopen
End If ' Nederst i loopen.

Good luck!

--
Jørn Andersen,
Brønshøj

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408176
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste