webForumDet fria alternativet

Läsa vissa delar ur textfilen.

ASP

8 svar · 250 visningar · startad av nedde

Medlem sedan nov. 2003187 inlägg
Frågan#1

Har lite kunskapsproblem :)

Har en textfil jag läser ifrån och den ser ut så här:

[user1]
Login=hej
Pass=hej
RelativePath=1
TimeOut=600

[user2]
Login=tjo
Pass=tjo
RelativePath=1
TimeOut=600

Koden jag använder för att läsa filen ser ut så här:

<%
Set FS = Server.CreateObject("Scripting.FileSystemObject")
Set RS = FS.OpenTextFile("C:\Program Files\BPFTP Server\users.ini",1)
While not rs.AtEndOfStream
      Response.Write RS.ReadLine
      Response.Write("<br />")
Wend 
%>

Det är ju dock ASP och inte PHP kod ;)

Det jag vill är att den bara ska skriva ut:

[user1]
Login=hej
Pass=hej

och sen hoppa vidare till nästa användare och skriva ut
samma information om honom.

Någon som kan hjälpa mig med problemet?

Medlem sedan jan. 20032 285 inlägg
#2

Kanske såhär?

<%
Set FS = Server.CreateObject("Scripting.FileSystemObject")
Set RS = FS.OpenTextFile("C:Program FilesBPFTP Serverusers.ini",1)

While not rs.AtEndOfStream
  If Left(RS.ReadLine, 1) = "[" OR Left(RS.ReadLine, 4) = "Pass" OR Left(RS.ReadLine, 5) = "Login" Then
    Response.Write(RS.ReadLine)
    Response.Write("<br />")
  End if
Wend 
%>
Medlem sedan nov. 2003187 inlägg
#3

funkade inte alls bra. får bara ut massa annan text.

saken är att jag vill lista alla ftp användare i bulletproof ftp server filen. har ett exemepel här om du orkar titta närmare:

http://nedde.com/nedde/ftp/users.ini

Det jag vill är som sagt att dom tre första raderna skrivs ut
för varje användare.. alltså:

[user1]
Login=login1
Pass=pass1

osv... till nästa användare

Medlem sedan jan. 20032 285 inlägg
#4

Såhär då? :)

<%
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objTS = objFSO.OpenTextFile("C:Program FilesBPFTP Serverusers.ini", 1)
arrText = Split(objTS.ReadAll, vbCrLf & vbCrLf)

For i = 0 To UBound(arrText)
  arrTemp = Split(arrText(i), vbCrLf)

  For j = 0 To 2
    Response.Write(arrTemp(j) & "<br />" & vbCrLf)
  Next

  Response.Write("<br />" & vbCrLf)
Next

objTS.Close : Set objTS = Nothing
Set objFSO = Nothing
%>
Medlem sedan dec. 200012 464 inlägg
#5
line = rs.readline
While not rs.AtEndOfStream
   If Left(line, 1) = "[" OR Left(line, 4) = "Pass" OR Left(Line, 5) = "Login" Then
    Response.Write line
    Response.Write "<br />" 
  End if
  line = rs.readline
Wend
Medlem sedan nov. 2003187 inlägg
#6

Funkade perfekt! Tack så hemskt mycket.

Medlem sedan nov. 2003187 inlägg
#7

Sebbe.. heh.. funkade bra när jag hade två användare..
men när jag läste in den större filen. (orginalet) så kommer detta
felmeddelande:

Error Type:
Microsoft VBScript runtime (0x800A0009)
Subscript out of range: 'j'

Medlem sedan jan. 20032 285 inlägg
#8

Det verkar väldigt konstigt! Är det uppbyggt på samma sätt i orginalet så kan jag inte förstå vad som skulle bli fel.

Medlem sedan nov. 2003187 inlägg
#9

Ser precis ut på samma vis bara att det finns 120 användare i den filen istället för 2 :) nåja. .får klura på det. tack för all hjälp iaf.

256 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
116 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)