Ett tipps. Pearl är väldigt bra för hantering av text filer. Kan vara värt att titta på om du vill ha en optimal lösning.
------------------
1 Man, 1 Million dead, The odds are just about even - Ash
18 svar · 382 visningar · startad av Skywalker
Är det nån som har ett enkelt exempel på hur man använder en tabbseparerad textfil istället för en databas?
Jag är ute efter att på en sida kunna söka i textfilen och på en andra sida kunna se resultatet..
-Enkelt med en Accessbas, men hur gör man med en textfil??
Ett tipps. Pearl är väldigt bra för hantering av text filer. Kan vara värt att titta på om du vill ha en optimal lösning.
------------------
1 Man, 1 Million dead, The odds are just about even - Ash
erka: Det går inte med perl i mitt fall. Endast ASP.
du kan faktiskt koppla textfiler med odbc, så det kan vara ett alternativ.
annars kan du ju använda filesystemobject och lite strängfunktioner (instr() till exempel) för att få ut det du vill ha.
mvh,
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
[Redigerat av @nders den 19 jun 2001]
@nders: ...vilket i praktiken innebär :q ;)
ingen?
Du kan läsa mer om hur man öppnar textfilen här: http://www.devguru.com/Technologies/vbscript/quickref/filesystemobject_opentextfile.html
Och för att hitta en tabb i den så letar du efter vbtab
------------------
Vide rox = new Vide();
rox.learn("C#");
webeye.nu
birp, förlåt att jag bara sitter och håller tyst.
jag märkte helt enkelt inte att du hade svarat. hur går det? har du löst alltihop mha länk aus videmannen?
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
Jag har inte löst det...
Jag kommer heller inte att klara det utan ett enkelt litet kodexempel är jag rädd :(
nåt sånt härnt kanske? ;)
set objFSO = Server.CreateObject ("Scripting.FileSystemObject")
set objTFile = objFSO.OpenTextFile(Server.MapPath("filen.txt"))
while not objTFile.atendofstream
strFileLine = objTFile.readline
varFileInfo = split (strFileLine, vbTab)
'säg att jag ska söka igenom den tredje kolumnen i filen
if instr(varFileInfo(2), Request.Form("search")) > 0 then
' jippi här hittade vi någe skoj!
end if
wend
set objTFile = Nothing
set objFSO = Nothing
mvh,
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
Du får låna min get.. :)
Jag ska kolla i morron på jobbet där min 10.7MB tunga textfil med 26 kolumner ligger ;)
Tack så länge @nders!!
Fattar som vanligt inte... :(
Allt... Jag är puckad!
ok, två sidor, en med sökformuläret på och en som sköter sökningen.
1:
' - - - söksidan - - -
<form action="searchresults.asp" method="post">
<input type="text" name="search">
<input type="submit" value="sök">
</form>
2:
' - - - resultatsidan - searchresults.asp - - -
<%
set objFSO = Server.CreateObject ("Scripting.FileSystemObject")
set objTFile = objFSO.OpenTextFile(Server.MapPath("filen.txt"))
while not objTFile.atendofstream
strFileLine = objTFile.readline
varFileInfo = split (strFileLine, vbTab)
'säg att jag ska söka igenom den tredje kolumnen i filen
if instr(varFileInfo(2), Request.Form("search")) > 0 then
' jippi här hittade vi någe skoj!
response.write "kol1: " & varFileInfo (0) & ", kol2: " & varFileInfo (1) & ", kol3: " & varFileInfo(2) & "<br>"
end if
wend
set objTFile = Nothing
set objFSO = Nothing
%>
svårt att lära gamla hundar vb-script, kanske? ;)
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
och förresten, filen.txt byter du givetvis ut till namnet på den fil du vill söka igenom.
mvh,
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
Nja... Det funkar ändå inte.
Felmeddelande:
Körningsfel i Microsoft VBScript (0x800A0009)
Felaktigt matrisindex: '[number: 2]'
/intranet/searchresults.asp, line 10
Kan det va fel på min textfil måntro?
Så här är den uppbygd:
4 95120 951207014 7014 32227014 I802B 2 2 3222 350 1 U U95120 81 18964 1,5 5V 970603 AG 1 0 0
5 95120 951207013 7013 32227013 I802B 3 2 3222 350 1 U U95120 81 18964 1,5 5V 807 t 1 0 0
8 95120 951207105 7105 32227105 G902F 6 2 3222 0 1 K K95120 81 CC 2DR RÍD 1 0 0
9 95120 951207105 7105 32227105 G902F 7 2 3222 0 1 K K95120 81 CC 2DR RÍD 1 0 0
10 95120 951207021 7021 32227021 20 8 DAMASK SK 2 3222 500 1 M M95120 81 18964 1,5 5V 980430 AG 1 0 0
11 95120 951207022 7022 32227022 20 9 DAMASK SK 2 3222 0 1 M M95120 81 18964 1,5 5V 1 0 0
17 95120 951207040 7040 32227040 465H 15 2 3222 700 1 M M95120 81 18964 1,5 5V 970831 T 1 0 0
20 95120 951201015 1015 32221015 H39 17 2 3222 0 1 K K95120 81 CC 2DR RÍD 1 0 0
21 95120 951208010 8010 32228010 J1203 18 2 3222 0 1 M M95120 81 18964 1,5 5V 1 0 0
26 95120 951201003 1003 32221003 I200 22 HÍ FR 2 3222 0 1 K K95120 81 CC 2DR RÍD 1 0 0
28 95120 951201002 1002 32221002 H200 24 LITE SK 2 3222 250 1 K K95120 81 CC 2DR RÍD 970910 T 1 0 0
Ursäkta att jag sabbar tråden nu ;)
[Redigerat av Skywalker den 20 jun 2001]
Koden fungerar perfekt.
<%
set objFSO = Server.CreateObject ("Scripting.FileSystemObject")
set objTFile = objFSO.OpenTextFile(Server.MapPath("filen.txt"))
while not objTFile.atendofstream
strFileLine = objTFile.readline
varFileInfo = split (strFileLine, vbTab)
if instr(varFileInfo(2), "951207014") > 0 then
response.write "kol1: " & varFileInfo (0) & ", kol2: " & varFileInfo (1) & ", kol3: " & varFileInfo(2) & "<br>"
end if
wend
set objTFile = Nothing
set objFSO = Nothing
%>
Tänk på att split (strFileLine, vbTab) splittar för tabb. Alltså, måste det vara tabbulerat mellan varje kolumn. Det skall inte vara mellanslag.
Provkör gärna:
Textfilen: http://194.236.61.46/test/bire/filen.txt
Koden: http://194.236.61.46/test/bire/filen1.asp
------------------
Mvh
Patrik aka Brimba
<A HREF="http://www.brimba.nu/default.asp?oPID=poll&PollID=19" TARGET=_blank>Skulle du äta på restaurang, om det var rökförbud?
</A>Varför blir mina isbitar inte lika klara som i reklamen?
[Redigerat av Brimba den 20 jun 2001]
Nu är det nära.. Mailar hem filerna o fortsätter i lugn o ro!
Återkommer med största sannolikhet i ärendet ;) Haha..