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.
Det kan man ikke direkte du må åbne en ny fil og så skrive de linie du har behov for til den nye fil og så omdøb den nye temp til det gamle fil navn..:
set fs=Server.CreateObject("Scripting.FileSystemObject") set ftemp=fs.CreateTextFile("c:\temp.txt",true) Set f=fs.OpenTextFile("c:\rigtigfil.txt" 1)
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.AtEndOfStrean = false then ftemp.writeline (tempLine) end if loop 'Luk filerne f.Close ftemp.Close 'Slet den gamle fil: f.Delete 'Omdøb temp filen til det rigtige filnavn ftemp.Move("c:\rigtigfil.txt") Set f = nothing Set ftemp = nothing
Jeps det er pga. FSO ikke understytter eks.vis DeleteLine, så man må flytte dem fra en fil til en anden.
Man kan også åbne filen læse linie for linie minus den sidste ind i memory, lukke filen, åbne filen for write og så overskrive dem med det som ligge i memory....
set fs=Server.CreateObject("Scripting.FileSystemObject") set ftemp=fs.CreateTextFile("c:\inetpub\wwwroot\eksperten\temp.txt",true) Set f=fs.OpenTextFile("c:\inetpub\wwwroot\eksperten\rigtigfil.txt", 1)
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 ftemp.writeline (tempLine) end if loop 'Luk filerne f.Close ftemp.Close 'Slet den gamle fil: set f=fs.GetFile("c:\inetpub\wwwroot\eksperten\rigtigfil.txt") f.Delete 'Omdøb temp filen til det rigtige filnavn set f=fs.GetFile("c:\inetpub\wwwroot\eksperten\temp.txt") f.Move("c:\inetpub\wwwroot\eksperten\rigtigfil.txt") Set f = nothing Set ftemp = nothing
Hehe oasen.. det svare nu mere til at man skrive 25 linier og så vil man slette den sidste så river man siden af papir bloken og skrive de 24 første linier igen.
Denne kode læser alle linier minus den sidste og gemmer dem i et array og skriver dem så tilbage til filen efter den har være lukket og åbnet igen:
Dim file_arr() set fs=Server.CreateObject("Scripting.FileSystemObject") Set f=fs.OpenTextFile("c:\rigtigfil.txt", 1)
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 redim preserve file_arr(f.line) file_arr(f.line-1) = tempLine end if loop 'Luk filen f.Close 'Åben filen for skrivning Set f=fs.OpenTextFile("c:\rigtigfil.txt", 2) for i = lbound(file_arr)+1 to ubound(file_arr)-1 'Udskriv linie for linie til filen f.writeLine file_Arr(i) next 'Luk filen f.Close Set f = nothing
Funderede bare over, hvor de 25 linier bliver af, når du siger, man ikke kan slette dem på andre måder end at slette selve filen!? Så bliver de vel overskrevet med de 24 linier, men der må da stadig være en linie, der ikke er slettet.........
Det er den måde som fil systemet er bygget op på.. Når man åbner fra write overskriver man hele filens indhold. Hvis man åbner for Append så kan man skrive ekstra linier til i slutningen af filen.
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.