Avatar billede raeven Nybegynder
27. januar 2002 - 13:22 Der er 15 kommentarer og
1 løsning

Indlæse links fra en fil...

Med koden nedenfor er det muligt at indlæse en tekst-fil linje for linje, men hvad nu når hver af disse linjer, er en adresse, som skal virke som et link på siden?

kode:
Set f = fso.OpenTextFile(filespec,1)
Do While not f.AtEndOfStream
  Response.write f.ReadLine & "<br>"
Loop
f.Close

/ræven
Avatar billede casm_ Nybegynder
27. januar 2002 - 13:27 #1
kode:

Set f = fso.OpenTextFile(filespec,1)
Do While not f.AtEndOfStream

  Response.write "<a href=" & f.ReadLine & ">" & f.readline & "<br>"
Loop
f.Close
Avatar billede martinfrost Nybegynder
27. januar 2002 - 13:28 #2
Hvis det ikke er alle linjer, der er links, bliver du jo nødt til at analysere dem lidt. Hvis de linjer, der er links konsekvent begynder med http:// så kan du jo sige:


if left(f.readline,7) = "http://" then
response.write "<a href=""" & f.readline & """>" & f.readline & "</a><br>"
else
response.write f.readline & "<br>"
end if


mvh
martin
Avatar billede martinfrost Nybegynder
27. januar 2002 - 13:29 #3
... var lige ét minut for langsom *LOL* - men omvendt kan man sige, at mit så vil virke både til links og ikke-links :-p
Avatar billede casm_ Nybegynder
27. januar 2002 - 13:29 #4
din er jo lidt bedre, så vi må se hvad der sker ;-)
Avatar billede casm_ Nybegynder
27. januar 2002 - 13:30 #5
men det lød nu som alle linier var links
Avatar billede martinfrost Nybegynder
27. januar 2002 - 13:39 #6
Er det bare mig, eller har vi kun sendt vores svar som "kommentar"??!! *LOL* prøver da bare igen så ;-)

if left(f.readline,7) = "http://" then
response.write "<a href=""" & f.readline & """>" & f.readline & "</a><br>"
else
response.write f.readline & "<br>"
end if
Avatar billede raeven Nybegynder
27. januar 2002 - 13:41 #7
Hmmm... Jeg kan ikke få noget af det til at virke, desuden er I heller ikke helt enige om antallet af "gåseøjne", hvad er syntaxen?
Avatar billede martinfrost Nybegynder
27. januar 2002 - 13:50 #8
Det gør ingen syntax-forskel om du bruger """ eller "  <-- det eneste der sker, at at HTML-kode refferencen også bliver i gåseøjne, hvis du bruger tre, som jeg har gjort. Her er hele koden, som da meget gerne skulle virke:

set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(filespec,1)
Do While not f.AtEndOfStream

if len(f.readline) > 6 then

  if left(f.readline,7) = "http://" then
  Response.write "<a href=""" & f.readline & """>" & f.readline & "</a><br>"
  else
  response.write f.readline & "<br>"
  end if

else
response.write f.readline & "<br>"
end if

Loop
f.Close
Avatar billede martinfrost Nybegynder
27. januar 2002 - 13:55 #9
(kræver dog naturligvis, at linjen med linket kun indeholder linket og ikke en efterfølgende tekst i samme linje. Dvs. der linjen må ikke indeholde mellemrum). Gør den dét, skal vi lige ha udbygget scriptet lidt.
Avatar billede raeven Nybegynder
27. januar 2002 - 13:58 #10
her er hele koden...
Jeg får fejl i linjen med stjernerne omkring...

<%
dim fso, fileObj, streamObj
Set fso = Server.CreateObject("Scripting.filesystemobject") 'filsystem
Set fileObj = fso.GetFile( Server.MapPath("grim.txt") ) 'filens placering
Set streamObj = fileObj.OpenAsTextStream(8, -2) 'åbner filen

if request.form("link") = "" then
else
      streamObj.WriteLine Request.Form("link") 'skriver i filen
    streamObj.Close 'lukker filen
end if

set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("/grim.txt",1)
Do While not f.AtEndOfStream

***
  Response.write "<a href=""" & f.readline & """>" & f.readline & "</a><br>"
***

Loop
f.Close
%>
Avatar billede martinfrost Nybegynder
27. januar 2002 - 14:07 #11
Hvad fejl får du?!
Avatar billede martinfrost Nybegynder
27. januar 2002 - 14:11 #12
Do While not f.AtEndOfStream
dim x
x = f.readline
response.write "<a href=""" & x & """>" & x & "</a><br>"
Loop



i stedet for ... dunno why, men kan godt se det! ;-)
Avatar billede martinfrost Nybegynder
27. januar 2002 - 14:13 #13
eller jo, problemet er jo, at hver gang vi skriver readline, så begynder en ny linje, og til sidst ber vi den således om at finde en linje, der ikke findes :( og derfor fucker det op, men hvis du bruger scriptet herover i stedet, skulle problemet være løst :)
Avatar billede raeven Nybegynder
27. januar 2002 - 14:19 #14
"Input past end of file"...?
Avatar billede raeven Nybegynder
27. januar 2002 - 15:30 #15
Point'ene er dine Martin Frost, for det mest fyldestgørende svar...:)

Kunne du ikke lige sige mig hvordan jeg får puttet en "target="_blank"" ind, således at den ikke prøver at åbne adressen på min side...?

Tak for hjælpen...

/ræven
Avatar billede martinfrost Nybegynder
27. januar 2002 - 15:40 #16
Do While not f.AtEndOfStream
dim x
x = f.readline
response.write "<a href=""" & x & """ target=""_blank"">" & x & "</a><br>"
Loop


Det var så lidt :-)
Men husk, at pointene ikke er overført endnu ;-)
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