DDpoMedlem sedan aug. 2000159 inlägg Har följande kod
<!--
################################################
Detta script är skrivert av Anders WIckman 2003-04-26
Scriptet är ett litet Random script som utnyttjar ett
Text dokument för att slumpa fram rader att visa
Scriptet är inte sådär jätte optimerat, syftet med scripet
är en annan sak
################################################
-->
<html>
<head>
<title>Content Rotator</title>
</head>
<body text="#FFFFFF" bgcolor="#000000">
<%
'Läser av hur många rader det finns i TXT dokumentet
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile(Server.MapPath("text.txt"))
do until f.AtEndOfStream
x = f.line
p = f.readline
loop
F.Close
Set F = Nothing
Set FS = Nothing
'Slutar att läsa av antal rader, och börjar med själva Random systemet och utskrivten
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile(Server.MapPath("text.txt"))
RANDOMIZE
Min = 1
Max = x
Max = int((Max - Min + 1) * Rnd + Min)
Max = Max - 1
For i = Min to Max
f.Skipline
Next
Response.write "<b>"& f.ReadLine &"</b>"
f.Close
Set f=Nothing
Set fs=Nothing
%>
Den där koden tar text från en textfil och listar ut varje rad, nu tar den inte i ordning, vill att den ska visa raderna i ordning, sen ska raden tas bort ur textfilen när den visats en gång. Hur löser jag detta? och vore det kanske bättre att lösa det med hjälp av en accesskoppling istället för fsobject som inget webhotell stödjer.
SSebbeMedlem sedan jan. 20032 285 inlägg Om du bara vill läsa och skriva över allt kan du ju köra det här enkla scriptet.
<%
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTS = objFSO.OpenTextFile(Server.MapPath("text.txt"), ForReading)
Do Until objTS.AtEndOfStream
Response.Write(objTS.ReadLine)
Loop
objTS.Close
Set objTS = Nothing
Set objTS = objFSO.OpenTextFile(Server.MapPath("text.txt"), ForWriting)
objTS.WriteLine(" ")
objTS.Close
Set objTS = Nothing
Set objFSO = Nothing
%>
DDpoMedlem sedan aug. 2000159 inlägg
Sebbe skrev:
Om du bara vill läsa och skriva över allt kan du ju köra det här enkla scriptet.
<%
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTS = objFSO.OpenTextFile(Server.MapPath("text.txt"), ForReading)
Do Until objTS.AtEndOfStream
Response.Write(objTS.ReadLine)
Loop
objTS.Close
Set objTS = Nothing
Set objTS = objFSO.OpenTextFile(Server.MapPath("text.txt"), ForWriting)
objTS.WriteLine(" ")
objTS.Close
Set objTS = Nothing
Set objFSO = Nothing
%>
Tackar :)
Den fungerade dock inte.
Står följande
Error Type:
Microsoft VBScript runtime (0x800A0005)
Invalid procedure call or argument
/design/sms.asp, line 3
dvs denna rad är fel:
:x
Set objTS = objFSO.OpenTextFile(Server.MapPath("text.txt"), ForReading)
Tacksam för svar :r
SSebbeMedlem sedan jan. 20032 285 inlägg Finns filen text.txt i samma mapp som scriptet då?
DDpoMedlem sedan aug. 2000159 inlägg
Sebbe skrev:
Finns filen text.txt i samma mapp som scriptet då?
O ja!
Det andra scriptet jag bifogade fungerade ju. :l
SSebbeMedlem sedan jan. 20032 285 inlägg Testa den här koden då. Inte för att jag tror att det ska göra någon skillnad, men men.
<%
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objTS = objFSO.OpenTextFile(Server.MapPath("text.txt"), 1)
Do Until objTS.AtEndOfStream
Response.Write(objTS.ReadLine)
Loop
objTS.Close
Set objTS = Nothing
Set objTS = objFSO.OpenTextFile(Server.MapPath("text.txt"), 2)
objTS.WriteLine(" ")
objTS.Close
Set objTS = Nothing
Set objFSO = Nothing
%>
DDpoMedlem sedan aug. 2000159 inlägg
Sebbe skrev:
Testa den här koden då. Inte för att jag tror att det ska göra någon skillnad, men men.
<%
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objTS = objFSO.OpenTextFile(Server.MapPath("text.txt"), 1)
Do Until objTS.AtEndOfStream
Response.Write(objTS.ReadLine)
Loop
objTS.Close
Set objTS = Nothing
Set objTS = objFSO.OpenTextFile(Server.MapPath("text.txt"), 2)
objTS.WriteLine(" ")
objTS.Close
Set objTS = Nothing
Set objFSO = Nothing
%>
Tack, det fungerade bättre, fungerade inte riktigt som jag ville, men fixar det själv. :)