Avatar billede brianv Nybegynder
13. maj 2003 - 18:53 Der er 5 kommentarer og
1 løsning

Læs fra en linie til en anden

Hejsa eksperten folk!

Jeg skal bruge lidt hjælp til at lave 2 små funktioner…

Den ene skal kunne:

Åben en fil (c:\fil.log)
I filen står der meget tekst, og funktion skal finde og udskrive fra en linie der starter med <-LOG-> og til en anden linie der starter med <!LOG!>.

Den anden funktion skal kunne:

Åben en fil (c:\fil.log)
Gemme noget tekst i filen uden indholdet i filen bliver slettet.
Teksten skal ind mellem <-LOG-> og <!LOG!>.

Håber det kan forstås…

Der er mange points at tjene her, så se at komme i gang! :)

//out
Avatar billede eagleeye Praktikant
13. maj 2003 - 18:59 #1
Hvordan står det?

balbaf
<-LOG->
udskriv dettte
<!LOG!>
blalbla

eller:
balbaf<-LOG->udskriv dettte<!LOG!>blalbla
Avatar billede eagleeye Praktikant
13. maj 2003 - 19:09 #2
Hvis det ser ud som :

balbaf
<-LOG->
udskriv dettte
<!LOG!>
blalbla

Så er her din føste function.:

function udskrivfraFil ()
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set file = fso.OpenTextFile("c:\fil.log")
 
  udskriv = false
  do while not file.AtEndOfStream
    lineStr = file.ReadLine
   
    if udskriv = true then Response.Write lineStr & "<br>"
   
    if inStr(1,lineStr, "<-LOG->") then udskriv = true
    if inStr(1,lineStr, "<!LOG!>") then udskriv = false
  loop
end function
Avatar billede eagleeye Praktikant
13. maj 2003 - 19:10 #3
"Teksten skal ind mellem <-LOG-> og <!LOG!>."

Skal der laves nogle nye <-LOG-> og <!LOG!> når du skriver noget nyt eller skal det ind lige føre <!LOG!> ?
Avatar billede eagleeye Praktikant
13. maj 2003 - 19:25 #4
Her er så den som gemmer i filen. Da man skal skrive midt i filen er det nødvendigt at lave en temp fil da man ikke direkte kan skrive midt i filen men kun i enden af filen.:

Den skriver linjen ind i linjen lige inden <!LOG!>:



function skrivtilFil (str)
  Set fso = CreateObject("Scripting.FileSystemObject")
  fso.CopyFile "c:\fil.log", "c:\temp.log"

  Set file = fso.OpenTextFile("c:\fil.log",2)
  Set temp = fso.OpenTextFile("c:\temp.log")
 
  skrevet = false
  do while not temp.AtEndOfStream
    lineStr = temp.ReadLine
    if inStr(1,lineStr, "<!LOG!>")>0 AND skrevet = false then
      file.writeLine str
      skrevet = true
    end if
    file.writeLine lineStr
  loop
  file.Close
  temp.Close
  Set fso = Nothing
  Set file = Nothing
end function
Avatar billede eagleeye Praktikant
13. maj 2003 - 19:26 #5
Du kan kalde dem sådan her:

Call udskrivfraFil

Response.Write "<br>"

Call skrivtilFil("NY LINJE")

Call udskrivfraFil
Avatar billede brianv Nybegynder
13. maj 2003 - 19:50 #6
jamen, det er jo bare kanon og flot.... :D
200 til dig....
thx...
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