Jag vill helst inte blanda in en databas i detta eftersom det är en väldigt simpel gästbok. Skulle dock va trevligare om man kunde få så att den som skrev in sig senast hamnade överst på listan.
Det finns alltså inget enkelt sett att läsa från slutet av en textfil?
Kan man överhuvudtaget skriva till en textfil högst upp?
Vad jag menade med ett recordset var ett Disconnected Recordset, D.V.S ingen databas... bara en "virituel" databas som bara ligger i minnet på servern...
En annan idé är ju att först hämta allt ifrån filen, lägga till det "nya" i samma variabel, och sedan lägga tilbaks allt igen... det tycker jag låter enklast...
Men jag tror att det jag skrev förut om en omvänd loop skulle inte vara allt för svårt...
Set fso = CreateObject("Scripting.FileSystemObject")
Set fil = fso.Createtextfile("c:\test.txt", true)
S = fil.ReadAll
S = ditt_nya_innehåll & vbcrlf & S
Fil.write (S)
Detta är inte testat eller nått sånt, så jag vet inte alls om det stämmer... men det är väl en fingervisning på hur du kan göra...
Jag har försökt och försökt få de nya nyheterna att hamna överst. Men det vill sig inte riktigt. Är det någon som skulle kunna ge mig ett förslag på en lösning med utgångspunkt från min nuvarande kod som sparar meddelandena underst.
Försökt göra som ovan, men det är något som inte stämmer. Vore därför enormt tacksam om någon ville förbarma sig och hjälpa mig med hur jag ska ändra i min kod.
Stort tack på förhand
Set MittTxtObj = Server.CreateObject ("Scripting.FileSystemObject")
Set MinFil = MittTxtObj.OpenTextFile(fil,8,true)
MinFil.WriteLine "<br><br>"
MinFil.WriteLine "<span class =brodtext>"
MinFil.WriteLine date
MinFil.WriteLine "</span>"
MinFil.WriteLine "<br>"
MinFil.WriteLine "<span class =fetbrod>"
MinFil.WriteLine rubrik
MinFil.WriteLine "</span>"
MinFil.WriteLine "<span class =brodtext>"
MinFil.WriteLine "<br>"
MinFil.WriteLine nyhet
MinFil.WriteLine "</span>"
MinFil.close
Jag såg en chat en gång som löste problemet genom att helt enkelt läsa in filen i en variabel. Skriva den nya texten och sedan skriva den gamla texten från variabeln. Typ så här.
Dim temp
Set Blaha = OpenTextFile(..., 2)
Temp = Blaha.ReadAll
Blaha.Write NyText
Blaha.Write Temp
Blaha.Close
Det är i princip det enklaste så har du lagt till en rad överst i filen. Däremot så har jag hört att det tar mer resurser med ReadAll än det tar genom att loopa igenom texten till tex. EOF(End Of File).
2:an tror jag står för write dvs. att filen börjar från början och skriver över.
[Redigerat av Janspeed den 16 jan 2001]
272 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e