17. juli 2002 - 20:59Der er
8 kommentarer og 2 løsninger
Slette og indsætte linje igen...
Hey!
Mine tidligere oplysninger viser at man ikke kan slette sidste linje og indsætte data igen og lave sidste linje igen uden "mellem oprettelse".
Hvis vi siger der 20 linjer skal jeg altså kun indlæse de 19 og overføre til en ny fil og indsætte noget tekst og så slette den gamle fil og omdøbbe den "Mellem oprettede" til den der skal bruges.
Lidt videre indviklet, men spørg så kan jeg måske komme med en bedre forklaring ;o)
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeps det er rigtigt man kan ikke med FileSystemObject slette en linie direkte i en fil, man er nød til at enten læse den i memory eller skrive en temp fil så man kan lave en ny rigtig fil..
det er jo en xml-fil. Den er bedst at redigere med xmlDOM!!
Ellers skal du lave et loop der løber linierne i filen igennem, og finder den sidste, fx:
(fso = filsystemobject) set fil = fso.opentextfile([filnavn], 2) strNewFil = "" do while not fil.AtEndOfStream strLine = fil.readline if strLine = "</teks>" then strNewFil = strNewFil & "<art><artname>asdasdd</artname></art>" end if strNewFil = strNewFil & strLine loop
coolcoder> Den kode virker får mig at se meget korrekt, og jeg vil snart teste om den virker. Jeg ved godt man kan benytte en XML plug-in til serveren men da en XML eller TXT fil er opsat på samme måde, betyder det jo ikke det helt store...
Her koden som kan gøre det, den er ligeglad med hvad sidste linie er og derfor vil den fjerne den sidte linie ligemeget hvad der står på den:
set fs=Server.CreateObject("Scripting.FileSystemObject") Set f=fs.OpenTextFile("c:\inetpub\wwwroot\eksperten\rigtigfil.txt", 1)
fileString = "" do while f.AtEndOfStream = false tempLine = f.ReadLine 'Når det så er sidste linie du vil slette kan du gøre sådan her 'ved at tjekke om f.AtEndOfStrean = false, hvis den er true ' har vi læst sidste linie og den skal ikke skrives til ftemp if f.AtEndOfStream = false then fileString = fileString & tempLine & vbCrLf end if loop 'Luk filen f.Close 'Åben filen for skrivning Set f=fs.OpenTextFile("c:\inetpub\wwwroot\eksperten\rigtigfil.txt", 2) 'Udskriv linie for linie til filen f.write fileString 'Luk filen f.Close Set f = nothing
det betyder at du arbejder helt anderledes med filen. Men jeg har ikke lige tid til at skrive noget kode til dig nu. Kan ikke huske det udenad - men du kan bruge noget ala:
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.