webForumDet fria alternativet

söka i textfil

ASP

17 svar · 352 visningar · startad av aleborg

Medlem sedan jan. 20013 341 inlägg
Frågan#1

Jag har en textfil med några hundra rader, varje rad ser ut så här:

text|--|00000014

med "text" och "00000014" olika på varje rad. Jag vill söka igenom textfilen och hitta den "text" som matchar min sökning och sedan skriva ut "00000014" delen, hur gör jag?
(hata textfiler;) )

[Redigerat av aleborg den 20 apr 2001]

Medlem sedan juni 200032 967 inlägg
#2

nånting sånt här borde vara funkis?

Set fso = server.createobject("scripting.filesystemobject")
Set filen = fso.OpenTextFile("c:\blah\blah.txt", 1)
while not filen.atendofstream
if instr(filen.readline, strSok) >0 then
arrContents = split(filen.readline,"|")
konstigasiffror = arrContents(2)
response.write "de konstiga siffrorna är " & konstigasiffror
filen.close
fso.close
set fso=nothing

har man såna där textfiler så måste man berätta för sina vänner på wf varför man inte använder en databas! :)

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

Medlem sedan jan. 20013 341 inlägg
#3

"Expected 'Wend'"

fick jag :(

Jag är tvungen att hämta info från en ett cgi-scripts databas(när ska dom lära sig att använda databaser?)

Medlem sedan juni 200032 967 inlägg
#4

cheez, my bad.
skrev otestat...

så här:

Set fso = server.createobject("scripting.filesystemobject")
Set filen = fso.OpenTextFile("c:\blah\blah.txt", 1)
while not filen.atendofstream
if instr(filen.readline, strSok) >0 then
arrContents = split(filen.readline,"&#0124;")
konstigasiffror = arrContents(2)
response.write "de konstiga siffrorna är " & konstigasiffror
end if
[b]wend[/b]
filen.close
fso.close
set fso=nothing

hmm, hade dessutom glömt ett end if. får väl skylla på den tidiga timman... ;)

funkar det nu :q

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

Medlem sedan jan. 20013 341 inlägg
#5

Lyckades faktiskt klura ut det helt själv *stolt*
men däremot så tyckte den inte om
fso.close
Object doesn't support this property or method: 'fso.close'
så jag tog bort det, då funkade det
MEN den läser siffrorna från raden under??????????

Medlem sedan juni 200032 967 inlägg
#6

ok, hur ser ditt kodavsnitt ut nu?

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

Medlem sedan jan. 20013 341 inlägg
#7
<%
Set fso = server.createobject("scripting.filesystemobject")
Set filen = fso.OpenTextFile("E:\www\list.cgi", 1)
while not filen.atendofstream
if instr(filen.readline, Session("Username")) >0 then
arrContents = split(filen.readline,"&#0124;")
konstigasiffror = arrContents(2)
response.write "de konstiga siffrorna är " & konstigasiffror
End if
wend
filen.close
fso.close
set fso=nothing
%>
Medlem sedan mars 20007 896 inlägg
#8

Ta bara bort den raden... För ett FileSystemObject kan inte stängas, då det aldrig har öppnats (det kan inte öppnas).

Däremot ska filen.Close läggas till, då det objektet är av typen TextStreamObject :)

------------------
SPiN, bjorne.w@telia.com

-- §e Grr... --

[Redigerat av SPiN den 20 apr 2001]

Medlem sedan juni 200032 967 inlägg
#9

sorry, my bad, igen :r

måste lägga readline in i en variabel, annars läser den ju en rad till....

så här:

%
Set fso = server.createobject("scripting.filesystemobject")
Set filen = fso.OpenTextFile("E:\www\list.cgi", 1)
while not filen.atendofstream
raden=filen.readline
if instr(raden, Session("Username")) >0 then
arrContents = split(raden,"&#0124;")
konstigasiffror = arrContents(2)
response.write "de konstiga siffrorna är " & konstigasiffror
End if
wend
filen.close
set fso=nothing
%>

sorry igen!

red: spin: tack för upplysningen och tillrättavisningen! :)

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

[Redigerat av @nders den 20 apr 2001]

Medlem sedan mars 20007 896 inlägg
#10

Alltid kul att rätta en expert :e ;)

+ Du kanske ska ändra i din sista kod, så att aleborg inte gör samma fel igen :)

------------------
SPiN, bjorne.w@telia.com

-- §e Grr... --

[Redigerat av SPiN den 20 apr 2001]

Medlem sedan juni 200032 967 inlägg
#11

tycker du det? jaja, jag gör väl det! :e

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

Medlem sedan jan. 20013 341 inlägg
#12

tack, allt funkar nu :)

Medlem sedan jan. 20013 341 inlägg
#13

inte....

om texten på en rad är

hej&#0124;--&#0124;00000014

och en annan rad

hej-b&#0124;--&#0124;00000028

så får jag fram "00000028" när jag ber om siffrorna till "hej"

Medlem sedan dec. 200012 464 inlägg
#14

Nu får du nog förklara lite mer. Vad menar du med: ber om siffrorna för hej?

------------------
essentitia preter non sans multiplicandum

Medlem sedan jan. 20013 341 inlägg
#15

koden tidigare i inlägget hämtar siffrorna i efter |--|
när man söker efter det som står innan |--|
men det finns två rader som är liknande så blir det problem

Medlem sedan juni 200032 967 inlägg
#16

då får du lägga till en pajp i din if-sats:

if instr(raden, Session("Username") & "&#0124;") >0 then

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

Medlem sedan dec. 200012 464 inlägg
#17

Det där är väl inte helt vattentätt heller. Om någon heter tjohej och någon annan hej så blir det väl fle där också.

if mid(raden,1,instr(raden,"&#0124;")-1) = Session("Username") then

------------------
essentitia preter non sans multiplicandum

Medlem sedan jan. 20013 341 inlägg
#18

tack nu funka det :)

278 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)
133 ms — ändringar (db)