eli mulla on tän näkönen koodi jolla kirjotan tiedostoon:
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(tiedosto.txt, 8, True)
objFile.Write "tekstiä"
objFile.WriteLine ""
objFile.Close
Eli tuossa on vain se ongelma että kun seuraavan kerran kirjoittaa tiedostoon niin se tulee seuraavalle riville. Mutta haluaisin että seuraava teksti mikä kirjoitetaan, tulisi ylemmälle riville kuin se aikaisempi. Eli vanhempi teksti siirtyisi yhden rivin alemmas ja uusi teksti tulisi ylimmälle riville. Mitenkäs tällainen oikein onnistuu?
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(tiedosto.txt, 8, True)
objFile.Write "tekstiä"
objFile.WriteLine ""
objFile.Close
Eli tuossa on vain se ongelma että kun seuraavan kerran kirjoittaa tiedostoon niin se tulee seuraavalle riville. Mutta haluaisin että seuraava teksti mikä kirjoitetaan, tulisi ylemmälle riville kuin se aikaisempi. Eli vanhempi teksti siirtyisi yhden rivin alemmas ja uusi teksti tulisi ylimmälle riville. Mitenkäs tällainen oikein onnistuu?
Vastaukset 2
Vanhimmat
Ei onnistu ilman aputiedostoa.
Eli:
1. Nimeä alkuperäinen toiselle nimelle (esim. FileSystemObject.GetTempName() )
2. Tee aputiedosto, jonka nimeksi laitat alkuperäisen tiedoston nimen
3. Kirjoita uusi rivi aputiedostoon
4. Kopioi alkuperäisen tiedoston sisältö aputiedoston perään.
5. Poista alkuperäinen
Kopiointi onnistuu esim. näin:
option explicit
const FSO_FOR_READING = 1
const FSO_FOR_WRITING = 2
const FSO_FOR_APPENDING = 8
dim fso
dim fin
dim fout
set fso = server.createobject("scripting.filesystemobject")
set fin = fso.opentextfile("vanha.txt", FSO_FOR_READING)
set fout = fso.opentextfile("uusi.txt", FSO_FOR_APPENDING)
fout.write fin.readall
fin.close
fout.close
set fso = nothing
Toinen vaihtoehto on käyttää komentorivityökaluja ja shell.run():ia, mutta se ajautuu saitin IWAM_tunnuksen oikeuksilla, jotka eivät välttämättä riitä tiedostojen käsittelyyn.
Eli siis asp:ssä ei ole sellaista write systeemiä joka palauttais kursorin aina tekstitiedoston alkuun kirjoittamisen jälkeen? PHP:ssä tällainen muistaakseni oli, mutta piti tyytä asp:iin kun ei tueta php:tä :/