textfil

ASP

12 svar · 379 visningar · startad av aleborg

Medlem sedan jan. 20013 341 inlägg
Trådstart#1

Jag har en textfil med ny information på varje rad.
Jag behöver få ut den informationen så
att varje rad får ett eget "rs("rad1")"

Hur gör man?

Medlem sedan dec. 19998 577 inlägg
#2

I FSO finns det en funktion som hetet ReadLine, kolla in den: http://www.devguru.com/Technologies/vbscript/quickref/textstream_readline.html

Medlem sedan jan. 20013 341 inlägg
#3

tack
men hur får jag den att läsa in nästa rad?

<% 
dim filesys, text, readfile, contents
set filesys = CreateObject("Scripting.FileSystemObject")
set readfile = filesys.OpenTextFile("c:\somefile2.txt", 1, false)
contents = readfile.ReadLine
readfile.close
Response.Write "The line contains the following text - '" & contents & "'." 
%>
Medlem sedan juni 200032 967 inlägg
#4

du får ju göra en liten loop då juh.

<% 
dim filesys, text, readfile, contents
set filesys = CreateObject("Scripting.FileSystemObject")
set readfile = filesys.OpenTextFile("c:\somefile2.txt", 1, false)
while not readfile.atendofstream
contents = readfile.ReadLine
Response.Write readfile & "<br>"
wend
readfile.close
%>
Medlem sedan jan. 20013 341 inlägg
#5

nja, inte så enkelt jag MÅSTE ha ut varje rad som en ny rs("rad1"), rs("rad2"), rs("rad3")" osv.

Medlem sedan jan. 20013 341 inlägg
#6

Provade det här:

<% 
dim filesys, text, readfile, contents
set filesys = CreateObject("Scripting.FileSystemObject")
set readfile = filesys.OpenTextFile("c:\somefile2.txt", 1, false)
contents = readfile.ReadLine
contents2 = readfile.ReadLine.Next
readfile.close
Response.Write "The line contains the following text - '" & contents & "'." 
%>

men får felet:
Körningsfel i Microsoft VBScript fel '800a01a8'

Objekt krävs.: '[string: "1234"]'

/text.asp, rad 13

Rad 13:
contents2 = readfile.ReadLine.Next

[string: "1234"]
1234 är det som fins på rad 2 i textfilen

Medlem sedan juni 200032 967 inlägg
#7

då får du lägga in det i en array i så fall.

<% 
dim filesys, text, readfile, contents, arrRows, counter
counter=0
set filesys = CreateObject("Scripting.FileSystemObject")
set readfile = filesys.OpenTextFile("c:\somefile2.txt", 1, false)
while not readfile.atendofstream
counter=counter+1
redim preserve arrRows(counter+1)
arrRows(counter) = readfile.ReadLine
wend
readfile.close
%>

om det här nu funkar som jag har tänkt så har du en array med lika många platser som du har rader i textfilen, typ.

vad är det du försöker göra? varför blandar du in recordsets i detta?

Medlem sedan jan. 20013 341 inlägg
#8

Jag ska ha in information i ett formulär från en textfil. Jag använde recordset bara för att visa vad jag behövde :)

Jag tror du glömde contents i koden, hur ska jag splitta upp det?

Medlem sedan juni 200032 967 inlägg
#9

contents är ju bara en exempelvariabel, jag har lagt rätt in i arrayen istället.

arrRows(1)innehåller första raden i filen, arrRows(2) den andra, osv. arrRows(0) är tom.

(om det funkar som jag tänkt mig, det är bara rätt ur skallen)

mvh,

Medlem sedan jan. 20013 341 inlägg
#10

Inkompatibla typer

/text.asp, rad 15

redim preserve arrRows(counter+1)
:(

Medlem sedan juni 200032 967 inlägg
#11

släng in en redim arrRows(1) raden efter dim, och prova.

Medlem sedan jan. 20013 341 inlägg
#12

nu funkade det :)
Tack

Medlem sedan juni 200032 967 inlägg
#13

gött! :)

259 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)