Hej. Jag håller på och göra en länksamling. Jag vill att det ska visas 20 länkar per sida och länkarna hämtas ur en textfil. Känns väl inte som om detta är något för nybörjarforumet men ändå. Nu har jag ett nytt problem....loppa ur text ur en textfil
--------------------------------------------------------------------
'vilken sida som ska visas.
'om "sida är 1" visas dom första 20 länkarna
'om "sida = 2" visas länkarna 20 till 40
sida = request.querystring("sida")
fil = request.querystring("fil")
path = Server.MapPath("\pg")
fil = path & "\" & fil
Set MittTxtObj = Server.CreateObject("Scripting.FileSystemObject")
Set MinFil = MittTxtObj.OpenTextFile(fil)
'LOPPEN BÖRJAR HÄR
url = minfil.readline 'Adressen till sidan.
kategori = minfil.readline 'Kategorin sidan hör till.
datum = minfil.readline 'Datumet länken lades till.
rubrik = minfil.readline 'Adressens rubrik
beskrivning = minfil.readline 'Beskrivning av vad som finns på sidan.
'koden som skriver in datan i html tabeller finns här
'LOPPAR TILLBAKA
-----------------------------------------------------------
Vad jag vill veta är alltså hur jag ska göra för att kunna läsa
in 20 länkar per sida ur en textfil. 1 länk är alltså 5 rader i textfilen.
Och hur jag ska göra för att man ska kunna läsa länkar 20-40.
Hoppas nån förstod vad jag menade för som vanligt gör jag det knappt själv.
Jag har provat att loppa med "while not minfil.atEndOfStream"
men det funkar inget bra når man ska avsluta loppningen eftersom att textfilen tar slut efter en stund.Kanske så här
Knåpade ihop detta och du får själv lägga till felhanteringen.
<code>
<%
Function getLinks(startLine,endLine)
Dim fil
Dim fso
Dim f
Dim ts
Dim intLineNum
Dim whatLine
'Vi skickar in startraden och slutraden. Måste vara
'1,5,10,15,20 etc, etc.
'Varje länk tar 5 rader i anspråk
'Rad Innehåll
'1 Adressen till sidan.
'2 Kategorin sidan hör till.
'3 Datumet länken lades till.
'4 Adressens rubrik
'5 Beskrivning av vad som finns på sidan.
'Min exempelfil ser ut så här (utan enkelfnuttar så klart):
'http://www.pellesoft.se
'Programmering
'2002-04-04
'Pellesoft
'Site packad med information
'http://www.aftonbladet.se
'Dagstidning
'2002-04-04
'Aftonbladet
'Innehåller nyheter med mera
'Sökvägen till filen som innehåller länkarna.
fil = Server.MapPath("links.txt")
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile(fil)
Set ts = f.OpenAsTextStream()
whatLine= 1
'loopa igenom hela filen
do while not ts.AtEndOfStream
'räkna raderna i filen
intLineNum = ts.line
If whatLine > 5 then
'Vi har passerat rad 5 vilket innebär att det är en ny länk så
'nollställ räknaren.
whatLine = 1
End if
If intLineNum >= startLine AND intLineNum <= endLine Then
'Varje länk innehåller 5 rader. När vi skall skriva ut det hela så
'måste vi hålla koll på vilken rad i länken vi är på.
'Aktuell rad finns i variabeln whatLine.
'Här nere kollar vi vilken rad vi är på och skriver ut innehållet
'tillsammans med en förklarande text framför.
Select case whatLine
case 1
Response.Write "<b>Url:</b> " & ts.readLine() & "<br>"
case 2
Response.Write "<b>Kategori:</b> " & ts.ReadLine() & "<br>"
case 3
Response.Write "<b>Datum:</b> " & ts.ReadLine() & "<br>"
case 4
Response.Write "<b>Rubrik:</b> " & ts.ReadLine() & "<br>"
case 5
Response.Write "<b>Beskrivning:</b> " & ts.ReadLine() & "<br><br>"
End Select
whatLine = whatLine + 1
else
'vi har lämnat spannet vi vill läsa ifrån så skippa resten av raderan
ts.skipLine()
end if
loop
ts.close
Set fso = Nothing
End function
%>
<%
'Kalla på funktionen där du vill att den skall skriva ut länkarna. Skicka in startraden och slutraden.
call getLinks(1,10)
%>
</code>
//PutteSv: Kanske så här
När jag använt http://localhost/pg/visa.asp?visa=lank1&start=10
' Jag vet att denna funkar för jag kan skriva ut start med response.write.
start = request.querystring("start")
'detta borde väl funka? men det för det inte....
call getLinks(start, start+20)