Avatar billede crashandburn Nybegynder
22. juni 2001 - 10:20 Der er 7 kommentarer og
1 løsning

skriv til fil

hvordan retter jeg så den tilføjer linjen i toppen i stedet for at den tilføjer i bunden som den gør nu (har ikke forfærdelig meget tjek på asp)

<%
filePath = Server.MapPath( \"sjuft.txt\" )
IF NOT Request.Form( \"NextLine\" )= \"\" THEN
Set MyFileObject = Server.CreateObject( \"Scripting.FileSystemObject\" )
Set MyTextFile = MyFileObject.OpenTextFile( filePath, 8, TRUE )
MyTextFile.WriteLine( Request.Form( \"NextLine\" ) )
MyTextFile.Close
END IF
%>
<HTML>
<HEAD><TITLE>test</TITLE>
<LINK REL=\"stylesheet\" TYPE=\"text/css\" HREF=\"test.css\">
</HEAD>

<BODY>
<body bgcolor=\"ffffff\" text=\"000000\">
<p align=\"center\"><font color=\"#C0C0C0\">test</font></p>
<br><br>
<p><b><font color=\"#C0C0C0\" face=\"Impact\">Tilføj Status</font></b></p>
<FORM METHOD=\"POST\" ACTION=\"default.asp\">
<INPUT NAME=\"NextLine\" TYPE=\"TEXT\" class=textbox SIZE=70 maxlength=\"200\">
<INPUT TYPE=\"SUBMIT\" class=button VALUE=\"Indsæt\">
</FORM>
<br><br>
<div align=\"center\">
  <center>
  <table border=\"3\" cellpadding=\"2\" bordercolor=\"#808080\" bgcolor=\"#C0C0C0\">
    <tr>
      <td width=\"100%\" height=\"100%\">
<%
Set MyFileObject = Server.CreateObject( \"Scripting.FileSystemObject\" )
Set MyTextFile = MyFileObject.OpenTextFile( filePath )
WHILE NOT MyTextFile.AtEndOfStream
Response.Write( \"<br>\" & MyTextFile.ReadLine )
WEND
MyTextFile.Close
%></td>
    </tr>
  </table>
  </center>
</div>
<br><br>
</BODY>
</HTML>
Avatar billede tigerdyr Nybegynder
22. juni 2001 - 10:41 #1
Så vidt jeg husker er du nødt til først at indlæse hele din fil i en variabel... så skriver du din nye linie til filen med ForWriting (IKKE append) og til sidst skriver du så alle dine tidligere linier tilbage til filen med ForAppend.
Har tidligere løst det og set det løst ved at læse linierne i filen til et array (husk Redim Preserve er din ven her), åben filen ForWriting, skriv den linie du skal have i toppen af filen, åben filen ForAppend, skriv linierne fra dit array en af gangen...(hint Lbound og Ubound, giver dig dit arrays først og sidste id)
Avatar billede crashandburn Nybegynder
22. juni 2001 - 10:43 #2
doh 
alt det der er jeg for dum til *G*
Avatar billede crashandburn Nybegynder
22. juni 2001 - 10:44 #3
er der en der kan rette min source ?
Avatar billede respen Nybegynder
22. juni 2001 - 15:09 #4
Her er en omskrevet kode, der skulle løse dit problem:

<%
\'først læses filen og lukkes derefter skrives til filen med ny tekst (chr(10)=linieskift)

filePath = Server.MapPath( \"sjuft.txt\" )
IF NOT Request.Form( \"NextLine\" )= \"\" THEN
Set MyFileObject = Server.CreateObject(\"Scripting.FileSystemObject\")
Response.Write(filepath)
Set MyTextFileforreading = MyFileObject.OpenTextFile(filePath,1)
streng=MyTextFileforreading.readall
MyTextFileforreading.Close
set mytextfileforwrite = MyFileObject.OpenTextFile(filePath,2,true)
streng=\"ny linie\" + chr(10)+streng
mytextfileforwrite.Write(streng)
mytextfileforwrite.close
END IF%>
.
.
.
.
<%
\'skriver teksten i din html
IF NOT Request.Form( \"NextLine\" )= \"\" THEN
Response.Write(streng)
END IF%>

Der er flere forskellige modes som en tekstfil kan åbnes i (forreading(1), forwriting(2), forappending(3/8))

respen
Avatar billede respen Nybegynder
22. juni 2001 - 15:11 #5
Hvis du vil lave linieskift om til <br> skriv da:

streng = replace(streng,chr(10),\"<br>\")

respen
Avatar billede crashandburn Nybegynder
25. juni 2001 - 11:36 #6
DOH jeg kan ikke få det at virke - Respen - har du mulighed for at indsætte dit i den source jeg har pasted - så jeg bare kan cut´n´paste
Avatar billede respen Nybegynder
25. juni 2001 - 22:15 #7
Crashandburn>>


<%
\'først læses filen og lukkes derefter skrives til filen med ny tekst (chr(10)=linieskift)

filePath = Server.MapPath( \"sjuft.txt\" )
IF NOT Request.Form( \"NextLine\" )= \"\" THEN
Set MyFileObject = Server.CreateObject(\"Scripting.FileSystemObject\")
Response.Write(filepath)
Set MyTextFileforreading = MyFileObject.OpenTextFile(filePath,1)
streng=MyTextFileforreading.readall
MyTextFileforreading.Close
set mytextfileforwrite = MyFileObject.OpenTextFile(filePath,2,true)
streng= Request.Form(\"NextLine\")+ chr(10)+streng
mytextfileforwrite.Write(streng)
mytextfileforwrite.close
END IF%>
<HTML>
<HEAD><TITLE>test</TITLE>
<LINK REL=\"stylesheet\" TYPE=\"text/css\" HREF=\"test.css\">
</HEAD>

<BODY>
<body bgcolor=\"ffffff\" text=\"000000\">
<p align=\"center\"><font color=\"#C0C0C0\">test</font></p>
<br><br>
<p><b><font color=\"#C0C0C0\" face=\"Impact\">Tilføj Status</font></b></p>
<FORM METHOD=\"POST\" ACTION=\"default.asp\">
<INPUT NAME=\"NextLine\" TYPE=\"TEXT\" class=textbox SIZE=70 maxlength=\"200\">
<INPUT TYPE=\"SUBMIT\" class=button VALUE=\"Indsæt\">
</FORM>
<br><br>
<div align=\"center\">
  <center>
  <table border=\"3\" cellpadding=\"2\" bordercolor=\"#808080\" bgcolor=\"#C0C0C0\">
    <tr>
      <td width=\"100%\" height=\"100%\">
<%
\'skriver teksten i din html
IF NOT Request.Form( \"NextLine\" )= \"\" THEN
Response.Write(replace(streng,chr(10),\"<br>\"))
END IF%>
</td>
    </tr>
  </table>
  </center>
</div>
<br><br>
</BODY>
</HTML>

Du skal desuden huske at give skrive rettigheder på filen sjuft.txt, til iusr_<maskinnavn>
Avatar billede crashandburn Nybegynder
26. juni 2001 - 09:53 #8
Øh det virker altså ikke korrekt ... den skriver teksten som det sidste i tekstfilen ( det var det jeg ville have den skulle skrive som det første i txt-filen ) og den viser ikke txt-filen i tabellen

(har skrive rettigheder til filen - det virkede jo osse før på samme måde - jeg ville jo bare have at den tilføjede linjen som det første i txt-filen istedet for som den sidste)
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