Avatar billede henrik_veb Nybegynder
12. december 2006 - 17:25 Der er 6 kommentarer og
1 løsning

Vise indhold af asp-fil som tekst-fil

Jeg er lige begyndt med grundlæggende ASP i skolen, og sidder og roder med et script hvor jeg skal have vist koderne fra en asp-fil i en tekst-fil. Jeg har indtil videre fået det lavet sådan at jeg får vist alt koden, men det kommer ud i en smøre. Jeg vil gerne have sat linjeskift ind, så outputtet bliver mere overskueligt. Jeg skal vel på en eller anden have fortalt at den skal tage hensyn til linjeskift.

Min kode ser lige nu sådan ud:

<%
const filnavn= "viskode.txt"
write_file
read_file
'delete_file

sub delete_file
    dim fs
    Set fs=Server.CreateObject("Scripting.FileSystemObject")
    if fs.FileExists("d:\webdoc\viskode.txt") then
        fs.DeleteFile("d:\webdoc\viskode.txt")
    end if
    set fs=nothing
end sub

sub write_file()
    Dim fso, txtfile,fil
    fil= "d:\webdoc\viskode.txt"
    response.write "opretter en fil " & filnavn & "<br>"
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set txtfile = fso.CreateTextFile( fil, True)
    txtfile.Write ("Dette er en test. ")
    txtfile.write "<br>" & "<br>" & ("Filnavn: ") & filnavn & vbnewline
    txtfile.Close
end sub

Sub Read_File()
    dim fs,f
    'dim text As String
    Set fs=Server.CreateObject("Scripting.FileSystemObject")
    Set f=fs.OpenTextFile(Server.MapPath("konv.asp"), 1)
    response.write "læser fra filen " & Request.ServerVariables("APPL_PHYSICAL_PATH") & filnavn & "<br>"
    response.write "<h2>indholdet af filen </h2>" & s & "<hr />"
    text=f.ReadAll
    text= Replace(text,"<","&lt;")
    text= Replace(text,">","&gt;")
    response.write text
End Sub
%>

Min lærer snakkede noget om ASCII, er det noget man skal ind og bruge?

Håber der er nogen der kan hjælpe :-)
Avatar billede kalp Novice
12. december 2006 - 19:42 #1
Hvis det er dette her

sub write_file()
    Dim fso, txtfile,fil
    fil= "d:\webdoc\viskode.txt"
    response.write "opretter en fil " & filnavn & "<br>"
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set txtfile = fso.CreateTextFile( fil, True)
    txtfile.Write ("Dette er en test. ")
    txtfile.write "<br>" & "<br>" & ("Filnavn: ") & filnavn & vbnewline
    txtfile.Close
end sub

så prøv at erstatte dine <br> med \n

er ikke sikker på det også gælder ASP men du kan lige forsøge.. <br> er en html ny linje
Avatar billede kalp Novice
12. december 2006 - 19:49 #2
hvis ikke du kan sådan skal du nok indlæse en linje af gangen og bruge WriteLine
Avatar billede kalp Novice
12. december 2006 - 19:50 #3
sorry for spam... kig også her for mere info omkring den.
http://msconline.maconstate.edu/tutorials/ASP/ASP07/asp07-03.asp
Avatar billede henrik_veb Nybegynder
12. december 2006 - 20:26 #4
Det er i

Sub Read_File()
    dim fs,f
    'dim text As String
    Set fs=Server.CreateObject("Scripting.FileSystemObject")
    Set f=fs.OpenTextFile(Server.MapPath("konv.asp"), 1)
    response.write "læser fra filen " & Request.ServerVariables("APPL_PHYSICAL_PATH") & filnavn & "<br>"
    response.write "<h2>indholdet af filen </h2>" & s & "<hr />"
    text=f.ReadAll
    text= Replace(text,"<","&lt;")
    text= Replace(text,">","&gt;")
    response.write text
End Sub

Jeg bruger

text= Replace(text,"<","&lt;")
text= Replace(text,">","&gt;")

for at den ikke opfatter "<" og ">" som start/slut på kode, men i stedet viser dem som de er, og derfor ikke opfatter det der står imellem dem som kode, men som skrift.

"text" læser alt fra filen "konv.asp"

Jeg vil gerne have at der også er linjeskift i det output jeg får vist på skærmen.
Avatar billede kalp Novice
12. december 2006 - 20:47 #5
prøv at lave en replace på

Replace(text,"\n","vbCrLf")

eller

Replace(text,"<br />","vbCrLf")
Avatar billede henrik_veb Nybegynder
12. december 2006 - 21:29 #6
Yes, du ledte mig i hvert fald meget på sporet af det rigtige...

Jeg sad og læste om ASCII tegn, hvor CR og LF skulle have noget med ny linje og gøre, men jeg kunne ikke helt få det til at makke ret.

Hvis jeg skriver

Replace(text,vbCrLf,"<br>")

virker det :-)

Så skriv et svar og du får pointene. Tak.
Avatar billede kalp Novice
12. december 2006 - 23:00 #7
det får du her09
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester