|
| "Split" en textfil ? Fra : Is |
Dato : 07-06-08 22:59 |
| | |
Rune Jensen (07-06-2008)
| Kommentar Fra : Rune Jensen |
Dato : 07-06-08 16:45 |
|
On 7 Jun., 23:58, "Is" <detteerminnewsgruppemailadres...@get2net.dk>
wrote:
> Hej
>
> Hvis der er enkelte oplysninger jeg vil pille ud og vise, hvordan får
> jeg fisket dem ud ??
>
> f. eks fra denne:
>
> http://home19.inet.tele.dk/freespace/vejret/WLtextfil.htm
Den tror jeg godt, jeg kan svare på. Du skal bruge filsystemobjectet
samt split-funktionen. Alt efter, hvad du vil have ud, kan du vælge at
læse hele filen (readAll), lukke objectet, og så splitte, eller hente
en bestemt linje på filen (readline), mens objectet er åbent. Normalt
vil man måske sige, at readAll (læs hele filen) er det hurtigste,
fordi man lukker med det samme - filoperationer tager lidt tid.
Her er lidt research:
Læs hele filen: http://www.w3schools.com/asp/met_readall.asp
Læs en linje: http://www.w3schools.com/asp/met_readline.asp
Split-funktionen: http://www.w3schools.com/VBscript/func_split.asp
Eks. med readAll:
<%
dim fs,t,x,varSplit
set fs=Server.CreateObject("Scripting.FileSystemObject")
set t=fs.OpenTextFile(Server.MapPath("/freespace/vejret/
WLtextfil.htm"),1)
x=t.ReadAll
t.close
varSplit = split( x, ";")
rem testing
for i=0 to uBound( varSplit)
response.write varSplit( i) & "<br />"
next
%>
...varSplit omdannes til et array, hvor hver enkelt tekst-del er
splittet som varSplit(0), varSplit(1) osv. og slutter ved
delimiteren... og hvor delimiteren (her ; ) er fjernet. Der findes
også en join-funktion. uBound angiver det højeste mulige værdi i
array, eksemplet her, varSplit(værdi).
Variablene bør selvfølgelig gives bedre/mere sigende navne.
Skriv bare igen, hvis du vil have mere info.
MVH
Rune Jensen
| |
Rune Jensen (07-06-2008)
| Kommentar Fra : Rune Jensen |
Dato : 07-06-08 16:54 |
|
On 8 Jun., 00:44, Rune Jensen <runeofdenm...@gmail.com> wrote:
> On 7 Jun., 23:58, "Is" <detteerminnewsgruppemailadres...@get2net.dk>
> wrote:
>
> > Hej
>
> > Hvis der er enkelte oplysninger jeg vil pille ud og vise, hvordan får
> > jeg fisket dem ud ??
>
> > f. eks fra denne:
>
> > http://home19.inet.tele.dk/freespace/vejret/WLtextfil.htm
>
> Du skal bruge filsystemobjectet
> samt split-funktionen.
Hmmm... man skal måske lige være opmærksom på hvor mange forskellige
oplysninger, er er. Hvis man kun har én type oplysning, er det ret
nemt. F.eks. en temparatur. Hvis man har flere data, f.eks.
temperatur, by, temperatur, by osv. så vil hver data-gruppe ligge som
hver anden i arrayet, dvs. alle temperaturerne som i og alle byerne
som i+1, og så skal i steppes med 2 i for-next-løkken. Og så fremdeles
med flere forskellige data.
Men hvis du har problemer, så skriv, hvad du vil have ud, så kigger
jeg på det.
MVH
Rune Jensen
| |
Stig Johansen (08-06-2008)
| Kommentar Fra : Stig Johansen |
Dato : 08-06-08 06:22 |
|
Rune Jensen wrote:
> On 8 Jun., 00:44, Rune Jensen <runeofdenm...@gmail.com> wrote:
>> On 7 Jun., 23:58, "Is" <detteerminnewsgruppemailadres...@get2net.dk>
>> wrote:
>>
>> > Hej
>>
>> > Hvis der er enkelte oplysninger jeg vil pille ud og vise, hvordan får
>> > jeg fisket dem ud ??
>>
>> > f. eks fra denne:
>>
>> > http://home19.inet.tele.dk/freespace/vejret/WLtextfil.htm
>>
>> Du skal bruge filsystemobjectet
>> samt split-funktionen.
>
> Hmmm... man skal måske lige være opmærksom på hvor mange forskellige
> oplysninger, er er.
Hvis man kigger på indholdet af filen, så synes jeg det lugter af en slags
recordstruktur med:
nnTV2STV;<data>
hvor nn går fra 11 til 61.
Der skal nok noget doklumentaion frem for at vide om det er statisk eller
dynamisk eller måske noget helt 3.
--
Med venlig hilsen
Stig Johansen
| |
Is (08-06-2008)
| Kommentar Fra : Is |
Dato : 08-06-08 18:51 |
|
"Stig Johansen" <wopr.dk@gmaill.com> skrev i en meddelelse
news:484b6d30$0$90270$14726298@news.sunsite.dk...
> >> > http://home19.inet.tele.dk/freespace/vejret/WLtextfil.htm
> Hvis man kigger på indholdet af filen, så synes jeg det lugter af en
slags
> recordstruktur med:
> nnTV2STV;<data>
> hvor nn går fra 11 til 61.
> Der skal nok noget doklumentaion frem for at vide om det er statisk
eller
> dynamisk eller måske noget helt 3.
Ja det drejer sig igen om noget "vejrdata"
Filen er en fil, som alle der er med i
http://media.stv.dk/vejret/naervejr/
uploader
kunne jeg f.eks fiske data fra denne linje
19TV2STV;<!--outsideTemp--> (som i htm ser sådan ud "19TV2STV;10.8")
Så kunne det erstatte denne:
http://home19.inet.tele.dk/freespace/vejret/OutsideTemp.gif
"WLtextfil.htm" tekstfilen oploades hvert 5.min.
Og som mit forrige sp, så skal det bruges på denne side:
http://www.erikisager.dk/vejr_dk.asp
og kun fra dem det har givet deres tilsagn.
--
mvh
Erik Isager
| |
Stig Johansen (08-06-2008)
| Kommentar Fra : Stig Johansen |
Dato : 08-06-08 20:11 |
| | |
Is (08-06-2008)
| Kommentar Fra : Is |
Dato : 08-06-08 21:20 |
| | |
Stig Johansen (09-06-2008)
| Kommentar Fra : Stig Johansen |
Dato : 09-06-08 06:36 |
|
Is wrote:
> Jeg tror de er ens
Det er de tilsyneladende(næsten).
Det der undrer mig er <head> sektionen, som tilsyneladende er et eller andet
klippeklistre fra Frontpage.
> her er et par mere:
> http://www.fdaa.dk/vejr/tv2/WLtextfil.htm
Mage til.
> http://www.jegerup.dk/vejr/WLtextfil.htm
Mage til.
> http://www.cmi-vejr.dk/tv2vejret_network/WLtextfil.htm
Næsten mage til. Her er der lagt et <script> tag ind til Google umiddelbart
før </body>
Her er et forslag til løsning.
Hvis du bruger samme funktion som til at tjekke datoer, men ændrer metoden
til "GET" i stedet for "HEAD", så får du indholdet af filen.
Her skal du så udtrække indholdet af <body> sektionen, som er en liste af
felter.
Denne liste skal du så splitte på vbCrLf, og du har et array med
parametrene.
I princippet bør du så splitte hvert array på ";" , men det ser ud som om
det er lige så 'sikkert' bare at bruge faste positioner.
Jeg ved Rune har noget kode, der kan trække indholdet af <title> ud, det må
kunne bruges.
Jeg spørger ham lige under hans indlæg.
--
Med venlig hilsen
Stig Johansen
| |
Rune Jensen (08-06-2008)
| Kommentar Fra : Rune Jensen |
Dato : 08-06-08 14:46 |
|
On 8 Jun., 07:21, Stig Johansen <wopr...@gmaill.com> wrote:
> Hvis man kigger på indholdet af filen, så synes jeg det lugter af en slags
> recordstruktur med:
> nnTV2STV;<data>
> hvor nn går fra 11 til 61.
Jeg kigger lige med, ser hvad i finder ud af;)
MVH
Rune Jensen
| |
Stig Johansen (09-06-2008)
| Kommentar Fra : Stig Johansen |
Dato : 09-06-08 06:42 |
|
Rune Jensen wrote:
> On 8 Jun., 07:21, Stig Johansen <wopr...@gmaill.com> wrote:
>
>> Hvis man kigger på indholdet af filen, så synes jeg det lugter af en
>> slags recordstruktur med:
>> nnTV2STV;<data>
>> hvor nn går fra 11 til 61.
>
> Jeg kigger lige med, ser hvad i finder ud af;)
Ca. det samme du selv har foreslået.
Umiddelbart ser det ud (i HTML) som om det er een lang linie, men der er
"vbCrLf" imellem dataene, så det er 'bare' at splitte på vbCrLf.
Dataene skal findes inde i <body> tagget, og her er jeg sikker på du har
noget kode i RSS sitemap, som trækker data ud af <title> sektionen.
--
Med venlig hilsen
Stig Johansen
| |
Rune Jensen (09-06-2008)
| Kommentar Fra : Rune Jensen |
Dato : 09-06-08 06:15 |
|
On 9 Jun., 07:41, Stig Johansen <wopr...@gmaill.com> wrote:
> Rune Jensen wrote:
> > On 8 Jun., 07:21, Stig Johansen <wopr...@gmaill.com> wrote:
>
> >> Hvis man kigger på indholdet af filen, så synes jeg det lugter af en
> >> slags recordstruktur med:
> >> nnTV2STV;<data>
> >> hvor nn går fra 11 til 61.
>
> > Jeg kigger lige med, ser hvad i finder ud af;)
>
> Ca. det samme du selv har foreslået.
> Umiddelbart ser det ud (i HTML) som om det er een lang linie, men der er
> "vbCrLf" imellem dataene, så det er 'bare' at splitte på vbCrLf.
>
> Dataene skal findes inde i <body> tagget, og her er jeg sikker på du har
> noget kode i RSS sitemap, som trækker data ud af <title> sektionen.
jep, det må være denne function:
function extracttitle(filename)
Dim filestring
Dim Pstart , Pend
Dim lFile
set lFile =
Server.CreateObject("Scripting.FileSystemObject").OpenTextFile(filename,
1)
filestring = lFile.ReadAll
Pstart = inStr(filestring,"<title>") + 7
Pend = inStr(filestring,"</title>")
if PStart > 0 and PEnd > PStart then
extracttitle = AnsitoUTF8(mid(filestring,Pstart,Pend - PStart))
else
extracttitle = "No title found in dcument"
end if
end function
...den kræver ANSItoUTF8. Men er der behov for den function i dette
tilfælde?
Ellers skal jeg lige finde den, når jeg kommer hjem.
MVH
Rune Jensen
| |
Stig Johansen (09-06-2008)
| Kommentar Fra : Stig Johansen |
Dato : 09-06-08 16:56 |
|
Rune Jensen wrote:
> jep, det må være denne function:
>
> function extracttitle(filename)
> Dim filestring
> Dim Pstart , Pend
> Dim lFile
> set lFile =
> Server.CreateObject("Scripting.FileSystemObject").OpenTextFile(filename,
> 1)
> filestring = lFile.ReadAll
>
> Pstart = inStr(filestring,"<title>") + 7
> Pend = inStr(filestring,"</title>")
> if PStart > 0 and PEnd > PStart then
> extracttitle = AnsitoUTF8(mid(filestring,Pstart,Pend - PStart))
> else
> extracttitle = "No title found in dcument"
> end if
> end function
>
> ...den kræver ANSItoUTF8. Men er der behov for den function i dette
> tilfælde?
Nej, jeg tror ikke der er behov for konvertering til UTF-8 i Erik's
tilfælde.
--
Med venlig hilsen
Stig Johansen
| |
Is (09-06-2008)
| Kommentar Fra : Is |
Dato : 09-06-08 21:21 |
|
"Rune Jensen" <runeofdenmark@gmail.com> skrev i en meddelelse
news:a758ef60-6ae1-4087-a10c-ff6a7fa8ecf7@25g2000hsx.googlegroups.com.
...
On 9 Jun., 07:41, Stig Johansen <wopr...@gmaill.com> wrote:
> Rune Jensen wrote:
> > On 8 Jun., 07:21, Stig Johansen <wopr...@gmaill.com> wrote:
>
> >> Hvis man kigger på indholdet af filen, så synes jeg det lugter af
en
> >> slags recordstruktur med:
> >> nnTV2STV;<data>
> >> hvor nn går fra 11 til 61.
>
> > Jeg kigger lige med, ser hvad i finder ud af;)
>
> Ca. det samme du selv har foreslået.
> Umiddelbart ser det ud (i HTML) som om det er een lang linie, men
der er
> "vbCrLf" imellem dataene, så det er 'bare' at splitte på vbCrLf.
>
> Dataene skal findes inde i <body> tagget, og her er jeg sikker på du
har
> noget kode i RSS sitemap, som trækker data ud af <title> sektionen.
jep, det må være denne function:
function extracttitle(filename)
Dim filestring
Dim Pstart , Pend
Dim lFile
set lFile =
Server.CreateObject("Scripting.FileSystemObject").OpenTextFile(filenam
e,
1)
filestring = lFile.ReadAll
Pstart = inStr(filestring,"<title>") + 7
Pend = inStr(filestring,"</title>")
if PStart > 0 and PEnd > PStart then
extracttitle = AnsitoUTF8(mid(filestring,Pstart,Pend - PStart))
else
extracttitle = "No title found in dcument"
end if
end function
....den kræver ANSItoUTF8. Men er der behov for den function i dette
tilfælde?
Ellers skal jeg lige finde den, når jeg kommer hjem.
----------------------------
Hmm, har rodet lidt med det, men kan ikke få noget ud af det
I bedste fald sker der ikke noget, eller også fejl på siden.
Det er rigtig at det har et nr, som går fra 11 til 61
eksempelvis så er aktuel udetemperatur
19TV2STV;XX.X°
Så kan man ikke mere direkte søge efter den, dog med mulighed for at
anvende flere, men bruge tallet "19TV2STV".
Gør det forskel om filen slutter med "html" eller "txt" ???
det jeg har rodet med er her:
http://www.erikisager.dk/020.asp
--
mvh
Erik Isager
| |
Stig Johansen (09-06-2008)
| Kommentar Fra : Stig Johansen |
Dato : 09-06-08 21:44 |
| | |
Is (09-06-2008)
| Kommentar Fra : Is |
Dato : 09-06-08 21:58 |
| | |
Stig Johansen (09-06-2008)
| Kommentar Fra : Stig Johansen |
Dato : 09-06-08 21:56 |
|
Is wrote:
>> Kildekode (Ses bedst i FF)
>> < http://w-o-p-r.dk/tips/asp/socket.request.file.txt>
>>
> Den kan jeg så ikke få lov til at se heller ikke med FireFox
Hvad f*, skal man nu også kopiere den ud på serveren før den kan ses?
(Skulle være der nu)
--
Med venlig hilsen
Stig Johansen
| |
Is (09-06-2008)
| Kommentar Fra : Is |
Dato : 09-06-08 22:40 |
|
"Stig Johansen" <wopr.dk@gmaill.com> skrev i en meddelelse
news:484d99c9$0$90264$14726298@news.sunsite.dk...
> Is wrote:
>
> >> Kildekode (Ses bedst i FF)
> >> < http://w-o-p-r.dk/tips/asp/socket.request.file.txt>
> >>
> > Den kan jeg så ikke få lov til at se heller ikke med FireFox
>
> Hvad f*, skal man nu også kopiere den ud på serveren før den kan
ses?
> (Skulle være der nu)
Det gjorde en forskel
også her :
http://www.erikisager.dk/020.asp
Så må jeg se om jeg også kan finde ud af at bruge det
ind til videre : Tak for hjælpen
--
mvh
Erik Isager
| |
Is (14-06-2008)
| Kommentar Fra : Is |
Dato : 14-06-08 18:39 |
|
"Is" <detteerminnewsgruppemailadresse3@get2net.dk> skrev i en
meddelelse news:484da2ff$0$90276$14726298@news.sunsite.dk...
>
> "Stig Johansen" <wopr.dk@gmaill.com> skrev i en meddelelse
> news:484d99c9$0$90264$14726298@news.sunsite.dk...
> > Is wrote:
> >
> > >> Kildekode (Ses bedst i FF)
> > >> < http://w-o-p-r.dk/tips/asp/socket.request.file.txt>
> > >>
Opgaven er lykkedes !!
Tak for hjælpen.
Det jeg manglede var en temperatur fra Hjørring, den har jeg nu:
http://www.erikisager.dk/vejr_dk.asp
--
mvh
Erik Isager
| |
|
|